@knight-lab/timelinejs 3.9.6 → 3.9.8

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 (2552) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/CONTRIBUTING.md +1 -1
  3. package/dist/css/fonts/font.abril-droidsans.css +27 -22
  4. package/dist/css/fonts/font.amatic-andika.css +15 -5
  5. package/dist/css/fonts/font.bevan-pontanosans.css +41 -4
  6. package/dist/css/fonts/font.bitter-raleway.css +234 -6
  7. package/dist/css/fonts/font.clicker-garamond.css +69 -4
  8. package/dist/css/fonts/font.dancing-ledger.css +22 -5
  9. package/dist/css/fonts/font.default.css +11 -7
  10. package/dist/css/fonts/font.fjalla-average.css +6 -4
  11. package/dist/css/fonts/font.lustria-lato.css +22 -5
  12. package/dist/css/fonts/font.medula-lato.css +24 -6
  13. package/dist/css/fonts/font.oldstandard.css +12 -3
  14. package/dist/css/fonts/font.opensans-gentiumbook.css +113 -15
  15. package/dist/css/fonts/font.playfair-faunaone.css +80 -12
  16. package/dist/css/fonts/font.playfair.css +85 -5
  17. package/dist/css/fonts/font.pt.css +11 -7
  18. package/dist/css/fonts/font.roboto-megrim.css +57 -5
  19. package/dist/css/fonts/font.rufina-sintony.css +10 -6
  20. package/dist/css/fonts/font.ubuntu.css +14 -4
  21. package/dist/css/fonts/font.unicaone-vollkorn.css +80 -7
  22. package/dist/css/timeline.css +10 -6
  23. package/dist/css/timeline.css.map +1 -1
  24. package/dist/embed/index.html +8 -1
  25. package/dist/js/timeline.js +1 -1
  26. package/dist/js/timeline.js.LICENSE.txt +1 -1
  27. package/dist/js/timeline.js.map +1 -1
  28. package/eleventy/node_modules/.package-lock.json +2197 -0
  29. package/eleventy/node_modules/@11ty/dependency-tree/LICENSE +21 -0
  30. package/eleventy/node_modules/@11ty/dependency-tree/README.md +94 -0
  31. package/eleventy/node_modules/@11ty/dependency-tree/main.js +132 -0
  32. package/eleventy/node_modules/@11ty/dependency-tree/package.json +39 -0
  33. package/eleventy/node_modules/@11ty/dependency-tree-esm/.github/workflows/ci.yml +22 -0
  34. package/eleventy/node_modules/@11ty/dependency-tree-esm/.github/workflows/release.yml +24 -0
  35. package/eleventy/node_modules/@11ty/dependency-tree-esm/LICENSE +21 -0
  36. package/eleventy/node_modules/@11ty/dependency-tree-esm/README.md +40 -0
  37. package/eleventy/node_modules/@11ty/dependency-tree-esm/main.js +98 -0
  38. package/eleventy/node_modules/@11ty/dependency-tree-esm/package.json +38 -0
  39. package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/circular-child.js +1 -0
  40. package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/circular-parent.js +1 -0
  41. package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/circular-self.js +2 -0
  42. package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/empty.js +0 -0
  43. package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/file.js +2 -0
  44. package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/import-attributes.js +3 -0
  45. package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/imported-secondary.js +3 -0
  46. package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/imported.js +3 -0
  47. package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/imported.json +3 -0
  48. package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/nested-grandchild.js +1 -0
  49. package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/nested.js +2 -0
  50. package/eleventy/node_modules/@11ty/dependency-tree-esm/test/test.js +35 -0
  51. package/eleventy/node_modules/@11ty/eleventy/CODE_OF_CONDUCT.md +48 -0
  52. package/eleventy/node_modules/@11ty/eleventy/LICENSE +21 -0
  53. package/eleventy/node_modules/@11ty/eleventy/README.md +47 -0
  54. package/eleventy/node_modules/@11ty/eleventy/SECURITY.md +9 -0
  55. package/eleventy/node_modules/@11ty/eleventy/cmd.cjs +165 -0
  56. package/eleventy/node_modules/@11ty/eleventy/package.json +155 -0
  57. package/eleventy/node_modules/@11ty/eleventy/src/Benchmark/Benchmark.js +55 -0
  58. package/eleventy/node_modules/@11ty/eleventy/src/Benchmark/BenchmarkGroup.js +135 -0
  59. package/eleventy/node_modules/@11ty/eleventy/src/Benchmark/BenchmarkManager.js +73 -0
  60. package/eleventy/node_modules/@11ty/eleventy/src/Data/ComputedData.js +121 -0
  61. package/eleventy/node_modules/@11ty/eleventy/src/Data/ComputedDataProxy.js +131 -0
  62. package/eleventy/node_modules/@11ty/eleventy/src/Data/ComputedDataQueue.js +64 -0
  63. package/eleventy/node_modules/@11ty/eleventy/src/Data/ComputedDataTemplateString.js +70 -0
  64. package/eleventy/node_modules/@11ty/eleventy/src/Data/TemplateData.js +737 -0
  65. package/eleventy/node_modules/@11ty/eleventy/src/Data/TemplateDataInitialGlobalData.js +40 -0
  66. package/eleventy/node_modules/@11ty/eleventy/src/Eleventy.js +1472 -0
  67. package/eleventy/node_modules/@11ty/eleventy/src/EleventyCommonJs.cjs +43 -0
  68. package/eleventy/node_modules/@11ty/eleventy/src/EleventyExtensionMap.js +284 -0
  69. package/eleventy/node_modules/@11ty/eleventy/src/EleventyFiles.js +517 -0
  70. package/eleventy/node_modules/@11ty/eleventy/src/EleventyServe.js +305 -0
  71. package/eleventy/node_modules/@11ty/eleventy/src/EleventyWatch.js +131 -0
  72. package/eleventy/node_modules/@11ty/eleventy/src/EleventyWatchTargets.js +164 -0
  73. package/eleventy/node_modules/@11ty/eleventy/src/Engines/Custom.js +338 -0
  74. package/eleventy/node_modules/@11ty/eleventy/src/Engines/FrontMatter/JavaScript.js +34 -0
  75. package/eleventy/node_modules/@11ty/eleventy/src/Engines/Html.js +28 -0
  76. package/eleventy/node_modules/@11ty/eleventy/src/Engines/JavaScript.js +237 -0
  77. package/eleventy/node_modules/@11ty/eleventy/src/Engines/Liquid.js +326 -0
  78. package/eleventy/node_modules/@11ty/eleventy/src/Engines/Markdown.js +93 -0
  79. package/eleventy/node_modules/@11ty/eleventy/src/Engines/Nunjucks.js +447 -0
  80. package/eleventy/node_modules/@11ty/eleventy/src/Engines/TemplateEngine.js +184 -0
  81. package/eleventy/node_modules/@11ty/eleventy/src/Engines/TemplateEngineManager.js +197 -0
  82. package/eleventy/node_modules/@11ty/eleventy/src/Engines/Util/ContextAugmenter.js +67 -0
  83. package/eleventy/node_modules/@11ty/eleventy/src/Errors/DuplicatePermalinkOutputError.js +9 -0
  84. package/eleventy/node_modules/@11ty/eleventy/src/Errors/EleventyBaseError.js +24 -0
  85. package/eleventy/node_modules/@11ty/eleventy/src/Errors/EleventyErrorHandler.js +151 -0
  86. package/eleventy/node_modules/@11ty/eleventy/src/Errors/EleventyErrorUtil.js +72 -0
  87. package/eleventy/node_modules/@11ty/eleventy/src/Errors/TemplateContentPrematureUseError.js +5 -0
  88. package/eleventy/node_modules/@11ty/eleventy/src/Errors/TemplateContentUnrenderedTemplateError.js +5 -0
  89. package/eleventy/node_modules/@11ty/eleventy/src/Errors/UsingCircularTemplateContentReferenceError.js +5 -0
  90. package/eleventy/node_modules/@11ty/eleventy/src/EventBus.js +23 -0
  91. package/eleventy/node_modules/@11ty/eleventy/src/FileSystemSearch.js +102 -0
  92. package/eleventy/node_modules/@11ty/eleventy/src/Filters/GetCollectionItem.js +20 -0
  93. package/eleventy/node_modules/@11ty/eleventy/src/Filters/GetCollectionItemIndex.js +17 -0
  94. package/eleventy/node_modules/@11ty/eleventy/src/Filters/GetLocaleCollectionItem.js +47 -0
  95. package/eleventy/node_modules/@11ty/eleventy/src/Filters/Slug.js +14 -0
  96. package/eleventy/node_modules/@11ty/eleventy/src/Filters/Slugify.js +14 -0
  97. package/eleventy/node_modules/@11ty/eleventy/src/Filters/Url.js +35 -0
  98. package/eleventy/node_modules/@11ty/eleventy/src/GlobalDependencyMap.js +424 -0
  99. package/eleventy/node_modules/@11ty/eleventy/src/Plugins/HtmlBasePlugin.js +151 -0
  100. package/eleventy/node_modules/@11ty/eleventy/src/Plugins/I18nPlugin.js +317 -0
  101. package/eleventy/node_modules/@11ty/eleventy/src/Plugins/IdAttributePlugin.js +103 -0
  102. package/eleventy/node_modules/@11ty/eleventy/src/Plugins/InputPathToUrl.js +177 -0
  103. package/eleventy/node_modules/@11ty/eleventy/src/Plugins/Pagination.js +380 -0
  104. package/eleventy/node_modules/@11ty/eleventy/src/Plugins/RenderPlugin.js +481 -0
  105. package/eleventy/node_modules/@11ty/eleventy/src/Template.js +1124 -0
  106. package/eleventy/node_modules/@11ty/eleventy/src/TemplateBehavior.js +85 -0
  107. package/eleventy/node_modules/@11ty/eleventy/src/TemplateCache.js +104 -0
  108. package/eleventy/node_modules/@11ty/eleventy/src/TemplateCollection.js +81 -0
  109. package/eleventy/node_modules/@11ty/eleventy/src/TemplateConfig.js +551 -0
  110. package/eleventy/node_modules/@11ty/eleventy/src/TemplateContent.js +712 -0
  111. package/eleventy/node_modules/@11ty/eleventy/src/TemplateFileSlug.js +57 -0
  112. package/eleventy/node_modules/@11ty/eleventy/src/TemplateGlob.js +35 -0
  113. package/eleventy/node_modules/@11ty/eleventy/src/TemplateLayout.js +242 -0
  114. package/eleventy/node_modules/@11ty/eleventy/src/TemplateLayoutPathResolver.js +136 -0
  115. package/eleventy/node_modules/@11ty/eleventy/src/TemplateMap.js +828 -0
  116. package/eleventy/node_modules/@11ty/eleventy/src/TemplatePassthrough.js +339 -0
  117. package/eleventy/node_modules/@11ty/eleventy/src/TemplatePassthroughManager.js +311 -0
  118. package/eleventy/node_modules/@11ty/eleventy/src/TemplatePermalink.js +189 -0
  119. package/eleventy/node_modules/@11ty/eleventy/src/TemplateRender.js +294 -0
  120. package/eleventy/node_modules/@11ty/eleventy/src/TemplateWriter.js +518 -0
  121. package/eleventy/node_modules/@11ty/eleventy/src/UserConfig.js +1292 -0
  122. package/eleventy/node_modules/@11ty/eleventy/src/Util/AsyncEventEmitter.js +75 -0
  123. package/eleventy/node_modules/@11ty/eleventy/src/Util/Compatibility.js +55 -0
  124. package/eleventy/node_modules/@11ty/eleventy/src/Util/ConsoleLogger.js +126 -0
  125. package/eleventy/node_modules/@11ty/eleventy/src/Util/DateGitFirstAdded.js +24 -0
  126. package/eleventy/node_modules/@11ty/eleventy/src/Util/DateGitLastUpdated.js +28 -0
  127. package/eleventy/node_modules/@11ty/eleventy/src/Util/DirContains.js +9 -0
  128. package/eleventy/node_modules/@11ty/eleventy/src/Util/EsmResolver.js +51 -0
  129. package/eleventy/node_modules/@11ty/eleventy/src/Util/EventBusUtil.js +26 -0
  130. package/eleventy/node_modules/@11ty/eleventy/src/Util/ExistsCache.js +82 -0
  131. package/eleventy/node_modules/@11ty/eleventy/src/Util/FilePathUtil.js +19 -0
  132. package/eleventy/node_modules/@11ty/eleventy/src/Util/GetJavaScriptData.js +30 -0
  133. package/eleventy/node_modules/@11ty/eleventy/src/Util/GlobMatcher.js +21 -0
  134. package/eleventy/node_modules/@11ty/eleventy/src/Util/HtmlTransformer.js +158 -0
  135. package/eleventy/node_modules/@11ty/eleventy/src/Util/ImportJsonSync.js +64 -0
  136. package/eleventy/node_modules/@11ty/eleventy/src/Util/IsAsyncFunction.js +5 -0
  137. package/eleventy/node_modules/@11ty/eleventy/src/Util/JavaScriptDependencies.js +55 -0
  138. package/eleventy/node_modules/@11ty/eleventy/src/Util/MemoizeFunction.js +26 -0
  139. package/eleventy/node_modules/@11ty/eleventy/src/Util/Objects/DeepFreeze.js +20 -0
  140. package/eleventy/node_modules/@11ty/eleventy/src/Util/Objects/ObjectFilter.js +9 -0
  141. package/eleventy/node_modules/@11ty/eleventy/src/Util/Objects/ProxyWrap.js +111 -0
  142. package/eleventy/node_modules/@11ty/eleventy/src/Util/Objects/SampleModule.mjs +1 -0
  143. package/eleventy/node_modules/@11ty/eleventy/src/Util/Objects/Sortable.js +136 -0
  144. package/eleventy/node_modules/@11ty/eleventy/src/Util/Objects/Unique.js +3 -0
  145. package/eleventy/node_modules/@11ty/eleventy/src/Util/PassthroughCopyBehaviorCheck.js +16 -0
  146. package/eleventy/node_modules/@11ty/eleventy/src/Util/PathNormalizer.js +60 -0
  147. package/eleventy/node_modules/@11ty/eleventy/src/Util/PathPrefixer.js +21 -0
  148. package/eleventy/node_modules/@11ty/eleventy/src/Util/Pluralize.js +3 -0
  149. package/eleventy/node_modules/@11ty/eleventy/src/Util/ProjectDirectories.js +344 -0
  150. package/eleventy/node_modules/@11ty/eleventy/src/Util/ProjectTemplateFormats.js +134 -0
  151. package/eleventy/node_modules/@11ty/eleventy/src/Util/Require.js +206 -0
  152. package/eleventy/node_modules/@11ty/eleventy/src/Util/ReservedData.js +69 -0
  153. package/eleventy/node_modules/@11ty/eleventy/src/Util/SetUnion.js +11 -0
  154. package/eleventy/node_modules/@11ty/eleventy/src/Util/TransformsUtil.js +70 -0
  155. package/eleventy/node_modules/@11ty/eleventy/src/Util/ValidUrl.js +9 -0
  156. package/eleventy/node_modules/@11ty/eleventy/src/defaultConfig.js +168 -0
  157. package/eleventy/node_modules/@11ty/eleventy/tsconfig.json +117 -0
  158. package/eleventy/node_modules/@11ty/eleventy-dev-server/README.md +60 -0
  159. package/eleventy/node_modules/@11ty/eleventy-dev-server/cli.js +89 -0
  160. package/eleventy/node_modules/@11ty/eleventy-dev-server/client/reload-client.js +294 -0
  161. package/eleventy/node_modules/@11ty/eleventy-dev-server/cmd.js +77 -0
  162. package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/LICENSE +21 -0
  163. package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/README.md +27 -0
  164. package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/index.js +11 -0
  165. package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/package.json +41 -0
  166. package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/src/IsPlainObject.js +24 -0
  167. package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/src/Merge.js +84 -0
  168. package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/src/TemplatePath.js +372 -0
  169. package/eleventy/node_modules/@11ty/eleventy-dev-server/package.json +58 -0
  170. package/eleventy/node_modules/@11ty/eleventy-dev-server/server/wrapResponse.js +129 -0
  171. package/eleventy/node_modules/@11ty/eleventy-dev-server/server.js +950 -0
  172. package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/README.md +337 -0
  173. package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/eleventy.bundle.js +66 -0
  174. package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/package.json +62 -0
  175. package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/src/BundleFileOutput.js +76 -0
  176. package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/src/CodeManager.js +209 -0
  177. package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/src/OutOfOrderRender.js +153 -0
  178. package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/src/eleventy.bundleManagers.js +74 -0
  179. package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/src/eleventy.pruneEmptyBundles.js +88 -0
  180. package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/src/eleventy.shortcodes.js +83 -0
  181. package/eleventy/node_modules/@11ty/eleventy-utils/LICENSE +21 -0
  182. package/eleventy/node_modules/@11ty/eleventy-utils/README.md +29 -0
  183. package/eleventy/node_modules/@11ty/eleventy-utils/index.js +11 -0
  184. package/eleventy/node_modules/@11ty/eleventy-utils/package.json +47 -0
  185. package/eleventy/node_modules/@11ty/eleventy-utils/src/IsPlainObject.js +24 -0
  186. package/eleventy/node_modules/@11ty/eleventy-utils/src/Merge.js +84 -0
  187. package/eleventy/node_modules/@11ty/eleventy-utils/src/TemplatePath.js +368 -0
  188. package/eleventy/node_modules/@11ty/lodash-custom/README.md +14 -0
  189. package/eleventy/node_modules/@11ty/lodash-custom/lodash.custom.js +1704 -0
  190. package/eleventy/node_modules/@11ty/lodash-custom/package.json +38 -0
  191. package/eleventy/node_modules/@11ty/posthtml-urls/LICENSE +21 -0
  192. package/eleventy/node_modules/@11ty/posthtml-urls/README.md +48 -0
  193. package/eleventy/node_modules/@11ty/posthtml-urls/lib/defaultOptions.js +37 -0
  194. package/eleventy/node_modules/@11ty/posthtml-urls/lib/index.js +142 -0
  195. package/eleventy/node_modules/@11ty/posthtml-urls/package.json +47 -0
  196. package/eleventy/node_modules/@11ty/recursive-copy/README.md +198 -0
  197. package/eleventy/node_modules/@11ty/recursive-copy/index.d.ts +117 -0
  198. package/eleventy/node_modules/@11ty/recursive-copy/index.js +3 -0
  199. package/eleventy/node_modules/@11ty/recursive-copy/lib/copy.js +427 -0
  200. package/eleventy/node_modules/@11ty/recursive-copy/package.json +71 -0
  201. package/eleventy/node_modules/@isaacs/cliui/LICENSE.txt +14 -0
  202. package/eleventy/node_modules/@isaacs/cliui/README.md +143 -0
  203. package/eleventy/node_modules/@isaacs/cliui/index.mjs +14 -0
  204. package/eleventy/node_modules/@isaacs/cliui/package.json +86 -0
  205. package/eleventy/node_modules/@nodelib/fs.scandir/LICENSE +21 -0
  206. package/eleventy/node_modules/@nodelib/fs.scandir/README.md +171 -0
  207. package/eleventy/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +20 -0
  208. package/eleventy/node_modules/@nodelib/fs.scandir/out/adapters/fs.js +19 -0
  209. package/eleventy/node_modules/@nodelib/fs.scandir/out/constants.d.ts +4 -0
  210. package/eleventy/node_modules/@nodelib/fs.scandir/out/constants.js +17 -0
  211. package/eleventy/node_modules/@nodelib/fs.scandir/out/index.d.ts +12 -0
  212. package/eleventy/node_modules/@nodelib/fs.scandir/out/index.js +26 -0
  213. package/eleventy/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +7 -0
  214. package/eleventy/node_modules/@nodelib/fs.scandir/out/providers/async.js +104 -0
  215. package/eleventy/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +1 -0
  216. package/eleventy/node_modules/@nodelib/fs.scandir/out/providers/common.js +13 -0
  217. package/eleventy/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +5 -0
  218. package/eleventy/node_modules/@nodelib/fs.scandir/out/providers/sync.js +54 -0
  219. package/eleventy/node_modules/@nodelib/fs.scandir/out/settings.d.ts +20 -0
  220. package/eleventy/node_modules/@nodelib/fs.scandir/out/settings.js +24 -0
  221. package/eleventy/node_modules/@nodelib/fs.scandir/out/types/index.d.ts +20 -0
  222. package/eleventy/node_modules/@nodelib/fs.scandir/out/types/index.js +2 -0
  223. package/eleventy/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +2 -0
  224. package/eleventy/node_modules/@nodelib/fs.scandir/out/utils/fs.js +19 -0
  225. package/eleventy/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +2 -0
  226. package/eleventy/node_modules/@nodelib/fs.scandir/out/utils/index.js +5 -0
  227. package/eleventy/node_modules/@nodelib/fs.scandir/package.json +44 -0
  228. package/eleventy/node_modules/@nodelib/fs.stat/LICENSE +21 -0
  229. package/eleventy/node_modules/@nodelib/fs.stat/README.md +126 -0
  230. package/eleventy/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +13 -0
  231. package/eleventy/node_modules/@nodelib/fs.stat/out/adapters/fs.js +17 -0
  232. package/eleventy/node_modules/@nodelib/fs.stat/out/index.d.ts +12 -0
  233. package/eleventy/node_modules/@nodelib/fs.stat/out/index.js +26 -0
  234. package/eleventy/node_modules/@nodelib/fs.stat/out/providers/async.d.ts +4 -0
  235. package/eleventy/node_modules/@nodelib/fs.stat/out/providers/async.js +36 -0
  236. package/eleventy/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +3 -0
  237. package/eleventy/node_modules/@nodelib/fs.stat/out/providers/sync.js +23 -0
  238. package/eleventy/node_modules/@nodelib/fs.stat/out/settings.d.ts +16 -0
  239. package/eleventy/node_modules/@nodelib/fs.stat/out/settings.js +16 -0
  240. package/eleventy/node_modules/@nodelib/fs.stat/out/types/index.d.ts +4 -0
  241. package/eleventy/node_modules/@nodelib/fs.stat/out/types/index.js +2 -0
  242. package/eleventy/node_modules/@nodelib/fs.stat/package.json +37 -0
  243. package/eleventy/node_modules/@nodelib/fs.walk/LICENSE +21 -0
  244. package/eleventy/node_modules/@nodelib/fs.walk/README.md +215 -0
  245. package/eleventy/node_modules/@nodelib/fs.walk/out/index.d.ts +14 -0
  246. package/eleventy/node_modules/@nodelib/fs.walk/out/index.js +34 -0
  247. package/eleventy/node_modules/@nodelib/fs.walk/out/providers/async.d.ts +12 -0
  248. package/eleventy/node_modules/@nodelib/fs.walk/out/providers/async.js +30 -0
  249. package/eleventy/node_modules/@nodelib/fs.walk/out/providers/index.d.ts +4 -0
  250. package/eleventy/node_modules/@nodelib/fs.walk/out/providers/index.js +9 -0
  251. package/eleventy/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +12 -0
  252. package/eleventy/node_modules/@nodelib/fs.walk/out/providers/stream.js +34 -0
  253. package/eleventy/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +10 -0
  254. package/eleventy/node_modules/@nodelib/fs.walk/out/providers/sync.js +14 -0
  255. package/eleventy/node_modules/@nodelib/fs.walk/out/readers/async.d.ts +30 -0
  256. package/eleventy/node_modules/@nodelib/fs.walk/out/readers/async.js +97 -0
  257. package/eleventy/node_modules/@nodelib/fs.walk/out/readers/common.d.ts +7 -0
  258. package/eleventy/node_modules/@nodelib/fs.walk/out/readers/common.js +31 -0
  259. package/eleventy/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +6 -0
  260. package/eleventy/node_modules/@nodelib/fs.walk/out/readers/reader.js +11 -0
  261. package/eleventy/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +15 -0
  262. package/eleventy/node_modules/@nodelib/fs.walk/out/readers/sync.js +59 -0
  263. package/eleventy/node_modules/@nodelib/fs.walk/out/settings.d.ts +30 -0
  264. package/eleventy/node_modules/@nodelib/fs.walk/out/settings.js +26 -0
  265. package/eleventy/node_modules/@nodelib/fs.walk/out/types/index.d.ts +8 -0
  266. package/eleventy/node_modules/@nodelib/fs.walk/out/types/index.js +2 -0
  267. package/eleventy/node_modules/@nodelib/fs.walk/package.json +44 -0
  268. package/eleventy/node_modules/@pkgjs/parseargs/.editorconfig +14 -0
  269. package/eleventy/node_modules/@pkgjs/parseargs/CHANGELOG.md +147 -0
  270. package/eleventy/node_modules/@pkgjs/parseargs/LICENSE +201 -0
  271. package/eleventy/node_modules/@pkgjs/parseargs/README.md +413 -0
  272. package/eleventy/node_modules/@pkgjs/parseargs/examples/is-default-value.js +25 -0
  273. package/eleventy/node_modules/@pkgjs/parseargs/examples/limit-long-syntax.js +35 -0
  274. package/eleventy/node_modules/@pkgjs/parseargs/examples/negate.js +43 -0
  275. package/eleventy/node_modules/@pkgjs/parseargs/examples/no-repeated-options.js +31 -0
  276. package/eleventy/node_modules/@pkgjs/parseargs/examples/ordered-options.mjs +41 -0
  277. package/eleventy/node_modules/@pkgjs/parseargs/examples/simple-hard-coded.js +26 -0
  278. package/eleventy/node_modules/@pkgjs/parseargs/index.js +396 -0
  279. package/eleventy/node_modules/@pkgjs/parseargs/internal/errors.js +47 -0
  280. package/eleventy/node_modules/@pkgjs/parseargs/internal/primordials.js +393 -0
  281. package/eleventy/node_modules/@pkgjs/parseargs/internal/util.js +14 -0
  282. package/eleventy/node_modules/@pkgjs/parseargs/internal/validators.js +89 -0
  283. package/eleventy/node_modules/@pkgjs/parseargs/package.json +36 -0
  284. package/eleventy/node_modules/@pkgjs/parseargs/utils.js +198 -0
  285. package/eleventy/node_modules/@sindresorhus/slugify/index.d.ts +246 -0
  286. package/eleventy/node_modules/@sindresorhus/slugify/index.js +127 -0
  287. package/eleventy/node_modules/@sindresorhus/slugify/license +9 -0
  288. package/eleventy/node_modules/@sindresorhus/slugify/overridable-replacements.js +7 -0
  289. package/eleventy/node_modules/@sindresorhus/slugify/package.json +59 -0
  290. package/eleventy/node_modules/@sindresorhus/slugify/readme.md +273 -0
  291. package/eleventy/node_modules/@sindresorhus/transliterate/index.d.ts +48 -0
  292. package/eleventy/node_modules/@sindresorhus/transliterate/index.js +33 -0
  293. package/eleventy/node_modules/@sindresorhus/transliterate/license +9 -0
  294. package/eleventy/node_modules/@sindresorhus/transliterate/package.json +47 -0
  295. package/eleventy/node_modules/@sindresorhus/transliterate/readme.md +103 -0
  296. package/eleventy/node_modules/@sindresorhus/transliterate/replacements.js +2056 -0
  297. package/eleventy/node_modules/a-sync-waterfall/LICENSE +21 -0
  298. package/eleventy/node_modules/a-sync-waterfall/README.md +95 -0
  299. package/eleventy/node_modules/a-sync-waterfall/index.js +83 -0
  300. package/eleventy/node_modules/a-sync-waterfall/package.json +21 -0
  301. package/eleventy/node_modules/a-sync-waterfall/test.js +77 -0
  302. package/eleventy/node_modules/acorn/CHANGELOG.md +928 -0
  303. package/eleventy/node_modules/acorn/LICENSE +21 -0
  304. package/eleventy/node_modules/acorn/README.md +282 -0
  305. package/eleventy/node_modules/acorn/bin/acorn +4 -0
  306. package/eleventy/node_modules/acorn/dist/acorn.d.mts +866 -0
  307. package/eleventy/node_modules/acorn/dist/acorn.d.ts +866 -0
  308. package/eleventy/node_modules/acorn/dist/acorn.js +6174 -0
  309. package/eleventy/node_modules/acorn/dist/acorn.mjs +6145 -0
  310. package/eleventy/node_modules/acorn/dist/bin.js +90 -0
  311. package/eleventy/node_modules/acorn/package.json +50 -0
  312. package/eleventy/node_modules/acorn-walk/CHANGELOG.md +199 -0
  313. package/eleventy/node_modules/acorn-walk/LICENSE +21 -0
  314. package/eleventy/node_modules/acorn-walk/README.md +124 -0
  315. package/eleventy/node_modules/acorn-walk/dist/walk.d.mts +177 -0
  316. package/eleventy/node_modules/acorn-walk/dist/walk.d.ts +177 -0
  317. package/eleventy/node_modules/acorn-walk/dist/walk.js +455 -0
  318. package/eleventy/node_modules/acorn-walk/dist/walk.mjs +437 -0
  319. package/eleventy/node_modules/acorn-walk/package.json +50 -0
  320. package/eleventy/node_modules/ansi-regex/index.d.ts +33 -0
  321. package/eleventy/node_modules/ansi-regex/index.js +10 -0
  322. package/eleventy/node_modules/ansi-regex/license +9 -0
  323. package/eleventy/node_modules/ansi-regex/package.json +61 -0
  324. package/eleventy/node_modules/ansi-regex/readme.md +60 -0
  325. package/eleventy/node_modules/ansi-styles/index.d.ts +236 -0
  326. package/eleventy/node_modules/ansi-styles/index.js +223 -0
  327. package/eleventy/node_modules/ansi-styles/license +9 -0
  328. package/eleventy/node_modules/ansi-styles/package.json +54 -0
  329. package/eleventy/node_modules/ansi-styles/readme.md +173 -0
  330. package/eleventy/node_modules/anymatch/LICENSE +15 -0
  331. package/eleventy/node_modules/anymatch/README.md +87 -0
  332. package/eleventy/node_modules/anymatch/index.d.ts +20 -0
  333. package/eleventy/node_modules/anymatch/index.js +104 -0
  334. package/eleventy/node_modules/anymatch/package.json +48 -0
  335. package/eleventy/node_modules/argparse/CHANGELOG.md +216 -0
  336. package/eleventy/node_modules/argparse/LICENSE +254 -0
  337. package/eleventy/node_modules/argparse/README.md +84 -0
  338. package/eleventy/node_modules/argparse/argparse.js +3707 -0
  339. package/eleventy/node_modules/argparse/lib/sub.js +67 -0
  340. package/eleventy/node_modules/argparse/lib/textwrap.js +440 -0
  341. package/eleventy/node_modules/argparse/package.json +31 -0
  342. package/eleventy/node_modules/array-differ/index.js +7 -0
  343. package/eleventy/node_modules/array-differ/package.json +32 -0
  344. package/eleventy/node_modules/array-differ/readme.md +41 -0
  345. package/eleventy/node_modules/array-union/index.js +6 -0
  346. package/eleventy/node_modules/array-union/license +21 -0
  347. package/eleventy/node_modules/array-union/package.json +40 -0
  348. package/eleventy/node_modules/array-union/readme.md +28 -0
  349. package/eleventy/node_modules/array-uniq/index.js +62 -0
  350. package/eleventy/node_modules/array-uniq/license +21 -0
  351. package/eleventy/node_modules/array-uniq/package.json +37 -0
  352. package/eleventy/node_modules/array-uniq/readme.md +30 -0
  353. package/eleventy/node_modules/arrify/index.js +8 -0
  354. package/eleventy/node_modules/arrify/license +21 -0
  355. package/eleventy/node_modules/arrify/package.json +33 -0
  356. package/eleventy/node_modules/arrify/readme.md +36 -0
  357. package/eleventy/node_modules/asap/CHANGES.md +70 -0
  358. package/eleventy/node_modules/asap/LICENSE.md +21 -0
  359. package/eleventy/node_modules/asap/README.md +237 -0
  360. package/eleventy/node_modules/asap/asap.js +65 -0
  361. package/eleventy/node_modules/asap/browser-asap.js +66 -0
  362. package/eleventy/node_modules/asap/browser-raw.js +223 -0
  363. package/eleventy/node_modules/asap/package.json +58 -0
  364. package/eleventy/node_modules/asap/raw.js +101 -0
  365. package/eleventy/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  366. package/eleventy/node_modules/balanced-match/LICENSE.md +21 -0
  367. package/eleventy/node_modules/balanced-match/README.md +97 -0
  368. package/eleventy/node_modules/balanced-match/index.js +62 -0
  369. package/eleventy/node_modules/balanced-match/package.json +48 -0
  370. package/eleventy/node_modules/bcp-47/index.d.ts +6 -0
  371. package/eleventy/node_modules/bcp-47/index.js +9 -0
  372. package/eleventy/node_modules/bcp-47/lib/normal.d.ts +2 -0
  373. package/eleventy/node_modules/bcp-47/lib/normal.js +29 -0
  374. package/eleventy/node_modules/bcp-47/lib/parse.d.ts +29 -0
  375. package/eleventy/node_modules/bcp-47/lib/parse.js +310 -0
  376. package/eleventy/node_modules/bcp-47/lib/regular.d.ts +2 -0
  377. package/eleventy/node_modules/bcp-47/lib/regular.js +12 -0
  378. package/eleventy/node_modules/bcp-47/lib/stringify.d.ts +13 -0
  379. package/eleventy/node_modules/bcp-47/lib/stringify.js +50 -0
  380. package/eleventy/node_modules/bcp-47/license +22 -0
  381. package/eleventy/node_modules/bcp-47/package.json +85 -0
  382. package/eleventy/node_modules/bcp-47/readme.md +344 -0
  383. package/eleventy/node_modules/bcp-47-match/index.d.ts +47 -0
  384. package/eleventy/node_modules/bcp-47-match/index.js +234 -0
  385. package/eleventy/node_modules/bcp-47-match/license +22 -0
  386. package/eleventy/node_modules/bcp-47-match/package.json +88 -0
  387. package/eleventy/node_modules/bcp-47-match/readme.md +315 -0
  388. package/eleventy/node_modules/bcp-47-normalize/index.d.ts +3 -0
  389. package/eleventy/node_modules/bcp-47-normalize/index.js +6 -0
  390. package/eleventy/node_modules/bcp-47-normalize/lib/fields.d.ts +24 -0
  391. package/eleventy/node_modules/bcp-47-normalize/lib/fields.js +3217 -0
  392. package/eleventy/node_modules/bcp-47-normalize/lib/index.d.ts +36 -0
  393. package/eleventy/node_modules/bcp-47-normalize/lib/index.js +335 -0
  394. package/eleventy/node_modules/bcp-47-normalize/lib/likely.d.ts +4 -0
  395. package/eleventy/node_modules/bcp-47-normalize/lib/likely.js +8039 -0
  396. package/eleventy/node_modules/bcp-47-normalize/lib/many.d.ts +10 -0
  397. package/eleventy/node_modules/bcp-47-normalize/lib/many.js +95 -0
  398. package/eleventy/node_modules/bcp-47-normalize/lib/matches.d.ts +13 -0
  399. package/eleventy/node_modules/bcp-47-normalize/lib/matches.js +1859 -0
  400. package/eleventy/node_modules/bcp-47-normalize/license +22 -0
  401. package/eleventy/node_modules/bcp-47-normalize/package.json +91 -0
  402. package/eleventy/node_modules/bcp-47-normalize/readme.md +207 -0
  403. package/eleventy/node_modules/binary-extensions/binary-extensions.json +263 -0
  404. package/eleventy/node_modules/binary-extensions/binary-extensions.json.d.ts +3 -0
  405. package/eleventy/node_modules/binary-extensions/index.d.ts +14 -0
  406. package/eleventy/node_modules/binary-extensions/index.js +1 -0
  407. package/eleventy/node_modules/binary-extensions/license +10 -0
  408. package/eleventy/node_modules/binary-extensions/package.json +40 -0
  409. package/eleventy/node_modules/binary-extensions/readme.md +25 -0
  410. package/eleventy/node_modules/brace-expansion/LICENSE +21 -0
  411. package/eleventy/node_modules/brace-expansion/README.md +129 -0
  412. package/eleventy/node_modules/brace-expansion/index.js +201 -0
  413. package/eleventy/node_modules/brace-expansion/package.json +47 -0
  414. package/eleventy/node_modules/braces/LICENSE +21 -0
  415. package/eleventy/node_modules/braces/README.md +586 -0
  416. package/eleventy/node_modules/braces/index.js +170 -0
  417. package/eleventy/node_modules/braces/lib/compile.js +60 -0
  418. package/eleventy/node_modules/braces/lib/constants.js +57 -0
  419. package/eleventy/node_modules/braces/lib/expand.js +113 -0
  420. package/eleventy/node_modules/braces/lib/parse.js +331 -0
  421. package/eleventy/node_modules/braces/lib/stringify.js +32 -0
  422. package/eleventy/node_modules/braces/lib/utils.js +122 -0
  423. package/eleventy/node_modules/braces/package.json +77 -0
  424. package/eleventy/node_modules/chardet/LICENSE +19 -0
  425. package/eleventy/node_modules/chardet/README.md +114 -0
  426. package/eleventy/node_modules/chardet/lib/encoding/ascii.d.ts +6 -0
  427. package/eleventy/node_modules/chardet/lib/encoding/ascii.js +23 -0
  428. package/eleventy/node_modules/chardet/lib/encoding/ascii.js.map +1 -0
  429. package/eleventy/node_modules/chardet/lib/encoding/index.d.ts +14 -0
  430. package/eleventy/node_modules/chardet/lib/encoding/index.js +3 -0
  431. package/eleventy/node_modules/chardet/lib/encoding/index.js.map +1 -0
  432. package/eleventy/node_modules/chardet/lib/encoding/iso2022.d.ts +23 -0
  433. package/eleventy/node_modules/chardet/lib/encoding/iso2022.js +114 -0
  434. package/eleventy/node_modules/chardet/lib/encoding/iso2022.js.map +1 -0
  435. package/eleventy/node_modules/chardet/lib/encoding/mbcs.d.ts +50 -0
  436. package/eleventy/node_modules/chardet/lib/encoding/mbcs.js +347 -0
  437. package/eleventy/node_modules/chardet/lib/encoding/mbcs.js.map +1 -0
  438. package/eleventy/node_modules/chardet/lib/encoding/sbcs.d.ts +75 -0
  439. package/eleventy/node_modules/chardet/lib/encoding/sbcs.js +764 -0
  440. package/eleventy/node_modules/chardet/lib/encoding/sbcs.js.map +1 -0
  441. package/eleventy/node_modules/chardet/lib/encoding/unicode.d.ts +27 -0
  442. package/eleventy/node_modules/chardet/lib/encoding/unicode.js +109 -0
  443. package/eleventy/node_modules/chardet/lib/encoding/unicode.js.map +1 -0
  444. package/eleventy/node_modules/chardet/lib/encoding/utf8.d.ts +6 -0
  445. package/eleventy/node_modules/chardet/lib/encoding/utf8.js +72 -0
  446. package/eleventy/node_modules/chardet/lib/encoding/utf8.js.map +1 -0
  447. package/eleventy/node_modules/chardet/lib/fs/browser.d.ts +2 -0
  448. package/eleventy/node_modules/chardet/lib/fs/browser.js +6 -0
  449. package/eleventy/node_modules/chardet/lib/fs/browser.js.map +1 -0
  450. package/eleventy/node_modules/chardet/lib/fs/node.d.ts +2 -0
  451. package/eleventy/node_modules/chardet/lib/fs/node.js +11 -0
  452. package/eleventy/node_modules/chardet/lib/fs/node.js.map +1 -0
  453. package/eleventy/node_modules/chardet/lib/index.d.ts +19 -0
  454. package/eleventy/node_modules/chardet/lib/index.js +149 -0
  455. package/eleventy/node_modules/chardet/lib/index.js.map +1 -0
  456. package/eleventy/node_modules/chardet/lib/match.d.ts +8 -0
  457. package/eleventy/node_modules/chardet/lib/match.js +8 -0
  458. package/eleventy/node_modules/chardet/lib/match.js.map +1 -0
  459. package/eleventy/node_modules/chardet/lib/utils.d.ts +1 -0
  460. package/eleventy/node_modules/chardet/lib/utils.js +10 -0
  461. package/eleventy/node_modules/chardet/lib/utils.js.map +1 -0
  462. package/eleventy/node_modules/chardet/package.json +95 -0
  463. package/eleventy/node_modules/chokidar/LICENSE +21 -0
  464. package/eleventy/node_modules/chokidar/README.md +308 -0
  465. package/eleventy/node_modules/chokidar/index.js +973 -0
  466. package/eleventy/node_modules/chokidar/lib/constants.js +66 -0
  467. package/eleventy/node_modules/chokidar/lib/fsevents-handler.js +526 -0
  468. package/eleventy/node_modules/chokidar/lib/nodefs-handler.js +654 -0
  469. package/eleventy/node_modules/chokidar/package.json +70 -0
  470. package/eleventy/node_modules/chokidar/types/index.d.ts +192 -0
  471. package/eleventy/node_modules/color-convert/CHANGELOG.md +54 -0
  472. package/eleventy/node_modules/color-convert/LICENSE +21 -0
  473. package/eleventy/node_modules/color-convert/README.md +68 -0
  474. package/eleventy/node_modules/color-convert/conversions.js +839 -0
  475. package/eleventy/node_modules/color-convert/index.js +81 -0
  476. package/eleventy/node_modules/color-convert/package.json +48 -0
  477. package/eleventy/node_modules/color-convert/route.js +97 -0
  478. package/eleventy/node_modules/color-name/LICENSE +8 -0
  479. package/eleventy/node_modules/color-name/README.md +11 -0
  480. package/eleventy/node_modules/color-name/index.js +152 -0
  481. package/eleventy/node_modules/color-name/package.json +28 -0
  482. package/eleventy/node_modules/commander/LICENSE +22 -0
  483. package/eleventy/node_modules/commander/Readme.md +1134 -0
  484. package/eleventy/node_modules/commander/esm.mjs +16 -0
  485. package/eleventy/node_modules/commander/index.js +27 -0
  486. package/eleventy/node_modules/commander/lib/argument.js +147 -0
  487. package/eleventy/node_modules/commander/lib/command.js +2179 -0
  488. package/eleventy/node_modules/commander/lib/error.js +45 -0
  489. package/eleventy/node_modules/commander/lib/help.js +464 -0
  490. package/eleventy/node_modules/commander/lib/option.js +331 -0
  491. package/eleventy/node_modules/commander/lib/suggestSimilar.js +100 -0
  492. package/eleventy/node_modules/commander/package-support.json +16 -0
  493. package/eleventy/node_modules/commander/package.json +80 -0
  494. package/eleventy/node_modules/commander/typings/index.d.ts +889 -0
  495. package/eleventy/node_modules/concat-map/.travis.yml +4 -0
  496. package/eleventy/node_modules/concat-map/LICENSE +18 -0
  497. package/eleventy/node_modules/concat-map/README.markdown +62 -0
  498. package/eleventy/node_modules/concat-map/example/map.js +6 -0
  499. package/eleventy/node_modules/concat-map/index.js +13 -0
  500. package/eleventy/node_modules/concat-map/package.json +43 -0
  501. package/eleventy/node_modules/concat-map/test/map.js +39 -0
  502. package/eleventy/node_modules/cross-spawn/LICENSE +21 -0
  503. package/eleventy/node_modules/cross-spawn/README.md +89 -0
  504. package/eleventy/node_modules/cross-spawn/index.js +39 -0
  505. package/eleventy/node_modules/cross-spawn/lib/enoent.js +59 -0
  506. package/eleventy/node_modules/cross-spawn/lib/parse.js +91 -0
  507. package/eleventy/node_modules/cross-spawn/lib/util/escape.js +47 -0
  508. package/eleventy/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
  509. package/eleventy/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
  510. package/eleventy/node_modules/cross-spawn/package.json +73 -0
  511. package/eleventy/node_modules/debug/LICENSE +20 -0
  512. package/eleventy/node_modules/debug/README.md +481 -0
  513. package/eleventy/node_modules/debug/package.json +65 -0
  514. package/eleventy/node_modules/debug/src/browser.js +272 -0
  515. package/eleventy/node_modules/debug/src/common.js +292 -0
  516. package/eleventy/node_modules/debug/src/index.js +10 -0
  517. package/eleventy/node_modules/debug/src/node.js +263 -0
  518. package/eleventy/node_modules/depd/History.md +103 -0
  519. package/eleventy/node_modules/depd/LICENSE +22 -0
  520. package/eleventy/node_modules/depd/Readme.md +280 -0
  521. package/eleventy/node_modules/depd/index.js +538 -0
  522. package/eleventy/node_modules/depd/lib/browser/index.js +77 -0
  523. package/eleventy/node_modules/depd/package.json +45 -0
  524. package/eleventy/node_modules/dependency-graph/.github/workflows/node.js.yml +24 -0
  525. package/eleventy/node_modules/dependency-graph/CHANGELOG.md +88 -0
  526. package/eleventy/node_modules/dependency-graph/LICENSE +19 -0
  527. package/eleventy/node_modules/dependency-graph/README.md +78 -0
  528. package/eleventy/node_modules/dependency-graph/lib/dep_graph.js +364 -0
  529. package/eleventy/node_modules/dependency-graph/lib/index.d.ts +127 -0
  530. package/eleventy/node_modules/dependency-graph/package.json +31 -0
  531. package/eleventy/node_modules/dependency-graph/specs/dep_graph_spec.js +567 -0
  532. package/eleventy/node_modules/destroy/LICENSE +23 -0
  533. package/eleventy/node_modules/destroy/README.md +63 -0
  534. package/eleventy/node_modules/destroy/index.js +209 -0
  535. package/eleventy/node_modules/destroy/package.json +48 -0
  536. package/eleventy/node_modules/dev-ip/.jshintrc +26 -0
  537. package/eleventy/node_modules/dev-ip/.travis.yml +5 -0
  538. package/eleventy/node_modules/dev-ip/LICENSE-MIT +22 -0
  539. package/eleventy/node_modules/dev-ip/README.md +32 -0
  540. package/eleventy/node_modules/dev-ip/example.js +4 -0
  541. package/eleventy/node_modules/dev-ip/lib/dev-ip.js +44 -0
  542. package/eleventy/node_modules/dev-ip/package.json +43 -0
  543. package/eleventy/node_modules/dev-ip/test/.jshintrc +26 -0
  544. package/eleventy/node_modules/dev-ip/test/devip.js +77 -0
  545. package/eleventy/node_modules/dev-ip/test/fixtures/resp-multiple.js +35 -0
  546. package/eleventy/node_modules/dev-ip/test/fixtures/resp-none.js +19 -0
  547. package/eleventy/node_modules/dev-ip/test/fixtures/resp-single.js +30 -0
  548. package/eleventy/node_modules/dom-serializer/LICENSE +11 -0
  549. package/eleventy/node_modules/dom-serializer/README.md +97 -0
  550. package/eleventy/node_modules/dom-serializer/lib/esm/foreignNames.d.ts +3 -0
  551. package/eleventy/node_modules/dom-serializer/lib/esm/foreignNames.d.ts.map +1 -0
  552. package/eleventy/node_modules/dom-serializer/lib/esm/foreignNames.js +100 -0
  553. package/eleventy/node_modules/dom-serializer/lib/esm/index.d.ts +52 -0
  554. package/eleventy/node_modules/dom-serializer/lib/esm/index.d.ts.map +1 -0
  555. package/eleventy/node_modules/dom-serializer/lib/esm/index.js +190 -0
  556. package/eleventy/node_modules/dom-serializer/lib/esm/package.json +1 -0
  557. package/eleventy/node_modules/dom-serializer/lib/foreignNames.d.ts +3 -0
  558. package/eleventy/node_modules/dom-serializer/lib/foreignNames.d.ts.map +1 -0
  559. package/eleventy/node_modules/dom-serializer/lib/foreignNames.js +103 -0
  560. package/eleventy/node_modules/dom-serializer/lib/index.d.ts +43 -0
  561. package/eleventy/node_modules/dom-serializer/lib/index.d.ts.map +1 -0
  562. package/eleventy/node_modules/dom-serializer/lib/index.js +211 -0
  563. package/eleventy/node_modules/dom-serializer/node_modules/entities/LICENSE +11 -0
  564. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/decode.d.ts +5 -0
  565. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/decode.d.ts.map +1 -0
  566. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/decode.js +53 -0
  567. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.d.ts +2 -0
  568. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
  569. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js +30 -0
  570. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/encode.d.ts +47 -0
  571. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/encode.d.ts.map +1 -0
  572. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/encode.js +136 -0
  573. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/index.d.ts +27 -0
  574. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/index.d.ts.map +1 -0
  575. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/index.js +57 -0
  576. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/maps/decode.json +1 -0
  577. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/maps/entities.json +1 -0
  578. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/maps/legacy.json +1 -0
  579. package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/maps/xml.json +1 -0
  580. package/eleventy/node_modules/dom-serializer/node_modules/entities/package.json +64 -0
  581. package/eleventy/node_modules/dom-serializer/node_modules/entities/readme.md +57 -0
  582. package/eleventy/node_modules/dom-serializer/package.json +55 -0
  583. package/eleventy/node_modules/domelementtype/LICENSE +11 -0
  584. package/eleventy/node_modules/domelementtype/lib/esm/index.d.ts +48 -0
  585. package/eleventy/node_modules/domelementtype/lib/esm/index.d.ts.map +1 -0
  586. package/eleventy/node_modules/domelementtype/lib/esm/index.js +51 -0
  587. package/eleventy/node_modules/domelementtype/lib/esm/package.json +1 -0
  588. package/eleventy/node_modules/domelementtype/lib/index.d.ts +48 -0
  589. package/eleventy/node_modules/domelementtype/lib/index.d.ts.map +1 -0
  590. package/eleventy/node_modules/domelementtype/lib/index.js +55 -0
  591. package/eleventy/node_modules/domelementtype/package.json +54 -0
  592. package/eleventy/node_modules/domelementtype/readme.md +1 -0
  593. package/eleventy/node_modules/domhandler/LICENSE +11 -0
  594. package/eleventy/node_modules/domhandler/lib/index.d.ts +85 -0
  595. package/eleventy/node_modules/domhandler/lib/index.d.ts.map +1 -0
  596. package/eleventy/node_modules/domhandler/lib/index.js +176 -0
  597. package/eleventy/node_modules/domhandler/lib/node.d.ts +237 -0
  598. package/eleventy/node_modules/domhandler/lib/node.d.ts.map +1 -0
  599. package/eleventy/node_modules/domhandler/lib/node.js +444 -0
  600. package/eleventy/node_modules/domhandler/package.json +58 -0
  601. package/eleventy/node_modules/domhandler/readme.md +163 -0
  602. package/eleventy/node_modules/domutils/LICENSE +11 -0
  603. package/eleventy/node_modules/domutils/lib/feeds.d.ts +45 -0
  604. package/eleventy/node_modules/domutils/lib/feeds.d.ts.map +1 -0
  605. package/eleventy/node_modules/domutils/lib/feeds.js +190 -0
  606. package/eleventy/node_modules/domutils/lib/helpers.d.ts +51 -0
  607. package/eleventy/node_modules/domutils/lib/helpers.d.ts.map +1 -0
  608. package/eleventy/node_modules/domutils/lib/helpers.js +125 -0
  609. package/eleventy/node_modules/domutils/lib/index.d.ts +10 -0
  610. package/eleventy/node_modules/domutils/lib/index.d.ts.map +1 -0
  611. package/eleventy/node_modules/domutils/lib/index.js +28 -0
  612. package/eleventy/node_modules/domutils/lib/legacy.d.ts +47 -0
  613. package/eleventy/node_modules/domutils/lib/legacy.d.ts.map +1 -0
  614. package/eleventy/node_modules/domutils/lib/legacy.js +124 -0
  615. package/eleventy/node_modules/domutils/lib/manipulation.d.ts +43 -0
  616. package/eleventy/node_modules/domutils/lib/manipulation.d.ts.map +1 -0
  617. package/eleventy/node_modules/domutils/lib/manipulation.js +129 -0
  618. package/eleventy/node_modules/domutils/lib/querying.d.ts +55 -0
  619. package/eleventy/node_modules/domutils/lib/querying.d.ts.map +1 -0
  620. package/eleventy/node_modules/domutils/lib/querying.js +126 -0
  621. package/eleventy/node_modules/domutils/lib/stringify.d.ts +41 -0
  622. package/eleventy/node_modules/domutils/lib/stringify.d.ts.map +1 -0
  623. package/eleventy/node_modules/domutils/lib/stringify.js +86 -0
  624. package/eleventy/node_modules/domutils/lib/traversal.d.ts +59 -0
  625. package/eleventy/node_modules/domutils/lib/traversal.d.ts.map +1 -0
  626. package/eleventy/node_modules/domutils/lib/traversal.js +117 -0
  627. package/eleventy/node_modules/domutils/package.json +65 -0
  628. package/eleventy/node_modules/domutils/readme.md +31 -0
  629. package/eleventy/node_modules/eastasianwidth/README.md +32 -0
  630. package/eleventy/node_modules/eastasianwidth/eastasianwidth.js +311 -0
  631. package/eleventy/node_modules/eastasianwidth/package.json +18 -0
  632. package/eleventy/node_modules/ee-first/LICENSE +22 -0
  633. package/eleventy/node_modules/ee-first/README.md +80 -0
  634. package/eleventy/node_modules/ee-first/index.js +95 -0
  635. package/eleventy/node_modules/ee-first/package.json +29 -0
  636. package/eleventy/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  637. package/eleventy/node_modules/emoji-regex/README.md +137 -0
  638. package/eleventy/node_modules/emoji-regex/RGI_Emoji.d.ts +5 -0
  639. package/eleventy/node_modules/emoji-regex/RGI_Emoji.js +6 -0
  640. package/eleventy/node_modules/emoji-regex/es2015/RGI_Emoji.d.ts +5 -0
  641. package/eleventy/node_modules/emoji-regex/es2015/RGI_Emoji.js +6 -0
  642. package/eleventy/node_modules/emoji-regex/es2015/index.d.ts +5 -0
  643. package/eleventy/node_modules/emoji-regex/es2015/index.js +6 -0
  644. package/eleventy/node_modules/emoji-regex/es2015/text.d.ts +5 -0
  645. package/eleventy/node_modules/emoji-regex/es2015/text.js +6 -0
  646. package/eleventy/node_modules/emoji-regex/index.d.ts +5 -0
  647. package/eleventy/node_modules/emoji-regex/index.js +6 -0
  648. package/eleventy/node_modules/emoji-regex/package.json +52 -0
  649. package/eleventy/node_modules/emoji-regex/text.d.ts +5 -0
  650. package/eleventy/node_modules/emoji-regex/text.js +6 -0
  651. package/eleventy/node_modules/encodeurl/LICENSE +22 -0
  652. package/eleventy/node_modules/encodeurl/README.md +109 -0
  653. package/eleventy/node_modules/encodeurl/index.js +60 -0
  654. package/eleventy/node_modules/encodeurl/package.json +40 -0
  655. package/eleventy/node_modules/entities/LICENSE +11 -0
  656. package/eleventy/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +19 -0
  657. package/eleventy/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +1 -0
  658. package/eleventy/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  659. package/eleventy/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
  660. package/eleventy/node_modules/entities/dist/commonjs/decode.d.ts +209 -0
  661. package/eleventy/node_modules/entities/dist/commonjs/decode.d.ts.map +1 -0
  662. package/eleventy/node_modules/entities/dist/commonjs/decode.js +514 -0
  663. package/eleventy/node_modules/entities/dist/commonjs/decode.js.map +1 -0
  664. package/eleventy/node_modules/entities/dist/commonjs/encode.d.ts +22 -0
  665. package/eleventy/node_modules/entities/dist/commonjs/encode.d.ts.map +1 -0
  666. package/eleventy/node_modules/entities/dist/commonjs/encode.js +76 -0
  667. package/eleventy/node_modules/entities/dist/commonjs/encode.js.map +1 -0
  668. package/eleventy/node_modules/entities/dist/commonjs/escape.d.ts +43 -0
  669. package/eleventy/node_modules/entities/dist/commonjs/escape.d.ts.map +1 -0
  670. package/eleventy/node_modules/entities/dist/commonjs/escape.js +120 -0
  671. package/eleventy/node_modules/entities/dist/commonjs/escape.js.map +1 -0
  672. package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +3 -0
  673. package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +1 -0
  674. package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-html.js +9 -0
  675. package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
  676. package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +3 -0
  677. package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +1 -0
  678. package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +9 -0
  679. package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
  680. package/eleventy/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +8 -0
  681. package/eleventy/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +1 -0
  682. package/eleventy/node_modules/entities/dist/commonjs/generated/encode-html.js +12 -0
  683. package/eleventy/node_modules/entities/dist/commonjs/generated/encode-html.js.map +1 -0
  684. package/eleventy/node_modules/entities/dist/commonjs/index.d.ts +96 -0
  685. package/eleventy/node_modules/entities/dist/commonjs/index.d.ts.map +1 -0
  686. package/eleventy/node_modules/entities/dist/commonjs/index.js +128 -0
  687. package/eleventy/node_modules/entities/dist/commonjs/index.js.map +1 -0
  688. package/eleventy/node_modules/entities/dist/commonjs/package.json +3 -0
  689. package/eleventy/node_modules/entities/dist/esm/decode-codepoint.d.ts +19 -0
  690. package/eleventy/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +1 -0
  691. package/eleventy/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
  692. package/eleventy/node_modules/entities/dist/esm/decode-codepoint.js.map +1 -0
  693. package/eleventy/node_modules/entities/dist/esm/decode.d.ts +209 -0
  694. package/eleventy/node_modules/entities/dist/esm/decode.d.ts.map +1 -0
  695. package/eleventy/node_modules/entities/dist/esm/decode.js +497 -0
  696. package/eleventy/node_modules/entities/dist/esm/decode.js.map +1 -0
  697. package/eleventy/node_modules/entities/dist/esm/encode.d.ts +22 -0
  698. package/eleventy/node_modules/entities/dist/esm/encode.d.ts.map +1 -0
  699. package/eleventy/node_modules/entities/dist/esm/encode.js +69 -0
  700. package/eleventy/node_modules/entities/dist/esm/encode.js.map +1 -0
  701. package/eleventy/node_modules/entities/dist/esm/escape.d.ts +43 -0
  702. package/eleventy/node_modules/entities/dist/esm/escape.d.ts.map +1 -0
  703. package/eleventy/node_modules/entities/dist/esm/escape.js +116 -0
  704. package/eleventy/node_modules/entities/dist/esm/escape.js.map +1 -0
  705. package/eleventy/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +3 -0
  706. package/eleventy/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +1 -0
  707. package/eleventy/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
  708. package/eleventy/node_modules/entities/dist/esm/generated/decode-data-html.js.map +1 -0
  709. package/eleventy/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +3 -0
  710. package/eleventy/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +1 -0
  711. package/eleventy/node_modules/entities/dist/esm/generated/decode-data-xml.js +7 -0
  712. package/eleventy/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +1 -0
  713. package/eleventy/node_modules/entities/dist/esm/generated/encode-html.d.ts +8 -0
  714. package/eleventy/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +1 -0
  715. package/eleventy/node_modules/entities/dist/esm/generated/encode-html.js +10 -0
  716. package/eleventy/node_modules/entities/dist/esm/generated/encode-html.js.map +1 -0
  717. package/eleventy/node_modules/entities/dist/esm/index.d.ts +96 -0
  718. package/eleventy/node_modules/entities/dist/esm/index.d.ts.map +1 -0
  719. package/eleventy/node_modules/entities/dist/esm/index.js +104 -0
  720. package/eleventy/node_modules/entities/dist/esm/index.js.map +1 -0
  721. package/eleventy/node_modules/entities/dist/esm/package.json +3 -0
  722. package/eleventy/node_modules/entities/package.json +120 -0
  723. package/eleventy/node_modules/entities/readme.md +122 -0
  724. package/eleventy/node_modules/entities/src/decode-codepoint.ts +81 -0
  725. package/eleventy/node_modules/entities/src/decode.spec.ts +320 -0
  726. package/eleventy/node_modules/entities/src/decode.ts +620 -0
  727. package/eleventy/node_modules/entities/src/encode.spec.ts +78 -0
  728. package/eleventy/node_modules/entities/src/encode.ts +77 -0
  729. package/eleventy/node_modules/entities/src/escape.spec.ts +14 -0
  730. package/eleventy/node_modules/entities/src/escape.ts +144 -0
  731. package/eleventy/node_modules/entities/src/generated/.eslintrc.json +10 -0
  732. package/eleventy/node_modules/entities/src/generated/decode-data-html.ts +8 -0
  733. package/eleventy/node_modules/entities/src/generated/decode-data-xml.ts +8 -0
  734. package/eleventy/node_modules/entities/src/generated/encode-html.ts +17 -0
  735. package/eleventy/node_modules/entities/src/index.spec.ts +125 -0
  736. package/eleventy/node_modules/entities/src/index.ts +185 -0
  737. package/eleventy/node_modules/errno/.jshintrc +59 -0
  738. package/eleventy/node_modules/errno/.travis.yml +19 -0
  739. package/eleventy/node_modules/errno/README.md +145 -0
  740. package/eleventy/node_modules/errno/build.js +43 -0
  741. package/eleventy/node_modules/errno/cli.js +22 -0
  742. package/eleventy/node_modules/errno/custom.js +57 -0
  743. package/eleventy/node_modules/errno/errno.js +313 -0
  744. package/eleventy/node_modules/errno/package.json +33 -0
  745. package/eleventy/node_modules/errno/test.js +88 -0
  746. package/eleventy/node_modules/escape-html/LICENSE +24 -0
  747. package/eleventy/node_modules/escape-html/Readme.md +43 -0
  748. package/eleventy/node_modules/escape-html/index.js +78 -0
  749. package/eleventy/node_modules/escape-html/package.json +24 -0
  750. package/eleventy/node_modules/escape-string-regexp/index.d.ts +16 -0
  751. package/eleventy/node_modules/escape-string-regexp/index.js +11 -0
  752. package/eleventy/node_modules/escape-string-regexp/license +9 -0
  753. package/eleventy/node_modules/escape-string-regexp/package.json +40 -0
  754. package/eleventy/node_modules/escape-string-regexp/readme.md +34 -0
  755. package/eleventy/node_modules/esm-import-transformer/.github/workflows/ci.yml +23 -0
  756. package/eleventy/node_modules/esm-import-transformer/README.md +91 -0
  757. package/eleventy/node_modules/esm-import-transformer/import-transformer.js +130 -0
  758. package/eleventy/node_modules/esm-import-transformer/package.json +26 -0
  759. package/eleventy/node_modules/esm-import-transformer/test/commonjsTest.cjs +16 -0
  760. package/eleventy/node_modules/esm-import-transformer/test/test.js +217 -0
  761. package/eleventy/node_modules/esprima/ChangeLog +235 -0
  762. package/eleventy/node_modules/esprima/LICENSE.BSD +21 -0
  763. package/eleventy/node_modules/esprima/README.md +46 -0
  764. package/eleventy/node_modules/esprima/bin/esparse.js +139 -0
  765. package/eleventy/node_modules/esprima/bin/esvalidate.js +236 -0
  766. package/eleventy/node_modules/esprima/dist/esprima.js +6709 -0
  767. package/eleventy/node_modules/esprima/package.json +112 -0
  768. package/eleventy/node_modules/etag/HISTORY.md +83 -0
  769. package/eleventy/node_modules/etag/LICENSE +22 -0
  770. package/eleventy/node_modules/etag/README.md +159 -0
  771. package/eleventy/node_modules/etag/index.js +131 -0
  772. package/eleventy/node_modules/etag/package.json +47 -0
  773. package/eleventy/node_modules/evaluate-value/LICENSE +21 -0
  774. package/eleventy/node_modules/evaluate-value/README.md +41 -0
  775. package/eleventy/node_modules/evaluate-value/index-es5.js +17 -0
  776. package/eleventy/node_modules/evaluate-value/index-es5.js.map +1 -0
  777. package/eleventy/node_modules/evaluate-value/index.js +17 -0
  778. package/eleventy/node_modules/evaluate-value/package.json +33 -0
  779. package/eleventy/node_modules/extend-shallow/LICENSE +21 -0
  780. package/eleventy/node_modules/extend-shallow/README.md +61 -0
  781. package/eleventy/node_modules/extend-shallow/index.js +33 -0
  782. package/eleventy/node_modules/extend-shallow/package.json +56 -0
  783. package/eleventy/node_modules/fast-glob/LICENSE +21 -0
  784. package/eleventy/node_modules/fast-glob/README.md +830 -0
  785. package/eleventy/node_modules/fast-glob/out/index.d.ts +40 -0
  786. package/eleventy/node_modules/fast-glob/out/index.js +102 -0
  787. package/eleventy/node_modules/fast-glob/out/managers/tasks.d.ts +22 -0
  788. package/eleventy/node_modules/fast-glob/out/managers/tasks.js +110 -0
  789. package/eleventy/node_modules/fast-glob/out/providers/async.d.ts +9 -0
  790. package/eleventy/node_modules/fast-glob/out/providers/async.js +23 -0
  791. package/eleventy/node_modules/fast-glob/out/providers/filters/deep.d.ts +16 -0
  792. package/eleventy/node_modules/fast-glob/out/providers/filters/deep.js +62 -0
  793. package/eleventy/node_modules/fast-glob/out/providers/filters/entry.d.ts +17 -0
  794. package/eleventy/node_modules/fast-glob/out/providers/filters/entry.js +85 -0
  795. package/eleventy/node_modules/fast-glob/out/providers/filters/error.d.ts +8 -0
  796. package/eleventy/node_modules/fast-glob/out/providers/filters/error.js +15 -0
  797. package/eleventy/node_modules/fast-glob/out/providers/matchers/matcher.d.ts +33 -0
  798. package/eleventy/node_modules/fast-glob/out/providers/matchers/matcher.js +45 -0
  799. package/eleventy/node_modules/fast-glob/out/providers/matchers/partial.d.ts +4 -0
  800. package/eleventy/node_modules/fast-glob/out/providers/matchers/partial.js +38 -0
  801. package/eleventy/node_modules/fast-glob/out/providers/provider.d.ts +19 -0
  802. package/eleventy/node_modules/fast-glob/out/providers/provider.js +48 -0
  803. package/eleventy/node_modules/fast-glob/out/providers/stream.d.ts +11 -0
  804. package/eleventy/node_modules/fast-glob/out/providers/stream.js +31 -0
  805. package/eleventy/node_modules/fast-glob/out/providers/sync.d.ts +9 -0
  806. package/eleventy/node_modules/fast-glob/out/providers/sync.js +23 -0
  807. package/eleventy/node_modules/fast-glob/out/providers/transformers/entry.d.ts +8 -0
  808. package/eleventy/node_modules/fast-glob/out/providers/transformers/entry.js +26 -0
  809. package/eleventy/node_modules/fast-glob/out/readers/async.d.ts +10 -0
  810. package/eleventy/node_modules/fast-glob/out/readers/async.js +35 -0
  811. package/eleventy/node_modules/fast-glob/out/readers/reader.d.ts +15 -0
  812. package/eleventy/node_modules/fast-glob/out/readers/reader.js +33 -0
  813. package/eleventy/node_modules/fast-glob/out/readers/stream.d.ts +14 -0
  814. package/eleventy/node_modules/fast-glob/out/readers/stream.js +55 -0
  815. package/eleventy/node_modules/fast-glob/out/readers/sync.d.ts +12 -0
  816. package/eleventy/node_modules/fast-glob/out/readers/sync.js +43 -0
  817. package/eleventy/node_modules/fast-glob/out/settings.d.ts +164 -0
  818. package/eleventy/node_modules/fast-glob/out/settings.js +59 -0
  819. package/eleventy/node_modules/fast-glob/out/types/index.d.ts +31 -0
  820. package/eleventy/node_modules/fast-glob/out/types/index.js +2 -0
  821. package/eleventy/node_modules/fast-glob/out/utils/array.d.ts +2 -0
  822. package/eleventy/node_modules/fast-glob/out/utils/array.js +22 -0
  823. package/eleventy/node_modules/fast-glob/out/utils/errno.d.ts +2 -0
  824. package/eleventy/node_modules/fast-glob/out/utils/errno.js +7 -0
  825. package/eleventy/node_modules/fast-glob/out/utils/fs.d.ts +4 -0
  826. package/eleventy/node_modules/fast-glob/out/utils/fs.js +19 -0
  827. package/eleventy/node_modules/fast-glob/out/utils/index.d.ts +8 -0
  828. package/eleventy/node_modules/fast-glob/out/utils/index.js +17 -0
  829. package/eleventy/node_modules/fast-glob/out/utils/path.d.ts +13 -0
  830. package/eleventy/node_modules/fast-glob/out/utils/path.js +68 -0
  831. package/eleventy/node_modules/fast-glob/out/utils/pattern.d.ts +49 -0
  832. package/eleventy/node_modules/fast-glob/out/utils/pattern.js +206 -0
  833. package/eleventy/node_modules/fast-glob/out/utils/stream.d.ts +4 -0
  834. package/eleventy/node_modules/fast-glob/out/utils/stream.js +17 -0
  835. package/eleventy/node_modules/fast-glob/out/utils/string.d.ts +2 -0
  836. package/eleventy/node_modules/fast-glob/out/utils/string.js +11 -0
  837. package/eleventy/node_modules/fast-glob/package.json +81 -0
  838. package/eleventy/node_modules/fastq/.github/dependabot.yml +11 -0
  839. package/eleventy/node_modules/fastq/.github/workflows/ci.yml +75 -0
  840. package/eleventy/node_modules/fastq/LICENSE +13 -0
  841. package/eleventy/node_modules/fastq/README.md +306 -0
  842. package/eleventy/node_modules/fastq/SECURITY.md +15 -0
  843. package/eleventy/node_modules/fastq/bench.js +66 -0
  844. package/eleventy/node_modules/fastq/example.js +14 -0
  845. package/eleventy/node_modules/fastq/example.mjs +11 -0
  846. package/eleventy/node_modules/fastq/index.d.ts +38 -0
  847. package/eleventy/node_modules/fastq/package.json +53 -0
  848. package/eleventy/node_modules/fastq/queue.js +311 -0
  849. package/eleventy/node_modules/fastq/test/example.ts +83 -0
  850. package/eleventy/node_modules/fastq/test/promise.js +291 -0
  851. package/eleventy/node_modules/fastq/test/test.js +642 -0
  852. package/eleventy/node_modules/fastq/test/tsconfig.json +11 -0
  853. package/eleventy/node_modules/filesize/LICENSE +28 -0
  854. package/eleventy/node_modules/filesize/README.md +113 -0
  855. package/eleventy/node_modules/filesize/dist/filesize.cjs +238 -0
  856. package/eleventy/node_modules/filesize/dist/filesize.esm.js +231 -0
  857. package/eleventy/node_modules/filesize/package.json +60 -0
  858. package/eleventy/node_modules/filesize/types/filesize.d.ts +56 -0
  859. package/eleventy/node_modules/fill-range/LICENSE +21 -0
  860. package/eleventy/node_modules/fill-range/README.md +237 -0
  861. package/eleventy/node_modules/fill-range/index.js +248 -0
  862. package/eleventy/node_modules/fill-range/package.json +74 -0
  863. package/eleventy/node_modules/finalhandler/HISTORY.md +210 -0
  864. package/eleventy/node_modules/finalhandler/LICENSE +22 -0
  865. package/eleventy/node_modules/finalhandler/README.md +147 -0
  866. package/eleventy/node_modules/finalhandler/SECURITY.md +25 -0
  867. package/eleventy/node_modules/finalhandler/index.js +341 -0
  868. package/eleventy/node_modules/finalhandler/node_modules/debug/.coveralls.yml +1 -0
  869. package/eleventy/node_modules/finalhandler/node_modules/debug/.eslintrc +11 -0
  870. package/eleventy/node_modules/finalhandler/node_modules/debug/.travis.yml +14 -0
  871. package/eleventy/node_modules/finalhandler/node_modules/debug/CHANGELOG.md +362 -0
  872. package/eleventy/node_modules/finalhandler/node_modules/debug/LICENSE +19 -0
  873. package/eleventy/node_modules/finalhandler/node_modules/debug/Makefile +50 -0
  874. package/eleventy/node_modules/finalhandler/node_modules/debug/README.md +312 -0
  875. package/eleventy/node_modules/finalhandler/node_modules/debug/component.json +19 -0
  876. package/eleventy/node_modules/finalhandler/node_modules/debug/karma.conf.js +70 -0
  877. package/eleventy/node_modules/finalhandler/node_modules/debug/node.js +1 -0
  878. package/eleventy/node_modules/finalhandler/node_modules/debug/package.json +49 -0
  879. package/eleventy/node_modules/finalhandler/node_modules/debug/src/browser.js +185 -0
  880. package/eleventy/node_modules/finalhandler/node_modules/debug/src/debug.js +202 -0
  881. package/eleventy/node_modules/finalhandler/node_modules/debug/src/index.js +10 -0
  882. package/eleventy/node_modules/finalhandler/node_modules/debug/src/inspector-log.js +15 -0
  883. package/eleventy/node_modules/finalhandler/node_modules/debug/src/node.js +248 -0
  884. package/eleventy/node_modules/finalhandler/node_modules/ms/index.js +152 -0
  885. package/eleventy/node_modules/finalhandler/node_modules/ms/license.md +21 -0
  886. package/eleventy/node_modules/finalhandler/node_modules/ms/package.json +37 -0
  887. package/eleventy/node_modules/finalhandler/node_modules/ms/readme.md +51 -0
  888. package/eleventy/node_modules/finalhandler/package.json +47 -0
  889. package/eleventy/node_modules/foreground-child/LICENSE +15 -0
  890. package/eleventy/node_modules/foreground-child/README.md +128 -0
  891. package/eleventy/node_modules/foreground-child/dist/commonjs/all-signals.d.ts +3 -0
  892. package/eleventy/node_modules/foreground-child/dist/commonjs/all-signals.d.ts.map +1 -0
  893. package/eleventy/node_modules/foreground-child/dist/commonjs/all-signals.js +58 -0
  894. package/eleventy/node_modules/foreground-child/dist/commonjs/all-signals.js.map +1 -0
  895. package/eleventy/node_modules/foreground-child/dist/commonjs/index.d.ts +65 -0
  896. package/eleventy/node_modules/foreground-child/dist/commonjs/index.d.ts.map +1 -0
  897. package/eleventy/node_modules/foreground-child/dist/commonjs/index.js +123 -0
  898. package/eleventy/node_modules/foreground-child/dist/commonjs/index.js.map +1 -0
  899. package/eleventy/node_modules/foreground-child/dist/commonjs/package.json +3 -0
  900. package/eleventy/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts +7 -0
  901. package/eleventy/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts.map +1 -0
  902. package/eleventy/node_modules/foreground-child/dist/commonjs/proxy-signals.js +38 -0
  903. package/eleventy/node_modules/foreground-child/dist/commonjs/proxy-signals.js.map +1 -0
  904. package/eleventy/node_modules/foreground-child/dist/commonjs/watchdog.d.ts +11 -0
  905. package/eleventy/node_modules/foreground-child/dist/commonjs/watchdog.d.ts.map +1 -0
  906. package/eleventy/node_modules/foreground-child/dist/commonjs/watchdog.js +50 -0
  907. package/eleventy/node_modules/foreground-child/dist/commonjs/watchdog.js.map +1 -0
  908. package/eleventy/node_modules/foreground-child/dist/esm/all-signals.d.ts +3 -0
  909. package/eleventy/node_modules/foreground-child/dist/esm/all-signals.d.ts.map +1 -0
  910. package/eleventy/node_modules/foreground-child/dist/esm/all-signals.js +52 -0
  911. package/eleventy/node_modules/foreground-child/dist/esm/all-signals.js.map +1 -0
  912. package/eleventy/node_modules/foreground-child/dist/esm/index.d.ts +65 -0
  913. package/eleventy/node_modules/foreground-child/dist/esm/index.d.ts.map +1 -0
  914. package/eleventy/node_modules/foreground-child/dist/esm/index.js +115 -0
  915. package/eleventy/node_modules/foreground-child/dist/esm/index.js.map +1 -0
  916. package/eleventy/node_modules/foreground-child/dist/esm/package.json +3 -0
  917. package/eleventy/node_modules/foreground-child/dist/esm/proxy-signals.d.ts +7 -0
  918. package/eleventy/node_modules/foreground-child/dist/esm/proxy-signals.d.ts.map +1 -0
  919. package/eleventy/node_modules/foreground-child/dist/esm/proxy-signals.js +34 -0
  920. package/eleventy/node_modules/foreground-child/dist/esm/proxy-signals.js.map +1 -0
  921. package/eleventy/node_modules/foreground-child/dist/esm/watchdog.d.ts +11 -0
  922. package/eleventy/node_modules/foreground-child/dist/esm/watchdog.d.ts.map +1 -0
  923. package/eleventy/node_modules/foreground-child/dist/esm/watchdog.js +46 -0
  924. package/eleventy/node_modules/foreground-child/dist/esm/watchdog.js.map +1 -0
  925. package/eleventy/node_modules/foreground-child/package.json +111 -0
  926. package/eleventy/node_modules/fresh/HISTORY.md +70 -0
  927. package/eleventy/node_modules/fresh/LICENSE +23 -0
  928. package/eleventy/node_modules/fresh/README.md +119 -0
  929. package/eleventy/node_modules/fresh/index.js +137 -0
  930. package/eleventy/node_modules/fresh/package.json +46 -0
  931. package/eleventy/node_modules/fsevents/LICENSE +22 -0
  932. package/eleventy/node_modules/fsevents/README.md +89 -0
  933. package/eleventy/node_modules/fsevents/fsevents.d.ts +46 -0
  934. package/eleventy/node_modules/fsevents/fsevents.js +83 -0
  935. package/eleventy/node_modules/fsevents/fsevents.node +0 -0
  936. package/eleventy/node_modules/fsevents/package.json +62 -0
  937. package/eleventy/node_modules/glob/LICENSE +15 -0
  938. package/eleventy/node_modules/glob/README.md +1265 -0
  939. package/eleventy/node_modules/glob/dist/commonjs/glob.d.ts +388 -0
  940. package/eleventy/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
  941. package/eleventy/node_modules/glob/dist/commonjs/glob.js +247 -0
  942. package/eleventy/node_modules/glob/dist/commonjs/glob.js.map +1 -0
  943. package/eleventy/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
  944. package/eleventy/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
  945. package/eleventy/node_modules/glob/dist/commonjs/has-magic.js +27 -0
  946. package/eleventy/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
  947. package/eleventy/node_modules/glob/dist/commonjs/ignore.d.ts +24 -0
  948. package/eleventy/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
  949. package/eleventy/node_modules/glob/dist/commonjs/ignore.js +119 -0
  950. package/eleventy/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
  951. package/eleventy/node_modules/glob/dist/commonjs/index.d.ts +97 -0
  952. package/eleventy/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
  953. package/eleventy/node_modules/glob/dist/commonjs/index.js +68 -0
  954. package/eleventy/node_modules/glob/dist/commonjs/index.js.map +1 -0
  955. package/eleventy/node_modules/glob/dist/commonjs/package.json +3 -0
  956. package/eleventy/node_modules/glob/dist/commonjs/pattern.d.ts +76 -0
  957. package/eleventy/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
  958. package/eleventy/node_modules/glob/dist/commonjs/pattern.js +219 -0
  959. package/eleventy/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
  960. package/eleventy/node_modules/glob/dist/commonjs/processor.d.ts +59 -0
  961. package/eleventy/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
  962. package/eleventy/node_modules/glob/dist/commonjs/processor.js +301 -0
  963. package/eleventy/node_modules/glob/dist/commonjs/processor.js.map +1 -0
  964. package/eleventy/node_modules/glob/dist/commonjs/walker.d.ts +97 -0
  965. package/eleventy/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
  966. package/eleventy/node_modules/glob/dist/commonjs/walker.js +387 -0
  967. package/eleventy/node_modules/glob/dist/commonjs/walker.js.map +1 -0
  968. package/eleventy/node_modules/glob/dist/esm/bin.d.mts +3 -0
  969. package/eleventy/node_modules/glob/dist/esm/bin.d.mts.map +1 -0
  970. package/eleventy/node_modules/glob/dist/esm/bin.mjs +270 -0
  971. package/eleventy/node_modules/glob/dist/esm/bin.mjs.map +1 -0
  972. package/eleventy/node_modules/glob/dist/esm/glob.d.ts +388 -0
  973. package/eleventy/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
  974. package/eleventy/node_modules/glob/dist/esm/glob.js +243 -0
  975. package/eleventy/node_modules/glob/dist/esm/glob.js.map +1 -0
  976. package/eleventy/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
  977. package/eleventy/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
  978. package/eleventy/node_modules/glob/dist/esm/has-magic.js +23 -0
  979. package/eleventy/node_modules/glob/dist/esm/has-magic.js.map +1 -0
  980. package/eleventy/node_modules/glob/dist/esm/ignore.d.ts +24 -0
  981. package/eleventy/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
  982. package/eleventy/node_modules/glob/dist/esm/ignore.js +115 -0
  983. package/eleventy/node_modules/glob/dist/esm/ignore.js.map +1 -0
  984. package/eleventy/node_modules/glob/dist/esm/index.d.ts +97 -0
  985. package/eleventy/node_modules/glob/dist/esm/index.d.ts.map +1 -0
  986. package/eleventy/node_modules/glob/dist/esm/index.js +55 -0
  987. package/eleventy/node_modules/glob/dist/esm/index.js.map +1 -0
  988. package/eleventy/node_modules/glob/dist/esm/package.json +3 -0
  989. package/eleventy/node_modules/glob/dist/esm/pattern.d.ts +76 -0
  990. package/eleventy/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
  991. package/eleventy/node_modules/glob/dist/esm/pattern.js +215 -0
  992. package/eleventy/node_modules/glob/dist/esm/pattern.js.map +1 -0
  993. package/eleventy/node_modules/glob/dist/esm/processor.d.ts +59 -0
  994. package/eleventy/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
  995. package/eleventy/node_modules/glob/dist/esm/processor.js +294 -0
  996. package/eleventy/node_modules/glob/dist/esm/processor.js.map +1 -0
  997. package/eleventy/node_modules/glob/dist/esm/walker.d.ts +97 -0
  998. package/eleventy/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
  999. package/eleventy/node_modules/glob/dist/esm/walker.js +381 -0
  1000. package/eleventy/node_modules/glob/dist/esm/walker.js.map +1 -0
  1001. package/eleventy/node_modules/glob/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
  1002. package/eleventy/node_modules/glob/node_modules/brace-expansion/LICENSE +21 -0
  1003. package/eleventy/node_modules/glob/node_modules/brace-expansion/README.md +135 -0
  1004. package/eleventy/node_modules/glob/node_modules/brace-expansion/index.js +203 -0
  1005. package/eleventy/node_modules/glob/node_modules/brace-expansion/package.json +46 -0
  1006. package/eleventy/node_modules/glob/node_modules/minimatch/LICENSE +15 -0
  1007. package/eleventy/node_modules/glob/node_modules/minimatch/README.md +454 -0
  1008. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
  1009. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
  1010. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
  1011. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
  1012. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts +20 -0
  1013. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
  1014. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js +592 -0
  1015. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
  1016. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
  1017. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
  1018. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js +152 -0
  1019. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
  1020. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts +12 -0
  1021. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
  1022. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js +22 -0
  1023. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
  1024. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts +94 -0
  1025. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
  1026. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js +1017 -0
  1027. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
  1028. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/package.json +3 -0
  1029. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts +17 -0
  1030. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
  1031. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js +24 -0
  1032. package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
  1033. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
  1034. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
  1035. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
  1036. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
  1037. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts +20 -0
  1038. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
  1039. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/ast.js +588 -0
  1040. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/ast.js.map +1 -0
  1041. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
  1042. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
  1043. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js +148 -0
  1044. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
  1045. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts +12 -0
  1046. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
  1047. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/escape.js +18 -0
  1048. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/escape.js.map +1 -0
  1049. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts +94 -0
  1050. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
  1051. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/index.js +1001 -0
  1052. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/index.js.map +1 -0
  1053. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/package.json +3 -0
  1054. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts +17 -0
  1055. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
  1056. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js +20 -0
  1057. package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
  1058. package/eleventy/node_modules/glob/node_modules/minimatch/package.json +82 -0
  1059. package/eleventy/node_modules/glob/package.json +99 -0
  1060. package/eleventy/node_modules/glob-parent/CHANGELOG.md +110 -0
  1061. package/eleventy/node_modules/glob-parent/LICENSE +15 -0
  1062. package/eleventy/node_modules/glob-parent/README.md +137 -0
  1063. package/eleventy/node_modules/glob-parent/index.js +42 -0
  1064. package/eleventy/node_modules/glob-parent/package.json +48 -0
  1065. package/eleventy/node_modules/graceful-fs/LICENSE +15 -0
  1066. package/eleventy/node_modules/graceful-fs/README.md +143 -0
  1067. package/eleventy/node_modules/graceful-fs/clone.js +23 -0
  1068. package/eleventy/node_modules/graceful-fs/graceful-fs.js +448 -0
  1069. package/eleventy/node_modules/graceful-fs/legacy-streams.js +118 -0
  1070. package/eleventy/node_modules/graceful-fs/package.json +53 -0
  1071. package/eleventy/node_modules/graceful-fs/polyfills.js +355 -0
  1072. package/eleventy/node_modules/gray-matter/CHANGELOG.md +24 -0
  1073. package/eleventy/node_modules/gray-matter/LICENSE +21 -0
  1074. package/eleventy/node_modules/gray-matter/README.md +565 -0
  1075. package/eleventy/node_modules/gray-matter/gray-matter.d.ts +114 -0
  1076. package/eleventy/node_modules/gray-matter/index.js +228 -0
  1077. package/eleventy/node_modules/gray-matter/lib/defaults.js +18 -0
  1078. package/eleventy/node_modules/gray-matter/lib/engine.js +30 -0
  1079. package/eleventy/node_modules/gray-matter/lib/engines.js +54 -0
  1080. package/eleventy/node_modules/gray-matter/lib/excerpt.js +32 -0
  1081. package/eleventy/node_modules/gray-matter/lib/parse.js +13 -0
  1082. package/eleventy/node_modules/gray-matter/lib/stringify.js +56 -0
  1083. package/eleventy/node_modules/gray-matter/lib/to-file.js +43 -0
  1084. package/eleventy/node_modules/gray-matter/lib/utils.js +66 -0
  1085. package/eleventy/node_modules/gray-matter/node_modules/argparse/CHANGELOG.md +185 -0
  1086. package/eleventy/node_modules/gray-matter/node_modules/argparse/LICENSE +21 -0
  1087. package/eleventy/node_modules/gray-matter/node_modules/argparse/README.md +257 -0
  1088. package/eleventy/node_modules/gray-matter/node_modules/argparse/index.js +3 -0
  1089. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/append/constant.js +47 -0
  1090. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/append.js +53 -0
  1091. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/count.js +40 -0
  1092. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/help.js +47 -0
  1093. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/store/constant.js +43 -0
  1094. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/store/false.js +27 -0
  1095. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/store/true.js +26 -0
  1096. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/store.js +50 -0
  1097. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/subparsers.js +149 -0
  1098. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/version.js +47 -0
  1099. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action.js +146 -0
  1100. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action_container.js +482 -0
  1101. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/argparse.js +14 -0
  1102. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/argument/error.js +50 -0
  1103. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/argument/exclusive.js +54 -0
  1104. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/argument/group.js +75 -0
  1105. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/argument_parser.js +1161 -0
  1106. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/const.js +21 -0
  1107. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/help/added_formatters.js +87 -0
  1108. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/help/formatter.js +795 -0
  1109. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/namespace.js +76 -0
  1110. package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/utils.js +57 -0
  1111. package/eleventy/node_modules/gray-matter/node_modules/argparse/package.json +34 -0
  1112. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/CHANGELOG.md +557 -0
  1113. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/LICENSE +21 -0
  1114. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/README.md +299 -0
  1115. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/bin/js-yaml.js +132 -0
  1116. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/dist/js-yaml.js +3989 -0
  1117. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/dist/js-yaml.min.js +1 -0
  1118. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/index.js +7 -0
  1119. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/common.js +59 -0
  1120. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/dumper.js +850 -0
  1121. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/exception.js +43 -0
  1122. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/loader.js +1644 -0
  1123. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/mark.js +76 -0
  1124. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
  1125. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
  1126. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
  1127. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
  1128. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
  1129. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/schema.js +108 -0
  1130. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/binary.js +138 -0
  1131. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/bool.js +35 -0
  1132. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/float.js +116 -0
  1133. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/int.js +173 -0
  1134. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/js/function.js +93 -0
  1135. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +60 -0
  1136. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
  1137. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
  1138. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
  1139. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/null.js +34 -0
  1140. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/omap.js +44 -0
  1141. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/pairs.js +53 -0
  1142. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
  1143. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/set.js +29 -0
  1144. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
  1145. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +88 -0
  1146. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
  1147. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml.js +39 -0
  1148. package/eleventy/node_modules/gray-matter/node_modules/js-yaml/package.json +49 -0
  1149. package/eleventy/node_modules/gray-matter/package.json +127 -0
  1150. package/eleventy/node_modules/htmlparser2/LICENSE +18 -0
  1151. package/eleventy/node_modules/htmlparser2/README.md +166 -0
  1152. package/eleventy/node_modules/htmlparser2/lib/FeedHandler.d.ts +23 -0
  1153. package/eleventy/node_modules/htmlparser2/lib/FeedHandler.d.ts.map +1 -0
  1154. package/eleventy/node_modules/htmlparser2/lib/FeedHandler.js +68 -0
  1155. package/eleventy/node_modules/htmlparser2/lib/Parser.d.ts +180 -0
  1156. package/eleventy/node_modules/htmlparser2/lib/Parser.d.ts.map +1 -0
  1157. package/eleventy/node_modules/htmlparser2/lib/Parser.js +424 -0
  1158. package/eleventy/node_modules/htmlparser2/lib/Tokenizer.d.ts +173 -0
  1159. package/eleventy/node_modules/htmlparser2/lib/Tokenizer.d.ts.map +1 -0
  1160. package/eleventy/node_modules/htmlparser2/lib/Tokenizer.js +821 -0
  1161. package/eleventy/node_modules/htmlparser2/lib/WritableStream.d.ts +16 -0
  1162. package/eleventy/node_modules/htmlparser2/lib/WritableStream.d.ts.map +1 -0
  1163. package/eleventy/node_modules/htmlparser2/lib/WritableStream.js +53 -0
  1164. package/eleventy/node_modules/htmlparser2/lib/index.d.ts +39 -0
  1165. package/eleventy/node_modules/htmlparser2/lib/index.d.ts.map +1 -0
  1166. package/eleventy/node_modules/htmlparser2/lib/index.js +84 -0
  1167. package/eleventy/node_modules/htmlparser2/node_modules/entities/LICENSE +11 -0
  1168. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/decode.d.ts +15 -0
  1169. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/decode.d.ts.map +1 -0
  1170. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/decode.js +145 -0
  1171. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.d.ts +2 -0
  1172. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
  1173. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js +54 -0
  1174. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/encode-trie.d.ts +8 -0
  1175. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/encode-trie.d.ts.map +1 -0
  1176. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/encode-trie.js +77 -0
  1177. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/encode.d.ts +46 -0
  1178. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/encode.d.ts.map +1 -0
  1179. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/encode.js +126 -0
  1180. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
  1181. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
  1182. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-html.js +5 -0
  1183. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
  1184. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
  1185. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-xml.js +5 -0
  1186. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/index.d.ts +91 -0
  1187. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/index.d.ts.map +1 -0
  1188. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/index.js +118 -0
  1189. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/maps/entities.json +1 -0
  1190. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/maps/legacy.json +1 -0
  1191. package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/maps/xml.json +1 -0
  1192. package/eleventy/node_modules/htmlparser2/node_modules/entities/package.json +67 -0
  1193. package/eleventy/node_modules/htmlparser2/node_modules/entities/readme.md +74 -0
  1194. package/eleventy/node_modules/htmlparser2/package.json +75 -0
  1195. package/eleventy/node_modules/http-equiv-refresh/README.md +31 -0
  1196. package/eleventy/node_modules/http-equiv-refresh/index-es5.js +30 -0
  1197. package/eleventy/node_modules/http-equiv-refresh/index-es5.js.map +1 -0
  1198. package/eleventy/node_modules/http-equiv-refresh/index.js +24 -0
  1199. package/eleventy/node_modules/http-equiv-refresh/license +21 -0
  1200. package/eleventy/node_modules/http-equiv-refresh/package.json +42 -0
  1201. package/eleventy/node_modules/http-errors/HISTORY.md +180 -0
  1202. package/eleventy/node_modules/http-errors/LICENSE +23 -0
  1203. package/eleventy/node_modules/http-errors/README.md +169 -0
  1204. package/eleventy/node_modules/http-errors/index.js +289 -0
  1205. package/eleventy/node_modules/http-errors/package.json +50 -0
  1206. package/eleventy/node_modules/inherits/LICENSE +16 -0
  1207. package/eleventy/node_modules/inherits/README.md +42 -0
  1208. package/eleventy/node_modules/inherits/inherits.js +9 -0
  1209. package/eleventy/node_modules/inherits/inherits_browser.js +27 -0
  1210. package/eleventy/node_modules/inherits/package.json +29 -0
  1211. package/eleventy/node_modules/is-alphabetical/index.d.ts +8 -0
  1212. package/eleventy/node_modules/is-alphabetical/index.js +16 -0
  1213. package/eleventy/node_modules/is-alphabetical/license +22 -0
  1214. package/eleventy/node_modules/is-alphabetical/package.json +73 -0
  1215. package/eleventy/node_modules/is-alphabetical/readme.md +141 -0
  1216. package/eleventy/node_modules/is-alphanumerical/index.d.ts +8 -0
  1217. package/eleventy/node_modules/is-alphanumerical/index.js +13 -0
  1218. package/eleventy/node_modules/is-alphanumerical/license +22 -0
  1219. package/eleventy/node_modules/is-alphanumerical/package.json +79 -0
  1220. package/eleventy/node_modules/is-alphanumerical/readme.md +142 -0
  1221. package/eleventy/node_modules/is-binary-path/index.d.ts +17 -0
  1222. package/eleventy/node_modules/is-binary-path/index.js +7 -0
  1223. package/eleventy/node_modules/is-binary-path/license +9 -0
  1224. package/eleventy/node_modules/is-binary-path/package.json +40 -0
  1225. package/eleventy/node_modules/is-binary-path/readme.md +34 -0
  1226. package/eleventy/node_modules/is-decimal/index.d.ts +8 -0
  1227. package/eleventy/node_modules/is-decimal/index.js +13 -0
  1228. package/eleventy/node_modules/is-decimal/license +22 -0
  1229. package/eleventy/node_modules/is-decimal/package.json +73 -0
  1230. package/eleventy/node_modules/is-decimal/readme.md +139 -0
  1231. package/eleventy/node_modules/is-extendable/LICENSE +21 -0
  1232. package/eleventy/node_modules/is-extendable/README.md +72 -0
  1233. package/eleventy/node_modules/is-extendable/index.js +13 -0
  1234. package/eleventy/node_modules/is-extendable/package.json +51 -0
  1235. package/eleventy/node_modules/is-extglob/LICENSE +21 -0
  1236. package/eleventy/node_modules/is-extglob/README.md +107 -0
  1237. package/eleventy/node_modules/is-extglob/index.js +20 -0
  1238. package/eleventy/node_modules/is-extglob/package.json +69 -0
  1239. package/eleventy/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  1240. package/eleventy/node_modules/is-fullwidth-code-point/index.js +50 -0
  1241. package/eleventy/node_modules/is-fullwidth-code-point/license +9 -0
  1242. package/eleventy/node_modules/is-fullwidth-code-point/package.json +42 -0
  1243. package/eleventy/node_modules/is-fullwidth-code-point/readme.md +39 -0
  1244. package/eleventy/node_modules/is-glob/LICENSE +21 -0
  1245. package/eleventy/node_modules/is-glob/README.md +206 -0
  1246. package/eleventy/node_modules/is-glob/index.js +150 -0
  1247. package/eleventy/node_modules/is-glob/package.json +81 -0
  1248. package/eleventy/node_modules/is-json/.travis.yml +14 -0
  1249. package/eleventy/node_modules/is-json/LICENSE +15 -0
  1250. package/eleventy/node_modules/is-json/README.md +41 -0
  1251. package/eleventy/node_modules/is-json/index.js +48 -0
  1252. package/eleventy/node_modules/is-json/package.json +29 -0
  1253. package/eleventy/node_modules/is-json/test/index.js +33 -0
  1254. package/eleventy/node_modules/is-number/LICENSE +21 -0
  1255. package/eleventy/node_modules/is-number/README.md +187 -0
  1256. package/eleventy/node_modules/is-number/index.js +18 -0
  1257. package/eleventy/node_modules/is-number/package.json +82 -0
  1258. package/eleventy/node_modules/isexe/LICENSE +15 -0
  1259. package/eleventy/node_modules/isexe/README.md +51 -0
  1260. package/eleventy/node_modules/isexe/index.js +57 -0
  1261. package/eleventy/node_modules/isexe/mode.js +41 -0
  1262. package/eleventy/node_modules/isexe/package.json +31 -0
  1263. package/eleventy/node_modules/isexe/test/basic.js +221 -0
  1264. package/eleventy/node_modules/isexe/windows.js +42 -0
  1265. package/eleventy/node_modules/iso-639-1/.eslintrc +38 -0
  1266. package/eleventy/node_modules/iso-639-1/.nvmrc +1 -0
  1267. package/eleventy/node_modules/iso-639-1/.prettierrc +4 -0
  1268. package/eleventy/node_modules/iso-639-1/.travis.yml +6 -0
  1269. package/eleventy/node_modules/iso-639-1/CHANGELOG.md +75 -0
  1270. package/eleventy/node_modules/iso-639-1/LICENSE +21 -0
  1271. package/eleventy/node_modules/iso-639-1/index.d.ts +205 -0
  1272. package/eleventy/node_modules/iso-639-1/package.json +41 -0
  1273. package/eleventy/node_modules/iso-639-1/readme.md +121 -0
  1274. package/eleventy/node_modules/iso-639-1/src/data.js +736 -0
  1275. package/eleventy/node_modules/iso-639-1/src/index.js +59 -0
  1276. package/eleventy/node_modules/iso-639-1/test/test.js +92 -0
  1277. package/eleventy/node_modules/iso-639-1/webpack.config.js +20 -0
  1278. package/eleventy/node_modules/jackspeak/LICENSE.md +55 -0
  1279. package/eleventy/node_modules/jackspeak/README.md +357 -0
  1280. package/eleventy/node_modules/jackspeak/dist/commonjs/index.d.ts +315 -0
  1281. package/eleventy/node_modules/jackspeak/dist/commonjs/index.d.ts.map +1 -0
  1282. package/eleventy/node_modules/jackspeak/dist/commonjs/index.js +1010 -0
  1283. package/eleventy/node_modules/jackspeak/dist/commonjs/index.js.map +1 -0
  1284. package/eleventy/node_modules/jackspeak/dist/commonjs/package.json +3 -0
  1285. package/eleventy/node_modules/jackspeak/dist/commonjs/parse-args-cjs.cjs.map +1 -0
  1286. package/eleventy/node_modules/jackspeak/dist/commonjs/parse-args-cjs.d.cts.map +1 -0
  1287. package/eleventy/node_modules/jackspeak/dist/commonjs/parse-args.d.ts +4 -0
  1288. package/eleventy/node_modules/jackspeak/dist/commonjs/parse-args.js +50 -0
  1289. package/eleventy/node_modules/jackspeak/dist/esm/index.d.ts +315 -0
  1290. package/eleventy/node_modules/jackspeak/dist/esm/index.d.ts.map +1 -0
  1291. package/eleventy/node_modules/jackspeak/dist/esm/index.js +1000 -0
  1292. package/eleventy/node_modules/jackspeak/dist/esm/index.js.map +1 -0
  1293. package/eleventy/node_modules/jackspeak/dist/esm/package.json +3 -0
  1294. package/eleventy/node_modules/jackspeak/dist/esm/parse-args.d.ts +4 -0
  1295. package/eleventy/node_modules/jackspeak/dist/esm/parse-args.d.ts.map +1 -0
  1296. package/eleventy/node_modules/jackspeak/dist/esm/parse-args.js +26 -0
  1297. package/eleventy/node_modules/jackspeak/dist/esm/parse-args.js.map +1 -0
  1298. package/eleventy/node_modules/jackspeak/package.json +95 -0
  1299. package/eleventy/node_modules/js-yaml/CHANGELOG.md +616 -0
  1300. package/eleventy/node_modules/js-yaml/LICENSE +21 -0
  1301. package/eleventy/node_modules/js-yaml/README.md +246 -0
  1302. package/eleventy/node_modules/js-yaml/bin/js-yaml.js +126 -0
  1303. package/eleventy/node_modules/js-yaml/dist/js-yaml.js +3874 -0
  1304. package/eleventy/node_modules/js-yaml/dist/js-yaml.min.js +2 -0
  1305. package/eleventy/node_modules/js-yaml/dist/js-yaml.mjs +3851 -0
  1306. package/eleventy/node_modules/js-yaml/index.js +47 -0
  1307. package/eleventy/node_modules/js-yaml/lib/common.js +59 -0
  1308. package/eleventy/node_modules/js-yaml/lib/dumper.js +965 -0
  1309. package/eleventy/node_modules/js-yaml/lib/exception.js +55 -0
  1310. package/eleventy/node_modules/js-yaml/lib/loader.js +1727 -0
  1311. package/eleventy/node_modules/js-yaml/lib/schema/core.js +11 -0
  1312. package/eleventy/node_modules/js-yaml/lib/schema/default.js +22 -0
  1313. package/eleventy/node_modules/js-yaml/lib/schema/failsafe.js +17 -0
  1314. package/eleventy/node_modules/js-yaml/lib/schema/json.js +19 -0
  1315. package/eleventy/node_modules/js-yaml/lib/schema.js +121 -0
  1316. package/eleventy/node_modules/js-yaml/lib/snippet.js +101 -0
  1317. package/eleventy/node_modules/js-yaml/lib/type/binary.js +125 -0
  1318. package/eleventy/node_modules/js-yaml/lib/type/bool.js +35 -0
  1319. package/eleventy/node_modules/js-yaml/lib/type/float.js +97 -0
  1320. package/eleventy/node_modules/js-yaml/lib/type/int.js +156 -0
  1321. package/eleventy/node_modules/js-yaml/lib/type/map.js +8 -0
  1322. package/eleventy/node_modules/js-yaml/lib/type/merge.js +12 -0
  1323. package/eleventy/node_modules/js-yaml/lib/type/null.js +35 -0
  1324. package/eleventy/node_modules/js-yaml/lib/type/omap.js +44 -0
  1325. package/eleventy/node_modules/js-yaml/lib/type/pairs.js +53 -0
  1326. package/eleventy/node_modules/js-yaml/lib/type/seq.js +8 -0
  1327. package/eleventy/node_modules/js-yaml/lib/type/set.js +29 -0
  1328. package/eleventy/node_modules/js-yaml/lib/type/str.js +8 -0
  1329. package/eleventy/node_modules/js-yaml/lib/type/timestamp.js +88 -0
  1330. package/eleventy/node_modules/js-yaml/lib/type.js +66 -0
  1331. package/eleventy/node_modules/js-yaml/package.json +66 -0
  1332. package/eleventy/node_modules/junk/index.js +30 -0
  1333. package/eleventy/node_modules/junk/license +21 -0
  1334. package/eleventy/node_modules/junk/package.json +37 -0
  1335. package/eleventy/node_modules/junk/readme.md +46 -0
  1336. package/eleventy/node_modules/kind-of/CHANGELOG.md +160 -0
  1337. package/eleventy/node_modules/kind-of/LICENSE +21 -0
  1338. package/eleventy/node_modules/kind-of/README.md +367 -0
  1339. package/eleventy/node_modules/kind-of/index.js +129 -0
  1340. package/eleventy/node_modules/kind-of/package.json +88 -0
  1341. package/eleventy/node_modules/kleur/colors.d.ts +38 -0
  1342. package/eleventy/node_modules/kleur/colors.js +53 -0
  1343. package/eleventy/node_modules/kleur/colors.mjs +53 -0
  1344. package/eleventy/node_modules/kleur/index.d.ts +45 -0
  1345. package/eleventy/node_modules/kleur/index.js +110 -0
  1346. package/eleventy/node_modules/kleur/index.mjs +110 -0
  1347. package/eleventy/node_modules/kleur/license +21 -0
  1348. package/eleventy/node_modules/kleur/package.json +51 -0
  1349. package/eleventy/node_modules/kleur/readme.md +232 -0
  1350. package/eleventy/node_modules/linkify-it/LICENSE +22 -0
  1351. package/eleventy/node_modules/linkify-it/README.md +196 -0
  1352. package/eleventy/node_modules/linkify-it/index.mjs +642 -0
  1353. package/eleventy/node_modules/linkify-it/lib/re.mjs +189 -0
  1354. package/eleventy/node_modules/linkify-it/package.json +58 -0
  1355. package/eleventy/node_modules/liquidjs/LICENSE +21 -0
  1356. package/eleventy/node_modules/liquidjs/README.md +228 -0
  1357. package/eleventy/node_modules/liquidjs/bin/liquid.js +139 -0
  1358. package/eleventy/node_modules/liquidjs/dist/cache/cache.d.ts +7 -0
  1359. package/eleventy/node_modules/liquidjs/dist/cache/index.d.ts +2 -0
  1360. package/eleventy/node_modules/liquidjs/dist/cache/lru.d.ts +14 -0
  1361. package/eleventy/node_modules/liquidjs/dist/cache/lru.spec.d.ts +1 -0
  1362. package/eleventy/node_modules/liquidjs/dist/context/block-mode.d.ts +4 -0
  1363. package/eleventy/node_modules/liquidjs/dist/context/context.d.ts +64 -0
  1364. package/eleventy/node_modules/liquidjs/dist/context/context.spec.d.ts +1 -0
  1365. package/eleventy/node_modules/liquidjs/dist/context/index.d.ts +3 -0
  1366. package/eleventy/node_modules/liquidjs/dist/context/scope.d.ts +6 -0
  1367. package/eleventy/node_modules/liquidjs/dist/drop/blank-drop.d.ts +5 -0
  1368. package/eleventy/node_modules/liquidjs/dist/drop/block-drop.d.ts +10 -0
  1369. package/eleventy/node_modules/liquidjs/dist/drop/comparable.d.ts +8 -0
  1370. package/eleventy/node_modules/liquidjs/dist/drop/drop.d.ts +3 -0
  1371. package/eleventy/node_modules/liquidjs/dist/drop/empty-drop.d.ts +11 -0
  1372. package/eleventy/node_modules/liquidjs/dist/drop/forloop-drop.d.ts +15 -0
  1373. package/eleventy/node_modules/liquidjs/dist/drop/index.d.ts +7 -0
  1374. package/eleventy/node_modules/liquidjs/dist/drop/null-drop.d.ts +10 -0
  1375. package/eleventy/node_modules/liquidjs/dist/drop/tablerowloop-drop.d.ts +10 -0
  1376. package/eleventy/node_modules/liquidjs/dist/emitters/emitter.d.ts +11 -0
  1377. package/eleventy/node_modules/liquidjs/dist/emitters/index.d.ts +4 -0
  1378. package/eleventy/node_modules/liquidjs/dist/emitters/keeping-type-emitter.d.ts +5 -0
  1379. package/eleventy/node_modules/liquidjs/dist/emitters/simple-emitter.d.ts +5 -0
  1380. package/eleventy/node_modules/liquidjs/dist/emitters/streamed-emitter.d.ts +9 -0
  1381. package/eleventy/node_modules/liquidjs/dist/filters/array.d.ts +26 -0
  1382. package/eleventy/node_modules/liquidjs/dist/filters/date.d.ts +6 -0
  1383. package/eleventy/node_modules/liquidjs/dist/filters/html.d.ts +6 -0
  1384. package/eleventy/node_modules/liquidjs/dist/filters/index.d.ts +2 -0
  1385. package/eleventy/node_modules/liquidjs/dist/filters/math.d.ts +11 -0
  1386. package/eleventy/node_modules/liquidjs/dist/filters/misc.d.ts +18 -0
  1387. package/eleventy/node_modules/liquidjs/dist/filters/string.d.ts +27 -0
  1388. package/eleventy/node_modules/liquidjs/dist/filters/url.d.ts +14 -0
  1389. package/eleventy/node_modules/liquidjs/dist/fs/fs-impl.d.ts +9 -0
  1390. package/eleventy/node_modules/liquidjs/dist/fs/fs-impl.spec.d.ts +1 -0
  1391. package/eleventy/node_modules/liquidjs/dist/fs/fs.d.ts +20 -0
  1392. package/eleventy/node_modules/liquidjs/dist/fs/index.d.ts +2 -0
  1393. package/eleventy/node_modules/liquidjs/dist/fs/loader.d.ts +24 -0
  1394. package/eleventy/node_modules/liquidjs/dist/fs/loader.spec.d.ts +1 -0
  1395. package/eleventy/node_modules/liquidjs/dist/fs/map-fs.d.ts +13 -0
  1396. package/eleventy/node_modules/liquidjs/dist/fs/map-fs.spec.d.ts +1 -0
  1397. package/eleventy/node_modules/liquidjs/dist/fs/node-require.d.ts +1 -0
  1398. package/eleventy/node_modules/liquidjs/dist/index.d.ts +15 -0
  1399. package/eleventy/node_modules/liquidjs/dist/liquid-options.d.ts +159 -0
  1400. package/eleventy/node_modules/liquidjs/dist/liquid-options.spec.d.ts +1 -0
  1401. package/eleventy/node_modules/liquidjs/dist/liquid.browser.min.js +2 -0
  1402. package/eleventy/node_modules/liquidjs/dist/liquid.browser.min.js.map +1 -0
  1403. package/eleventy/node_modules/liquidjs/dist/liquid.browser.mjs +4891 -0
  1404. package/eleventy/node_modules/liquidjs/dist/liquid.browser.umd.js +7178 -0
  1405. package/eleventy/node_modules/liquidjs/dist/liquid.browser.umd.js.map +1 -0
  1406. package/eleventy/node_modules/liquidjs/dist/liquid.d.ts +70 -0
  1407. package/eleventy/node_modules/liquidjs/dist/liquid.node.js +4914 -0
  1408. package/eleventy/node_modules/liquidjs/dist/liquid.node.mjs +4904 -0
  1409. package/eleventy/node_modules/liquidjs/dist/parser/filter-arg.d.ts +5 -0
  1410. package/eleventy/node_modules/liquidjs/dist/parser/index.d.ts +4 -0
  1411. package/eleventy/node_modules/liquidjs/dist/parser/parse-stream.d.ts +15 -0
  1412. package/eleventy/node_modules/liquidjs/dist/parser/parse-stream.spec.d.ts +1 -0
  1413. package/eleventy/node_modules/liquidjs/dist/parser/parser.d.ts +20 -0
  1414. package/eleventy/node_modules/liquidjs/dist/parser/parser.spec.d.ts +1 -0
  1415. package/eleventy/node_modules/liquidjs/dist/parser/token-kind.d.ts +16 -0
  1416. package/eleventy/node_modules/liquidjs/dist/parser/tokenizer.d.ts +63 -0
  1417. package/eleventy/node_modules/liquidjs/dist/parser/tokenizer.spec.d.ts +1 -0
  1418. package/eleventy/node_modules/liquidjs/dist/parser/whitespace-ctrl.d.ts +3 -0
  1419. package/eleventy/node_modules/liquidjs/dist/render/boolean.d.ts +3 -0
  1420. package/eleventy/node_modules/liquidjs/dist/render/boolean.spec.d.ts +1 -0
  1421. package/eleventy/node_modules/liquidjs/dist/render/expression.d.ts +10 -0
  1422. package/eleventy/node_modules/liquidjs/dist/render/expression.spec.d.ts +1 -0
  1423. package/eleventy/node_modules/liquidjs/dist/render/index.d.ts +4 -0
  1424. package/eleventy/node_modules/liquidjs/dist/render/operator.d.ts +8 -0
  1425. package/eleventy/node_modules/liquidjs/dist/render/render.d.ts +8 -0
  1426. package/eleventy/node_modules/liquidjs/dist/render/render.spec.d.ts +1 -0
  1427. package/eleventy/node_modules/liquidjs/dist/render/string.d.ts +1 -0
  1428. package/eleventy/node_modules/liquidjs/dist/render/string.spec.d.ts +1 -0
  1429. package/eleventy/node_modules/liquidjs/dist/tags/assign.d.ts +12 -0
  1430. package/eleventy/node_modules/liquidjs/dist/tags/block.d.ts +11 -0
  1431. package/eleventy/node_modules/liquidjs/dist/tags/break.d.ts +4 -0
  1432. package/eleventy/node_modules/liquidjs/dist/tags/capture.d.ts +13 -0
  1433. package/eleventy/node_modules/liquidjs/dist/tags/case.d.ts +15 -0
  1434. package/eleventy/node_modules/liquidjs/dist/tags/comment.d.ts +5 -0
  1435. package/eleventy/node_modules/liquidjs/dist/tags/continue.d.ts +4 -0
  1436. package/eleventy/node_modules/liquidjs/dist/tags/cycle.d.ts +9 -0
  1437. package/eleventy/node_modules/liquidjs/dist/tags/decrement.d.ts +9 -0
  1438. package/eleventy/node_modules/liquidjs/dist/tags/echo.d.ts +8 -0
  1439. package/eleventy/node_modules/liquidjs/dist/tags/for.d.ts +15 -0
  1440. package/eleventy/node_modules/liquidjs/dist/tags/if.d.ts +14 -0
  1441. package/eleventy/node_modules/liquidjs/dist/tags/include.d.ts +12 -0
  1442. package/eleventy/node_modules/liquidjs/dist/tags/increment.d.ts +9 -0
  1443. package/eleventy/node_modules/liquidjs/dist/tags/index.d.ts +24 -0
  1444. package/eleventy/node_modules/liquidjs/dist/tags/inline-comment.d.ts +5 -0
  1445. package/eleventy/node_modules/liquidjs/dist/tags/layout.d.ts +14 -0
  1446. package/eleventy/node_modules/liquidjs/dist/tags/liquid.d.ts +8 -0
  1447. package/eleventy/node_modules/liquidjs/dist/tags/raw.d.ts +6 -0
  1448. package/eleventy/node_modules/liquidjs/dist/tags/render.d.ts +22 -0
  1449. package/eleventy/node_modules/liquidjs/dist/tags/tablerow.d.ts +14 -0
  1450. package/eleventy/node_modules/liquidjs/dist/tags/unless.d.ts +15 -0
  1451. package/eleventy/node_modules/liquidjs/dist/template/analysis.d.ts +85 -0
  1452. package/eleventy/node_modules/liquidjs/dist/template/analysis.spec.d.ts +1 -0
  1453. package/eleventy/node_modules/liquidjs/dist/template/filter-impl-options.d.ts +14 -0
  1454. package/eleventy/node_modules/liquidjs/dist/template/filter.d.ts +15 -0
  1455. package/eleventy/node_modules/liquidjs/dist/template/filter.spec.d.ts +1 -0
  1456. package/eleventy/node_modules/liquidjs/dist/template/hash.d.ts +18 -0
  1457. package/eleventy/node_modules/liquidjs/dist/template/hash.spec.d.ts +1 -0
  1458. package/eleventy/node_modules/liquidjs/dist/template/html.d.ts +9 -0
  1459. package/eleventy/node_modules/liquidjs/dist/template/index.d.ts +11 -0
  1460. package/eleventy/node_modules/liquidjs/dist/template/output.d.ts +12 -0
  1461. package/eleventy/node_modules/liquidjs/dist/template/output.spec.d.ts +1 -0
  1462. package/eleventy/node_modules/liquidjs/dist/template/tag-options-adapter.d.ts +10 -0
  1463. package/eleventy/node_modules/liquidjs/dist/template/tag.d.ts +18 -0
  1464. package/eleventy/node_modules/liquidjs/dist/template/template-impl.d.ts +4 -0
  1465. package/eleventy/node_modules/liquidjs/dist/template/template.d.ts +36 -0
  1466. package/eleventy/node_modules/liquidjs/dist/template/value.d.ts +15 -0
  1467. package/eleventy/node_modules/liquidjs/dist/template/value.spec.d.ts +1 -0
  1468. package/eleventy/node_modules/liquidjs/dist/tokens/delimited-token.d.ts +9 -0
  1469. package/eleventy/node_modules/liquidjs/dist/tokens/filter-token.d.ts +7 -0
  1470. package/eleventy/node_modules/liquidjs/dist/tokens/filtered-value-token.d.ts +17 -0
  1471. package/eleventy/node_modules/liquidjs/dist/tokens/hash-token.d.ts +12 -0
  1472. package/eleventy/node_modules/liquidjs/dist/tokens/html-token.d.ts +11 -0
  1473. package/eleventy/node_modules/liquidjs/dist/tokens/identifier-token.d.ts +9 -0
  1474. package/eleventy/node_modules/liquidjs/dist/tokens/index.d.ts +18 -0
  1475. package/eleventy/node_modules/liquidjs/dist/tokens/liquid-tag-token.d.ts +12 -0
  1476. package/eleventy/node_modules/liquidjs/dist/tokens/literal-token.d.ts +11 -0
  1477. package/eleventy/node_modules/liquidjs/dist/tokens/number-token.d.ts +9 -0
  1478. package/eleventy/node_modules/liquidjs/dist/tokens/operator-token.d.ts +38 -0
  1479. package/eleventy/node_modules/liquidjs/dist/tokens/output-token.d.ts +5 -0
  1480. package/eleventy/node_modules/liquidjs/dist/tokens/property-access-token.d.ts +12 -0
  1481. package/eleventy/node_modules/liquidjs/dist/tokens/quoted-token.d.ts +9 -0
  1482. package/eleventy/node_modules/liquidjs/dist/tokens/range-token.d.ts +11 -0
  1483. package/eleventy/node_modules/liquidjs/dist/tokens/tag-token.d.ts +9 -0
  1484. package/eleventy/node_modules/liquidjs/dist/tokens/token.d.ts +12 -0
  1485. package/eleventy/node_modules/liquidjs/dist/tokens/top-level-token.d.ts +4 -0
  1486. package/eleventy/node_modules/liquidjs/dist/tokens/value-token.d.ts +6 -0
  1487. package/eleventy/node_modules/liquidjs/dist/util/assert.d.ts +2 -0
  1488. package/eleventy/node_modules/liquidjs/dist/util/assert.spec.d.ts +1 -0
  1489. package/eleventy/node_modules/liquidjs/dist/util/async.d.ts +2 -0
  1490. package/eleventy/node_modules/liquidjs/dist/util/async.spec.d.ts +1 -0
  1491. package/eleventy/node_modules/liquidjs/dist/util/character.d.ts +10 -0
  1492. package/eleventy/node_modules/liquidjs/dist/util/error.d.ts +35 -0
  1493. package/eleventy/node_modules/liquidjs/dist/util/error.spec.d.ts +1 -0
  1494. package/eleventy/node_modules/liquidjs/dist/util/index.d.ts +12 -0
  1495. package/eleventy/node_modules/liquidjs/dist/util/intl.d.ts +6 -0
  1496. package/eleventy/node_modules/liquidjs/dist/util/limiter.d.ts +8 -0
  1497. package/eleventy/node_modules/liquidjs/dist/util/liquid-date.d.ts +52 -0
  1498. package/eleventy/node_modules/liquidjs/dist/util/liquid-date.spec.d.ts +1 -0
  1499. package/eleventy/node_modules/liquidjs/dist/util/literal.d.ts +11 -0
  1500. package/eleventy/node_modules/liquidjs/dist/util/operator-trie.d.ts +14 -0
  1501. package/eleventy/node_modules/liquidjs/dist/util/performance.d.ts +5 -0
  1502. package/eleventy/node_modules/liquidjs/dist/util/performance.spec.d.ts +1 -0
  1503. package/eleventy/node_modules/liquidjs/dist/util/strftime.d.ts +2 -0
  1504. package/eleventy/node_modules/liquidjs/dist/util/strftime.spec.d.ts +1 -0
  1505. package/eleventy/node_modules/liquidjs/dist/util/type-guards.d.ts +13 -0
  1506. package/eleventy/node_modules/liquidjs/dist/util/type-guards.spec.d.ts +1 -0
  1507. package/eleventy/node_modules/liquidjs/dist/util/underscore.d.ts +39 -0
  1508. package/eleventy/node_modules/liquidjs/dist/util/underscore.spec.d.ts +1 -0
  1509. package/eleventy/node_modules/liquidjs/package.json +165 -0
  1510. package/eleventy/node_modules/list-to-array/LICENSE +22 -0
  1511. package/eleventy/node_modules/list-to-array/README.md +52 -0
  1512. package/eleventy/node_modules/list-to-array/index.js +18 -0
  1513. package/eleventy/node_modules/list-to-array/package.json +32 -0
  1514. package/eleventy/node_modules/list-to-array/tests.js +29 -0
  1515. package/eleventy/node_modules/lru-cache/LICENSE +15 -0
  1516. package/eleventy/node_modules/lru-cache/README.md +331 -0
  1517. package/eleventy/node_modules/lru-cache/dist/commonjs/index.d.ts +1277 -0
  1518. package/eleventy/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
  1519. package/eleventy/node_modules/lru-cache/dist/commonjs/index.js +1546 -0
  1520. package/eleventy/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
  1521. package/eleventy/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  1522. package/eleventy/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
  1523. package/eleventy/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  1524. package/eleventy/node_modules/lru-cache/dist/esm/index.d.ts +1277 -0
  1525. package/eleventy/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
  1526. package/eleventy/node_modules/lru-cache/dist/esm/index.js +1542 -0
  1527. package/eleventy/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  1528. package/eleventy/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  1529. package/eleventy/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
  1530. package/eleventy/node_modules/lru-cache/dist/esm/package.json +3 -0
  1531. package/eleventy/node_modules/lru-cache/package.json +116 -0
  1532. package/eleventy/node_modules/luxon/LICENSE.md +7 -0
  1533. package/eleventy/node_modules/luxon/README.md +55 -0
  1534. package/eleventy/node_modules/luxon/package.json +87 -0
  1535. package/eleventy/node_modules/luxon/src/datetime.js +2556 -0
  1536. package/eleventy/node_modules/luxon/src/duration.js +990 -0
  1537. package/eleventy/node_modules/luxon/src/errors.js +61 -0
  1538. package/eleventy/node_modules/luxon/src/impl/conversions.js +206 -0
  1539. package/eleventy/node_modules/luxon/src/impl/diff.js +95 -0
  1540. package/eleventy/node_modules/luxon/src/impl/digits.js +90 -0
  1541. package/eleventy/node_modules/luxon/src/impl/english.js +233 -0
  1542. package/eleventy/node_modules/luxon/src/impl/formats.js +176 -0
  1543. package/eleventy/node_modules/luxon/src/impl/formatter.js +409 -0
  1544. package/eleventy/node_modules/luxon/src/impl/invalid.js +14 -0
  1545. package/eleventy/node_modules/luxon/src/impl/locale.js +546 -0
  1546. package/eleventy/node_modules/luxon/src/impl/regexParser.js +335 -0
  1547. package/eleventy/node_modules/luxon/src/impl/tokenParser.js +505 -0
  1548. package/eleventy/node_modules/luxon/src/impl/util.js +316 -0
  1549. package/eleventy/node_modules/luxon/src/impl/zoneUtil.js +34 -0
  1550. package/eleventy/node_modules/luxon/src/info.js +205 -0
  1551. package/eleventy/node_modules/luxon/src/interval.js +657 -0
  1552. package/eleventy/node_modules/luxon/src/luxon.js +26 -0
  1553. package/eleventy/node_modules/luxon/src/package.json +4 -0
  1554. package/eleventy/node_modules/luxon/src/settings.js +180 -0
  1555. package/eleventy/node_modules/luxon/src/zone.js +97 -0
  1556. package/eleventy/node_modules/luxon/src/zones/IANAZone.js +231 -0
  1557. package/eleventy/node_modules/luxon/src/zones/fixedOffsetZone.js +150 -0
  1558. package/eleventy/node_modules/luxon/src/zones/invalidZone.js +53 -0
  1559. package/eleventy/node_modules/luxon/src/zones/systemZone.js +61 -0
  1560. package/eleventy/node_modules/markdown-it/LICENSE +22 -0
  1561. package/eleventy/node_modules/markdown-it/README.md +324 -0
  1562. package/eleventy/node_modules/markdown-it/bin/markdown-it.mjs +107 -0
  1563. package/eleventy/node_modules/markdown-it/dist/index.cjs.js +5540 -0
  1564. package/eleventy/node_modules/markdown-it/dist/markdown-it.js +6963 -0
  1565. package/eleventy/node_modules/markdown-it/dist/markdown-it.min.js +2 -0
  1566. package/eleventy/node_modules/markdown-it/index.mjs +1 -0
  1567. package/eleventy/node_modules/markdown-it/lib/common/html_blocks.mjs +67 -0
  1568. package/eleventy/node_modules/markdown-it/lib/common/html_re.mjs +25 -0
  1569. package/eleventy/node_modules/markdown-it/lib/common/utils.mjs +304 -0
  1570. package/eleventy/node_modules/markdown-it/lib/helpers/index.mjs +11 -0
  1571. package/eleventy/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs +77 -0
  1572. package/eleventy/node_modules/markdown-it/lib/helpers/parse_link_label.mjs +49 -0
  1573. package/eleventy/node_modules/markdown-it/lib/helpers/parse_link_title.mjs +66 -0
  1574. package/eleventy/node_modules/markdown-it/lib/index.mjs +565 -0
  1575. package/eleventy/node_modules/markdown-it/lib/parser_block.mjs +134 -0
  1576. package/eleventy/node_modules/markdown-it/lib/parser_core.mjs +62 -0
  1577. package/eleventy/node_modules/markdown-it/lib/parser_inline.mjs +197 -0
  1578. package/eleventy/node_modules/markdown-it/lib/presets/commonmark.mjs +88 -0
  1579. package/eleventy/node_modules/markdown-it/lib/presets/default.mjs +47 -0
  1580. package/eleventy/node_modules/markdown-it/lib/presets/zero.mjs +70 -0
  1581. package/eleventy/node_modules/markdown-it/lib/renderer.mjs +322 -0
  1582. package/eleventy/node_modules/markdown-it/lib/ruler.mjs +340 -0
  1583. package/eleventy/node_modules/markdown-it/lib/rules_block/blockquote.mjs +209 -0
  1584. package/eleventy/node_modules/markdown-it/lib/rules_block/code.mjs +30 -0
  1585. package/eleventy/node_modules/markdown-it/lib/rules_block/fence.mjs +94 -0
  1586. package/eleventy/node_modules/markdown-it/lib/rules_block/heading.mjs +51 -0
  1587. package/eleventy/node_modules/markdown-it/lib/rules_block/hr.mjs +40 -0
  1588. package/eleventy/node_modules/markdown-it/lib/rules_block/html_block.mjs +69 -0
  1589. package/eleventy/node_modules/markdown-it/lib/rules_block/lheading.mjs +82 -0
  1590. package/eleventy/node_modules/markdown-it/lib/rules_block/list.mjs +331 -0
  1591. package/eleventy/node_modules/markdown-it/lib/rules_block/paragraph.mjs +46 -0
  1592. package/eleventy/node_modules/markdown-it/lib/rules_block/reference.mjs +212 -0
  1593. package/eleventy/node_modules/markdown-it/lib/rules_block/state_block.mjs +220 -0
  1594. package/eleventy/node_modules/markdown-it/lib/rules_block/table.mjs +228 -0
  1595. package/eleventy/node_modules/markdown-it/lib/rules_core/block.mjs +13 -0
  1596. package/eleventy/node_modules/markdown-it/lib/rules_core/inline.mjs +11 -0
  1597. package/eleventy/node_modules/markdown-it/lib/rules_core/linkify.mjs +134 -0
  1598. package/eleventy/node_modules/markdown-it/lib/rules_core/normalize.mjs +17 -0
  1599. package/eleventy/node_modules/markdown-it/lib/rules_core/replacements.mjs +101 -0
  1600. package/eleventy/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +193 -0
  1601. package/eleventy/node_modules/markdown-it/lib/rules_core/state_core.mjs +17 -0
  1602. package/eleventy/node_modules/markdown-it/lib/rules_core/text_join.mjs +43 -0
  1603. package/eleventy/node_modules/markdown-it/lib/rules_inline/autolink.mjs +72 -0
  1604. package/eleventy/node_modules/markdown-it/lib/rules_inline/backticks.mjs +60 -0
  1605. package/eleventy/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +124 -0
  1606. package/eleventy/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +123 -0
  1607. package/eleventy/node_modules/markdown-it/lib/rules_inline/entity.mjs +51 -0
  1608. package/eleventy/node_modules/markdown-it/lib/rules_inline/escape.mjs +69 -0
  1609. package/eleventy/node_modules/markdown-it/lib/rules_inline/fragments_join.mjs +38 -0
  1610. package/eleventy/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +50 -0
  1611. package/eleventy/node_modules/markdown-it/lib/rules_inline/image.mjs +138 -0
  1612. package/eleventy/node_modules/markdown-it/lib/rules_inline/link.mjs +139 -0
  1613. package/eleventy/node_modules/markdown-it/lib/rules_inline/linkify.mjs +56 -0
  1614. package/eleventy/node_modules/markdown-it/lib/rules_inline/newline.mjs +42 -0
  1615. package/eleventy/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +123 -0
  1616. package/eleventy/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +127 -0
  1617. package/eleventy/node_modules/markdown-it/lib/rules_inline/text.mjs +86 -0
  1618. package/eleventy/node_modules/markdown-it/lib/token.mjs +191 -0
  1619. package/eleventy/node_modules/markdown-it/node_modules/entities/LICENSE +11 -0
  1620. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode.d.ts +211 -0
  1621. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode.d.ts.map +1 -0
  1622. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode.js +536 -0
  1623. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode.js.map +1 -0
  1624. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.d.ts +19 -0
  1625. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
  1626. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.js +76 -0
  1627. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.js.map +1 -0
  1628. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/encode.d.ts +22 -0
  1629. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/encode.d.ts.map +1 -0
  1630. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/encode.js +77 -0
  1631. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/encode.js.map +1 -0
  1632. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/escape.d.ts +43 -0
  1633. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/escape.d.ts.map +1 -0
  1634. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/escape.js +122 -0
  1635. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/escape.js.map +1 -0
  1636. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode.d.ts +211 -0
  1637. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode.d.ts.map +1 -0
  1638. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode.js +496 -0
  1639. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode.js.map +1 -0
  1640. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.d.ts +19 -0
  1641. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +1 -0
  1642. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.js +71 -0
  1643. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
  1644. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/encode.d.ts +22 -0
  1645. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/encode.d.ts.map +1 -0
  1646. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/encode.js +69 -0
  1647. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/encode.js.map +1 -0
  1648. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/escape.d.ts +43 -0
  1649. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/escape.d.ts.map +1 -0
  1650. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/escape.js +116 -0
  1651. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/escape.js.map +1 -0
  1652. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +3 -0
  1653. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +1 -0
  1654. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
  1655. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
  1656. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +3 -0
  1657. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +1 -0
  1658. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
  1659. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
  1660. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.d.ts +8 -0
  1661. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +1 -0
  1662. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.js +10 -0
  1663. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.js.map +1 -0
  1664. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/index.d.ts +96 -0
  1665. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/index.d.ts.map +1 -0
  1666. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/index.js +99 -0
  1667. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/index.js.map +1 -0
  1668. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/package.json +1 -0
  1669. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
  1670. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
  1671. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.js +9 -0
  1672. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
  1673. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
  1674. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
  1675. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
  1676. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
  1677. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.d.ts +8 -0
  1678. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.d.ts.map +1 -0
  1679. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.js +12 -0
  1680. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.js.map +1 -0
  1681. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/index.d.ts +96 -0
  1682. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/index.d.ts.map +1 -0
  1683. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/index.js +126 -0
  1684. package/eleventy/node_modules/markdown-it/node_modules/entities/lib/index.js.map +1 -0
  1685. package/eleventy/node_modules/markdown-it/node_modules/entities/package.json +90 -0
  1686. package/eleventy/node_modules/markdown-it/node_modules/entities/readme.md +122 -0
  1687. package/eleventy/node_modules/markdown-it/package.json +92 -0
  1688. package/eleventy/node_modules/maximatch/index.js +39 -0
  1689. package/eleventy/node_modules/maximatch/license +21 -0
  1690. package/eleventy/node_modules/maximatch/package.json +44 -0
  1691. package/eleventy/node_modules/maximatch/readme.md +71 -0
  1692. package/eleventy/node_modules/mdurl/LICENSE +45 -0
  1693. package/eleventy/node_modules/mdurl/README.md +102 -0
  1694. package/eleventy/node_modules/mdurl/index.mjs +11 -0
  1695. package/eleventy/node_modules/mdurl/lib/decode.mjs +112 -0
  1696. package/eleventy/node_modules/mdurl/lib/encode.mjs +89 -0
  1697. package/eleventy/node_modules/mdurl/lib/format.mjs +21 -0
  1698. package/eleventy/node_modules/mdurl/lib/parse.mjs +308 -0
  1699. package/eleventy/node_modules/mdurl/package.json +37 -0
  1700. package/eleventy/node_modules/merge2/LICENSE +21 -0
  1701. package/eleventy/node_modules/merge2/README.md +144 -0
  1702. package/eleventy/node_modules/merge2/index.js +144 -0
  1703. package/eleventy/node_modules/merge2/package.json +43 -0
  1704. package/eleventy/node_modules/micromatch/LICENSE +21 -0
  1705. package/eleventy/node_modules/micromatch/README.md +1024 -0
  1706. package/eleventy/node_modules/micromatch/index.js +474 -0
  1707. package/eleventy/node_modules/micromatch/package.json +119 -0
  1708. package/eleventy/node_modules/mime/CHANGELOG.md +312 -0
  1709. package/eleventy/node_modules/mime/LICENSE +21 -0
  1710. package/eleventy/node_modules/mime/Mime.js +97 -0
  1711. package/eleventy/node_modules/mime/README.md +178 -0
  1712. package/eleventy/node_modules/mime/cli.js +46 -0
  1713. package/eleventy/node_modules/mime/index.js +4 -0
  1714. package/eleventy/node_modules/mime/lite.js +4 -0
  1715. package/eleventy/node_modules/mime/package.json +52 -0
  1716. package/eleventy/node_modules/mime/types/other.js +1 -0
  1717. package/eleventy/node_modules/mime/types/standard.js +1 -0
  1718. package/eleventy/node_modules/mime-db/HISTORY.md +507 -0
  1719. package/eleventy/node_modules/mime-db/LICENSE +23 -0
  1720. package/eleventy/node_modules/mime-db/README.md +100 -0
  1721. package/eleventy/node_modules/mime-db/db.json +8519 -0
  1722. package/eleventy/node_modules/mime-db/index.js +12 -0
  1723. package/eleventy/node_modules/mime-db/package.json +60 -0
  1724. package/eleventy/node_modules/mime-types/HISTORY.md +397 -0
  1725. package/eleventy/node_modules/mime-types/LICENSE +23 -0
  1726. package/eleventy/node_modules/mime-types/README.md +113 -0
  1727. package/eleventy/node_modules/mime-types/index.js +188 -0
  1728. package/eleventy/node_modules/mime-types/package.json +44 -0
  1729. package/eleventy/node_modules/minimatch/LICENSE +15 -0
  1730. package/eleventy/node_modules/minimatch/README.md +230 -0
  1731. package/eleventy/node_modules/minimatch/minimatch.js +947 -0
  1732. package/eleventy/node_modules/minimatch/package.json +33 -0
  1733. package/eleventy/node_modules/minimist/.eslintrc +29 -0
  1734. package/eleventy/node_modules/minimist/.github/FUNDING.yml +12 -0
  1735. package/eleventy/node_modules/minimist/.nycrc +14 -0
  1736. package/eleventy/node_modules/minimist/CHANGELOG.md +298 -0
  1737. package/eleventy/node_modules/minimist/LICENSE +18 -0
  1738. package/eleventy/node_modules/minimist/README.md +121 -0
  1739. package/eleventy/node_modules/minimist/example/parse.js +4 -0
  1740. package/eleventy/node_modules/minimist/index.js +263 -0
  1741. package/eleventy/node_modules/minimist/package.json +75 -0
  1742. package/eleventy/node_modules/minimist/test/all_bool.js +34 -0
  1743. package/eleventy/node_modules/minimist/test/bool.js +177 -0
  1744. package/eleventy/node_modules/minimist/test/dash.js +43 -0
  1745. package/eleventy/node_modules/minimist/test/default_bool.js +37 -0
  1746. package/eleventy/node_modules/minimist/test/dotted.js +24 -0
  1747. package/eleventy/node_modules/minimist/test/kv_short.js +32 -0
  1748. package/eleventy/node_modules/minimist/test/long.js +33 -0
  1749. package/eleventy/node_modules/minimist/test/num.js +38 -0
  1750. package/eleventy/node_modules/minimist/test/parse.js +209 -0
  1751. package/eleventy/node_modules/minimist/test/parse_modified.js +11 -0
  1752. package/eleventy/node_modules/minimist/test/proto.js +64 -0
  1753. package/eleventy/node_modules/minimist/test/short.js +69 -0
  1754. package/eleventy/node_modules/minimist/test/stop_early.js +17 -0
  1755. package/eleventy/node_modules/minimist/test/unknown.js +104 -0
  1756. package/eleventy/node_modules/minimist/test/whitespace.js +10 -0
  1757. package/eleventy/node_modules/minipass/LICENSE +15 -0
  1758. package/eleventy/node_modules/minipass/README.md +825 -0
  1759. package/eleventy/node_modules/minipass/dist/commonjs/index.d.ts +549 -0
  1760. package/eleventy/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  1761. package/eleventy/node_modules/minipass/dist/commonjs/index.js +1028 -0
  1762. package/eleventy/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  1763. package/eleventy/node_modules/minipass/dist/commonjs/package.json +3 -0
  1764. package/eleventy/node_modules/minipass/dist/esm/index.d.ts +549 -0
  1765. package/eleventy/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  1766. package/eleventy/node_modules/minipass/dist/esm/index.js +1018 -0
  1767. package/eleventy/node_modules/minipass/dist/esm/index.js.map +1 -0
  1768. package/eleventy/node_modules/minipass/dist/esm/package.json +3 -0
  1769. package/eleventy/node_modules/minipass/package.json +82 -0
  1770. package/eleventy/node_modules/mkdirp/LICENSE +21 -0
  1771. package/eleventy/node_modules/mkdirp/dist/cjs/package.json +91 -0
  1772. package/eleventy/node_modules/mkdirp/dist/cjs/src/bin.d.ts +3 -0
  1773. package/eleventy/node_modules/mkdirp/dist/cjs/src/bin.d.ts.map +1 -0
  1774. package/eleventy/node_modules/mkdirp/dist/cjs/src/bin.js +80 -0
  1775. package/eleventy/node_modules/mkdirp/dist/cjs/src/bin.js.map +1 -0
  1776. package/eleventy/node_modules/mkdirp/dist/cjs/src/find-made.d.ts +4 -0
  1777. package/eleventy/node_modules/mkdirp/dist/cjs/src/find-made.d.ts.map +1 -0
  1778. package/eleventy/node_modules/mkdirp/dist/cjs/src/find-made.js +35 -0
  1779. package/eleventy/node_modules/mkdirp/dist/cjs/src/find-made.js.map +1 -0
  1780. package/eleventy/node_modules/mkdirp/dist/cjs/src/index.d.ts +39 -0
  1781. package/eleventy/node_modules/mkdirp/dist/cjs/src/index.d.ts.map +1 -0
  1782. package/eleventy/node_modules/mkdirp/dist/cjs/src/index.js +53 -0
  1783. package/eleventy/node_modules/mkdirp/dist/cjs/src/index.js.map +1 -0
  1784. package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-manual.d.ts +6 -0
  1785. package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-manual.d.ts.map +1 -0
  1786. package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-manual.js +79 -0
  1787. package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-manual.js.map +1 -0
  1788. package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-native.d.ts +6 -0
  1789. package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-native.d.ts.map +1 -0
  1790. package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-native.js +50 -0
  1791. package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-native.js.map +1 -0
  1792. package/eleventy/node_modules/mkdirp/dist/cjs/src/opts-arg.d.ts +42 -0
  1793. package/eleventy/node_modules/mkdirp/dist/cjs/src/opts-arg.d.ts.map +1 -0
  1794. package/eleventy/node_modules/mkdirp/dist/cjs/src/opts-arg.js +38 -0
  1795. package/eleventy/node_modules/mkdirp/dist/cjs/src/opts-arg.js.map +1 -0
  1796. package/eleventy/node_modules/mkdirp/dist/cjs/src/path-arg.d.ts +2 -0
  1797. package/eleventy/node_modules/mkdirp/dist/cjs/src/path-arg.d.ts.map +1 -0
  1798. package/eleventy/node_modules/mkdirp/dist/cjs/src/path-arg.js +28 -0
  1799. package/eleventy/node_modules/mkdirp/dist/cjs/src/path-arg.js.map +1 -0
  1800. package/eleventy/node_modules/mkdirp/dist/cjs/src/use-native.d.ts +6 -0
  1801. package/eleventy/node_modules/mkdirp/dist/cjs/src/use-native.d.ts.map +1 -0
  1802. package/eleventy/node_modules/mkdirp/dist/cjs/src/use-native.js +17 -0
  1803. package/eleventy/node_modules/mkdirp/dist/cjs/src/use-native.js.map +1 -0
  1804. package/eleventy/node_modules/mkdirp/dist/mjs/find-made.d.ts +4 -0
  1805. package/eleventy/node_modules/mkdirp/dist/mjs/find-made.d.ts.map +1 -0
  1806. package/eleventy/node_modules/mkdirp/dist/mjs/find-made.js +30 -0
  1807. package/eleventy/node_modules/mkdirp/dist/mjs/find-made.js.map +1 -0
  1808. package/eleventy/node_modules/mkdirp/dist/mjs/index.d.ts +39 -0
  1809. package/eleventy/node_modules/mkdirp/dist/mjs/index.d.ts.map +1 -0
  1810. package/eleventy/node_modules/mkdirp/dist/mjs/index.js +43 -0
  1811. package/eleventy/node_modules/mkdirp/dist/mjs/index.js.map +1 -0
  1812. package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-manual.d.ts +6 -0
  1813. package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-manual.d.ts.map +1 -0
  1814. package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-manual.js +75 -0
  1815. package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-manual.js.map +1 -0
  1816. package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-native.d.ts +6 -0
  1817. package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-native.d.ts.map +1 -0
  1818. package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-native.js +46 -0
  1819. package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-native.js.map +1 -0
  1820. package/eleventy/node_modules/mkdirp/dist/mjs/opts-arg.d.ts +42 -0
  1821. package/eleventy/node_modules/mkdirp/dist/mjs/opts-arg.d.ts.map +1 -0
  1822. package/eleventy/node_modules/mkdirp/dist/mjs/opts-arg.js +34 -0
  1823. package/eleventy/node_modules/mkdirp/dist/mjs/opts-arg.js.map +1 -0
  1824. package/eleventy/node_modules/mkdirp/dist/mjs/package.json +3 -0
  1825. package/eleventy/node_modules/mkdirp/dist/mjs/path-arg.d.ts +2 -0
  1826. package/eleventy/node_modules/mkdirp/dist/mjs/path-arg.d.ts.map +1 -0
  1827. package/eleventy/node_modules/mkdirp/dist/mjs/path-arg.js +24 -0
  1828. package/eleventy/node_modules/mkdirp/dist/mjs/path-arg.js.map +1 -0
  1829. package/eleventy/node_modules/mkdirp/dist/mjs/use-native.d.ts +6 -0
  1830. package/eleventy/node_modules/mkdirp/dist/mjs/use-native.d.ts.map +1 -0
  1831. package/eleventy/node_modules/mkdirp/dist/mjs/use-native.js +14 -0
  1832. package/eleventy/node_modules/mkdirp/dist/mjs/use-native.js.map +1 -0
  1833. package/eleventy/node_modules/mkdirp/package.json +91 -0
  1834. package/eleventy/node_modules/mkdirp/readme.markdown +281 -0
  1835. package/eleventy/node_modules/moo/LICENSE +29 -0
  1836. package/eleventy/node_modules/moo/README.md +383 -0
  1837. package/eleventy/node_modules/moo/moo.js +642 -0
  1838. package/eleventy/node_modules/moo/package.json +29 -0
  1839. package/eleventy/node_modules/morphdom/CHANGELOG.md +243 -0
  1840. package/eleventy/node_modules/morphdom/LICENSE +21 -0
  1841. package/eleventy/node_modules/morphdom/README.md +260 -0
  1842. package/eleventy/node_modules/morphdom/dist/morphdom-esm.js +769 -0
  1843. package/eleventy/node_modules/morphdom/dist/morphdom-factory.js +705 -0
  1844. package/eleventy/node_modules/morphdom/dist/morphdom-umd.js +777 -0
  1845. package/eleventy/node_modules/morphdom/dist/morphdom-umd.min.js +1 -0
  1846. package/eleventy/node_modules/morphdom/dist/morphdom.js +771 -0
  1847. package/eleventy/node_modules/morphdom/docs/old-benchmark.md +204 -0
  1848. package/eleventy/node_modules/morphdom/docs/virtual-dom.md +38 -0
  1849. package/eleventy/node_modules/morphdom/factory.js +1 -0
  1850. package/eleventy/node_modules/morphdom/index.d.ts +19 -0
  1851. package/eleventy/node_modules/morphdom/package.json +63 -0
  1852. package/eleventy/node_modules/morphdom/src/index.js +6 -0
  1853. package/eleventy/node_modules/morphdom/src/morphAttrs.js +63 -0
  1854. package/eleventy/node_modules/morphdom/src/morphdom.js +482 -0
  1855. package/eleventy/node_modules/morphdom/src/specialElHandlers.js +110 -0
  1856. package/eleventy/node_modules/morphdom/src/util.js +113 -0
  1857. package/eleventy/node_modules/ms/index.js +162 -0
  1858. package/eleventy/node_modules/ms/license.md +21 -0
  1859. package/eleventy/node_modules/ms/package.json +38 -0
  1860. package/eleventy/node_modules/ms/readme.md +59 -0
  1861. package/eleventy/node_modules/node-retrieve-globals/.github/workflows/ci.yml +23 -0
  1862. package/eleventy/node_modules/node-retrieve-globals/LICENSE +21 -0
  1863. package/eleventy/node_modules/node-retrieve-globals/README.md +91 -0
  1864. package/eleventy/node_modules/node-retrieve-globals/package.json +30 -0
  1865. package/eleventy/node_modules/node-retrieve-globals/retrieveGlobals.js +374 -0
  1866. package/eleventy/node_modules/node-retrieve-globals/test/test.js +270 -0
  1867. package/eleventy/node_modules/node-retrieve-globals/util/getWorkingDirectory.js +18 -0
  1868. package/eleventy/node_modules/node-retrieve-globals/util/vmModules.js +23 -0
  1869. package/eleventy/node_modules/normalize-path/LICENSE +21 -0
  1870. package/eleventy/node_modules/normalize-path/README.md +127 -0
  1871. package/eleventy/node_modules/normalize-path/index.js +35 -0
  1872. package/eleventy/node_modules/normalize-path/package.json +77 -0
  1873. package/eleventy/node_modules/nunjucks/LICENSE +26 -0
  1874. package/eleventy/node_modules/nunjucks/README.md +58 -0
  1875. package/eleventy/node_modules/nunjucks/bin/precompile +58 -0
  1876. package/eleventy/node_modules/nunjucks/bin/precompile.cmd +5 -0
  1877. package/eleventy/node_modules/nunjucks/browser/nunjucks-slim.js +3709 -0
  1878. package/eleventy/node_modules/nunjucks/browser/nunjucks-slim.js.map +1 -0
  1879. package/eleventy/node_modules/nunjucks/browser/nunjucks-slim.min.js +3 -0
  1880. package/eleventy/node_modules/nunjucks/browser/nunjucks-slim.min.js.map +1 -0
  1881. package/eleventy/node_modules/nunjucks/browser/nunjucks.js +7021 -0
  1882. package/eleventy/node_modules/nunjucks/browser/nunjucks.js.map +1 -0
  1883. package/eleventy/node_modules/nunjucks/browser/nunjucks.min.js +3 -0
  1884. package/eleventy/node_modules/nunjucks/browser/nunjucks.min.js.map +1 -0
  1885. package/eleventy/node_modules/nunjucks/index.js +82 -0
  1886. package/eleventy/node_modules/nunjucks/node_modules/commander/CHANGELOG.md +385 -0
  1887. package/eleventy/node_modules/nunjucks/node_modules/commander/LICENSE +22 -0
  1888. package/eleventy/node_modules/nunjucks/node_modules/commander/Readme.md +737 -0
  1889. package/eleventy/node_modules/nunjucks/node_modules/commander/index.js +1756 -0
  1890. package/eleventy/node_modules/nunjucks/node_modules/commander/package.json +48 -0
  1891. package/eleventy/node_modules/nunjucks/node_modules/commander/typings/index.d.ts +386 -0
  1892. package/eleventy/node_modules/nunjucks/package.json +112 -0
  1893. package/eleventy/node_modules/nunjucks/src/compiler.js +1027 -0
  1894. package/eleventy/node_modules/nunjucks/src/environment.js +548 -0
  1895. package/eleventy/node_modules/nunjucks/src/express-app.js +23 -0
  1896. package/eleventy/node_modules/nunjucks/src/filters.js +546 -0
  1897. package/eleventy/node_modules/nunjucks/src/globals.js +65 -0
  1898. package/eleventy/node_modules/nunjucks/src/jinja-compat.js +293 -0
  1899. package/eleventy/node_modules/nunjucks/src/lexer.js +474 -0
  1900. package/eleventy/node_modules/nunjucks/src/lib.js +325 -0
  1901. package/eleventy/node_modules/nunjucks/src/loader.js +21 -0
  1902. package/eleventy/node_modules/nunjucks/src/loaders.js +5 -0
  1903. package/eleventy/node_modules/nunjucks/src/node-loaders.js +139 -0
  1904. package/eleventy/node_modules/nunjucks/src/nodes.js +350 -0
  1905. package/eleventy/node_modules/nunjucks/src/object.js +100 -0
  1906. package/eleventy/node_modules/nunjucks/src/parser.js +1028 -0
  1907. package/eleventy/node_modules/nunjucks/src/precompile-global.js +17 -0
  1908. package/eleventy/node_modules/nunjucks/src/precompile.js +108 -0
  1909. package/eleventy/node_modules/nunjucks/src/precompiled-loader.js +31 -0
  1910. package/eleventy/node_modules/nunjucks/src/runtime.js +333 -0
  1911. package/eleventy/node_modules/nunjucks/src/tests.js +265 -0
  1912. package/eleventy/node_modules/nunjucks/src/transformer.js +166 -0
  1913. package/eleventy/node_modules/nunjucks/src/web-loaders.js +94 -0
  1914. package/eleventy/node_modules/on-finished/HISTORY.md +98 -0
  1915. package/eleventy/node_modules/on-finished/LICENSE +23 -0
  1916. package/eleventy/node_modules/on-finished/README.md +162 -0
  1917. package/eleventy/node_modules/on-finished/index.js +234 -0
  1918. package/eleventy/node_modules/on-finished/package.json +39 -0
  1919. package/eleventy/node_modules/package-json-from-dist/LICENSE.md +63 -0
  1920. package/eleventy/node_modules/package-json-from-dist/README.md +110 -0
  1921. package/eleventy/node_modules/package-json-from-dist/dist/commonjs/index.d.ts +89 -0
  1922. package/eleventy/node_modules/package-json-from-dist/dist/commonjs/index.d.ts.map +1 -0
  1923. package/eleventy/node_modules/package-json-from-dist/dist/commonjs/index.js +134 -0
  1924. package/eleventy/node_modules/package-json-from-dist/dist/commonjs/index.js.map +1 -0
  1925. package/eleventy/node_modules/package-json-from-dist/dist/commonjs/package.json +3 -0
  1926. package/eleventy/node_modules/package-json-from-dist/dist/esm/index.d.ts +89 -0
  1927. package/eleventy/node_modules/package-json-from-dist/dist/esm/index.d.ts.map +1 -0
  1928. package/eleventy/node_modules/package-json-from-dist/dist/esm/index.js +129 -0
  1929. package/eleventy/node_modules/package-json-from-dist/dist/esm/index.js.map +1 -0
  1930. package/eleventy/node_modules/package-json-from-dist/dist/esm/package.json +3 -0
  1931. package/eleventy/node_modules/package-json-from-dist/package.json +68 -0
  1932. package/eleventy/node_modules/parse-srcset/.jscs.json +83 -0
  1933. package/eleventy/node_modules/parse-srcset/.jshintrc +15 -0
  1934. package/eleventy/node_modules/parse-srcset/LICENSE +22 -0
  1935. package/eleventy/node_modules/parse-srcset/README.md +19 -0
  1936. package/eleventy/node_modules/parse-srcset/package.json +25 -0
  1937. package/eleventy/node_modules/parse-srcset/src/parse-srcset.js +330 -0
  1938. package/eleventy/node_modules/parse-srcset/tests/he.js +329 -0
  1939. package/eleventy/node_modules/parse-srcset/tests/intern.js +74 -0
  1940. package/eleventy/node_modules/parse-srcset/tests/unit/ps.js +345 -0
  1941. package/eleventy/node_modules/parseurl/HISTORY.md +58 -0
  1942. package/eleventy/node_modules/parseurl/LICENSE +24 -0
  1943. package/eleventy/node_modules/parseurl/README.md +133 -0
  1944. package/eleventy/node_modules/parseurl/index.js +158 -0
  1945. package/eleventy/node_modules/parseurl/package.json +40 -0
  1946. package/eleventy/node_modules/path-key/index.d.ts +40 -0
  1947. package/eleventy/node_modules/path-key/index.js +16 -0
  1948. package/eleventy/node_modules/path-key/license +9 -0
  1949. package/eleventy/node_modules/path-key/package.json +39 -0
  1950. package/eleventy/node_modules/path-key/readme.md +61 -0
  1951. package/eleventy/node_modules/path-scurry/LICENSE.md +55 -0
  1952. package/eleventy/node_modules/path-scurry/README.md +636 -0
  1953. package/eleventy/node_modules/path-scurry/dist/commonjs/index.d.ts +1116 -0
  1954. package/eleventy/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -0
  1955. package/eleventy/node_modules/path-scurry/dist/commonjs/index.js +2014 -0
  1956. package/eleventy/node_modules/path-scurry/dist/commonjs/index.js.map +1 -0
  1957. package/eleventy/node_modules/path-scurry/dist/commonjs/package.json +3 -0
  1958. package/eleventy/node_modules/path-scurry/dist/esm/index.d.ts +1116 -0
  1959. package/eleventy/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -0
  1960. package/eleventy/node_modules/path-scurry/dist/esm/index.js +1979 -0
  1961. package/eleventy/node_modules/path-scurry/dist/esm/index.js.map +1 -0
  1962. package/eleventy/node_modules/path-scurry/dist/esm/package.json +3 -0
  1963. package/eleventy/node_modules/path-scurry/package.json +89 -0
  1964. package/eleventy/node_modules/picomatch/CHANGELOG.md +136 -0
  1965. package/eleventy/node_modules/picomatch/LICENSE +21 -0
  1966. package/eleventy/node_modules/picomatch/README.md +708 -0
  1967. package/eleventy/node_modules/picomatch/index.js +3 -0
  1968. package/eleventy/node_modules/picomatch/lib/constants.js +179 -0
  1969. package/eleventy/node_modules/picomatch/lib/parse.js +1091 -0
  1970. package/eleventy/node_modules/picomatch/lib/picomatch.js +342 -0
  1971. package/eleventy/node_modules/picomatch/lib/scan.js +391 -0
  1972. package/eleventy/node_modules/picomatch/lib/utils.js +64 -0
  1973. package/eleventy/node_modules/picomatch/package.json +81 -0
  1974. package/eleventy/node_modules/pify/index.js +68 -0
  1975. package/eleventy/node_modules/pify/license +21 -0
  1976. package/eleventy/node_modules/pify/package.json +48 -0
  1977. package/eleventy/node_modules/pify/readme.md +119 -0
  1978. package/eleventy/node_modules/please-upgrade-node/.eslintrc.js +12 -0
  1979. package/eleventy/node_modules/please-upgrade-node/.github/FUNDING.yml +1 -0
  1980. package/eleventy/node_modules/please-upgrade-node/LICENSE +21 -0
  1981. package/eleventy/node_modules/please-upgrade-node/README.md +72 -0
  1982. package/eleventy/node_modules/please-upgrade-node/index.d.ts +11 -0
  1983. package/eleventy/node_modules/please-upgrade-node/index.js +25 -0
  1984. package/eleventy/node_modules/please-upgrade-node/package.json +46 -0
  1985. package/eleventy/node_modules/posthtml/lib/api.js +145 -0
  1986. package/eleventy/node_modules/posthtml/lib/index.js +323 -0
  1987. package/eleventy/node_modules/posthtml/license +21 -0
  1988. package/eleventy/node_modules/posthtml/package.json +64 -0
  1989. package/eleventy/node_modules/posthtml/readme.md +412 -0
  1990. package/eleventy/node_modules/posthtml/types/posthtml.d.ts +108 -0
  1991. package/eleventy/node_modules/posthtml-match-helper/LICENSE +21 -0
  1992. package/eleventy/node_modules/posthtml-match-helper/README.md +84 -0
  1993. package/eleventy/node_modules/posthtml-match-helper/lib/index.d.ts +10 -0
  1994. package/eleventy/node_modules/posthtml-match-helper/lib/index.js +149 -0
  1995. package/eleventy/node_modules/posthtml-match-helper/package.json +41 -0
  1996. package/eleventy/node_modules/posthtml-parser/dist/chunk.2UQLUWPH.js +1 -0
  1997. package/eleventy/node_modules/posthtml-parser/dist/index.d.ts +27 -0
  1998. package/eleventy/node_modules/posthtml-parser/dist/index.js +1 -0
  1999. package/eleventy/node_modules/posthtml-parser/dist/location-tracker.d.ts +17 -0
  2000. package/eleventy/node_modules/posthtml-parser/dist/location-tracker.js +1 -0
  2001. package/eleventy/node_modules/posthtml-parser/license +22 -0
  2002. package/eleventy/node_modules/posthtml-parser/package.json +69 -0
  2003. package/eleventy/node_modules/posthtml-parser/readme.md +130 -0
  2004. package/eleventy/node_modules/posthtml-render/changelog.md +310 -0
  2005. package/eleventy/node_modules/posthtml-render/dist/index.d.ts +67 -0
  2006. package/eleventy/node_modules/posthtml-render/dist/index.js +1 -0
  2007. package/eleventy/node_modules/posthtml-render/license +22 -0
  2008. package/eleventy/node_modules/posthtml-render/package.json +55 -0
  2009. package/eleventy/node_modules/posthtml-render/readme.md +225 -0
  2010. package/eleventy/node_modules/promise/.jshintrc +5 -0
  2011. package/eleventy/node_modules/promise/LICENSE +19 -0
  2012. package/eleventy/node_modules/promise/Readme.md +231 -0
  2013. package/eleventy/node_modules/promise/build.js +69 -0
  2014. package/eleventy/node_modules/promise/core.js +5 -0
  2015. package/eleventy/node_modules/promise/domains/core.js +213 -0
  2016. package/eleventy/node_modules/promise/domains/done.js +13 -0
  2017. package/eleventy/node_modules/promise/domains/es6-extensions.js +107 -0
  2018. package/eleventy/node_modules/promise/domains/finally.js +16 -0
  2019. package/eleventy/node_modules/promise/domains/index.js +8 -0
  2020. package/eleventy/node_modules/promise/domains/node-extensions.js +130 -0
  2021. package/eleventy/node_modules/promise/domains/rejection-tracking.js +113 -0
  2022. package/eleventy/node_modules/promise/domains/synchronous.js +62 -0
  2023. package/eleventy/node_modules/promise/index.d.ts +256 -0
  2024. package/eleventy/node_modules/promise/index.js +3 -0
  2025. package/eleventy/node_modules/promise/lib/core.js +213 -0
  2026. package/eleventy/node_modules/promise/lib/done.js +13 -0
  2027. package/eleventy/node_modules/promise/lib/es6-extensions.js +107 -0
  2028. package/eleventy/node_modules/promise/lib/finally.js +16 -0
  2029. package/eleventy/node_modules/promise/lib/index.js +8 -0
  2030. package/eleventy/node_modules/promise/lib/node-extensions.js +130 -0
  2031. package/eleventy/node_modules/promise/lib/rejection-tracking.js +113 -0
  2032. package/eleventy/node_modules/promise/lib/synchronous.js +62 -0
  2033. package/eleventy/node_modules/promise/package.json +35 -0
  2034. package/eleventy/node_modules/promise/polyfill-done.js +12 -0
  2035. package/eleventy/node_modules/promise/polyfill.js +10 -0
  2036. package/eleventy/node_modules/promise/setimmediate/core.js +213 -0
  2037. package/eleventy/node_modules/promise/setimmediate/done.js +13 -0
  2038. package/eleventy/node_modules/promise/setimmediate/es6-extensions.js +107 -0
  2039. package/eleventy/node_modules/promise/setimmediate/finally.js +16 -0
  2040. package/eleventy/node_modules/promise/setimmediate/index.js +8 -0
  2041. package/eleventy/node_modules/promise/setimmediate/node-extensions.js +130 -0
  2042. package/eleventy/node_modules/promise/setimmediate/rejection-tracking.js +113 -0
  2043. package/eleventy/node_modules/promise/setimmediate/synchronous.js +62 -0
  2044. package/eleventy/node_modules/promise/src/core.js +213 -0
  2045. package/eleventy/node_modules/promise/src/done.js +13 -0
  2046. package/eleventy/node_modules/promise/src/es6-extensions.js +107 -0
  2047. package/eleventy/node_modules/promise/src/finally.js +16 -0
  2048. package/eleventy/node_modules/promise/src/index.js +8 -0
  2049. package/eleventy/node_modules/promise/src/node-extensions.js +130 -0
  2050. package/eleventy/node_modules/promise/src/rejection-tracking.js +113 -0
  2051. package/eleventy/node_modules/promise/src/synchronous.js +62 -0
  2052. package/eleventy/node_modules/prr/.jshintrc +61 -0
  2053. package/eleventy/node_modules/prr/.travis.yml +10 -0
  2054. package/eleventy/node_modules/prr/LICENSE.md +11 -0
  2055. package/eleventy/node_modules/prr/README.md +47 -0
  2056. package/eleventy/node_modules/prr/package.json +26 -0
  2057. package/eleventy/node_modules/prr/prr.js +63 -0
  2058. package/eleventy/node_modules/prr/test.js +169 -0
  2059. package/eleventy/node_modules/punycode.js/LICENSE-MIT.txt +20 -0
  2060. package/eleventy/node_modules/punycode.js/README.md +148 -0
  2061. package/eleventy/node_modules/punycode.js/package.json +58 -0
  2062. package/eleventy/node_modules/punycode.js/punycode.es6.js +444 -0
  2063. package/eleventy/node_modules/punycode.js/punycode.js +443 -0
  2064. package/eleventy/node_modules/queue-microtask/LICENSE +20 -0
  2065. package/eleventy/node_modules/queue-microtask/README.md +90 -0
  2066. package/eleventy/node_modules/queue-microtask/index.d.ts +2 -0
  2067. package/eleventy/node_modules/queue-microtask/index.js +9 -0
  2068. package/eleventy/node_modules/queue-microtask/package.json +55 -0
  2069. package/eleventy/node_modules/range-parser/HISTORY.md +56 -0
  2070. package/eleventy/node_modules/range-parser/LICENSE +23 -0
  2071. package/eleventy/node_modules/range-parser/README.md +84 -0
  2072. package/eleventy/node_modules/range-parser/index.js +162 -0
  2073. package/eleventy/node_modules/range-parser/package.json +44 -0
  2074. package/eleventy/node_modules/readdirp/LICENSE +21 -0
  2075. package/eleventy/node_modules/readdirp/README.md +122 -0
  2076. package/eleventy/node_modules/readdirp/index.d.ts +43 -0
  2077. package/eleventy/node_modules/readdirp/index.js +287 -0
  2078. package/eleventy/node_modules/readdirp/package.json +122 -0
  2079. package/eleventy/node_modules/reusify/.coveralls.yml +1 -0
  2080. package/eleventy/node_modules/reusify/.travis.yml +28 -0
  2081. package/eleventy/node_modules/reusify/LICENSE +22 -0
  2082. package/eleventy/node_modules/reusify/README.md +145 -0
  2083. package/eleventy/node_modules/reusify/benchmarks/createNoCodeFunction.js +30 -0
  2084. package/eleventy/node_modules/reusify/benchmarks/fib.js +13 -0
  2085. package/eleventy/node_modules/reusify/benchmarks/reuseNoCodeFunction.js +38 -0
  2086. package/eleventy/node_modules/reusify/package.json +45 -0
  2087. package/eleventy/node_modules/reusify/reusify.js +33 -0
  2088. package/eleventy/node_modules/reusify/test.js +66 -0
  2089. package/eleventy/node_modules/rimraf/LICENSE +15 -0
  2090. package/eleventy/node_modules/rimraf/README.md +220 -0
  2091. package/eleventy/node_modules/rimraf/dist/commonjs/default-tmp.d.ts +3 -0
  2092. package/eleventy/node_modules/rimraf/dist/commonjs/default-tmp.d.ts.map +1 -0
  2093. package/eleventy/node_modules/rimraf/dist/commonjs/default-tmp.js +61 -0
  2094. package/eleventy/node_modules/rimraf/dist/commonjs/default-tmp.js.map +1 -0
  2095. package/eleventy/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts +3 -0
  2096. package/eleventy/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts.map +1 -0
  2097. package/eleventy/node_modules/rimraf/dist/commonjs/fix-eperm.js +58 -0
  2098. package/eleventy/node_modules/rimraf/dist/commonjs/fix-eperm.js.map +1 -0
  2099. package/eleventy/node_modules/rimraf/dist/commonjs/fs.d.ts +17 -0
  2100. package/eleventy/node_modules/rimraf/dist/commonjs/fs.d.ts.map +1 -0
  2101. package/eleventy/node_modules/rimraf/dist/commonjs/fs.js +46 -0
  2102. package/eleventy/node_modules/rimraf/dist/commonjs/fs.js.map +1 -0
  2103. package/eleventy/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts +3 -0
  2104. package/eleventy/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts.map +1 -0
  2105. package/eleventy/node_modules/rimraf/dist/commonjs/ignore-enoent.js +21 -0
  2106. package/eleventy/node_modules/rimraf/dist/commonjs/ignore-enoent.js.map +1 -0
  2107. package/eleventy/node_modules/rimraf/dist/commonjs/index.d.ts +50 -0
  2108. package/eleventy/node_modules/rimraf/dist/commonjs/index.d.ts.map +1 -0
  2109. package/eleventy/node_modules/rimraf/dist/commonjs/index.js +78 -0
  2110. package/eleventy/node_modules/rimraf/dist/commonjs/index.js.map +1 -0
  2111. package/eleventy/node_modules/rimraf/dist/commonjs/opt-arg.d.ts +34 -0
  2112. package/eleventy/node_modules/rimraf/dist/commonjs/opt-arg.d.ts.map +1 -0
  2113. package/eleventy/node_modules/rimraf/dist/commonjs/opt-arg.js +53 -0
  2114. package/eleventy/node_modules/rimraf/dist/commonjs/opt-arg.js.map +1 -0
  2115. package/eleventy/node_modules/rimraf/dist/commonjs/package.json +3 -0
  2116. package/eleventy/node_modules/rimraf/dist/commonjs/path-arg.d.ts +4 -0
  2117. package/eleventy/node_modules/rimraf/dist/commonjs/path-arg.d.ts.map +1 -0
  2118. package/eleventy/node_modules/rimraf/dist/commonjs/path-arg.js +52 -0
  2119. package/eleventy/node_modules/rimraf/dist/commonjs/path-arg.js.map +1 -0
  2120. package/eleventy/node_modules/rimraf/dist/commonjs/platform.d.ts +3 -0
  2121. package/eleventy/node_modules/rimraf/dist/commonjs/platform.d.ts.map +1 -0
  2122. package/eleventy/node_modules/rimraf/dist/commonjs/platform.js +4 -0
  2123. package/eleventy/node_modules/rimraf/dist/commonjs/platform.js.map +1 -0
  2124. package/eleventy/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts +3 -0
  2125. package/eleventy/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts.map +1 -0
  2126. package/eleventy/node_modules/rimraf/dist/commonjs/readdir-or-error.js +19 -0
  2127. package/eleventy/node_modules/rimraf/dist/commonjs/readdir-or-error.js.map +1 -0
  2128. package/eleventy/node_modules/rimraf/dist/commonjs/retry-busy.d.ts +8 -0
  2129. package/eleventy/node_modules/rimraf/dist/commonjs/retry-busy.d.ts.map +1 -0
  2130. package/eleventy/node_modules/rimraf/dist/commonjs/retry-busy.js +68 -0
  2131. package/eleventy/node_modules/rimraf/dist/commonjs/retry-busy.js.map +1 -0
  2132. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts +3 -0
  2133. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts.map +1 -0
  2134. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-manual.js +12 -0
  2135. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-manual.js.map +1 -0
  2136. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts +4 -0
  2137. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts.map +1 -0
  2138. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js +192 -0
  2139. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js.map +1 -0
  2140. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts +4 -0
  2141. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts.map +1 -0
  2142. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-native.js +24 -0
  2143. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-native.js.map +1 -0
  2144. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts +4 -0
  2145. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts.map +1 -0
  2146. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-posix.js +123 -0
  2147. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-posix.js.map +1 -0
  2148. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts +4 -0
  2149. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts.map +1 -0
  2150. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-windows.js +182 -0
  2151. package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-windows.js.map +1 -0
  2152. package/eleventy/node_modules/rimraf/dist/commonjs/use-native.d.ts +4 -0
  2153. package/eleventy/node_modules/rimraf/dist/commonjs/use-native.d.ts.map +1 -0
  2154. package/eleventy/node_modules/rimraf/dist/commonjs/use-native.js +22 -0
  2155. package/eleventy/node_modules/rimraf/dist/commonjs/use-native.js.map +1 -0
  2156. package/eleventy/node_modules/rimraf/dist/esm/bin.d.mts +8 -0
  2157. package/eleventy/node_modules/rimraf/dist/esm/bin.d.mts.map +1 -0
  2158. package/eleventy/node_modules/rimraf/dist/esm/bin.mjs +256 -0
  2159. package/eleventy/node_modules/rimraf/dist/esm/bin.mjs.map +1 -0
  2160. package/eleventy/node_modules/rimraf/dist/esm/default-tmp.d.ts +3 -0
  2161. package/eleventy/node_modules/rimraf/dist/esm/default-tmp.d.ts.map +1 -0
  2162. package/eleventy/node_modules/rimraf/dist/esm/default-tmp.js +55 -0
  2163. package/eleventy/node_modules/rimraf/dist/esm/default-tmp.js.map +1 -0
  2164. package/eleventy/node_modules/rimraf/dist/esm/fix-eperm.d.ts +3 -0
  2165. package/eleventy/node_modules/rimraf/dist/esm/fix-eperm.d.ts.map +1 -0
  2166. package/eleventy/node_modules/rimraf/dist/esm/fix-eperm.js +53 -0
  2167. package/eleventy/node_modules/rimraf/dist/esm/fix-eperm.js.map +1 -0
  2168. package/eleventy/node_modules/rimraf/dist/esm/fs.d.ts +17 -0
  2169. package/eleventy/node_modules/rimraf/dist/esm/fs.d.ts.map +1 -0
  2170. package/eleventy/node_modules/rimraf/dist/esm/fs.js +31 -0
  2171. package/eleventy/node_modules/rimraf/dist/esm/fs.js.map +1 -0
  2172. package/eleventy/node_modules/rimraf/dist/esm/ignore-enoent.d.ts +3 -0
  2173. package/eleventy/node_modules/rimraf/dist/esm/ignore-enoent.d.ts.map +1 -0
  2174. package/eleventy/node_modules/rimraf/dist/esm/ignore-enoent.js +16 -0
  2175. package/eleventy/node_modules/rimraf/dist/esm/ignore-enoent.js.map +1 -0
  2176. package/eleventy/node_modules/rimraf/dist/esm/index.d.ts +50 -0
  2177. package/eleventy/node_modules/rimraf/dist/esm/index.d.ts.map +1 -0
  2178. package/eleventy/node_modules/rimraf/dist/esm/index.js +70 -0
  2179. package/eleventy/node_modules/rimraf/dist/esm/index.js.map +1 -0
  2180. package/eleventy/node_modules/rimraf/dist/esm/opt-arg.d.ts +34 -0
  2181. package/eleventy/node_modules/rimraf/dist/esm/opt-arg.d.ts.map +1 -0
  2182. package/eleventy/node_modules/rimraf/dist/esm/opt-arg.js +46 -0
  2183. package/eleventy/node_modules/rimraf/dist/esm/opt-arg.js.map +1 -0
  2184. package/eleventy/node_modules/rimraf/dist/esm/package.json +3 -0
  2185. package/eleventy/node_modules/rimraf/dist/esm/path-arg.d.ts +4 -0
  2186. package/eleventy/node_modules/rimraf/dist/esm/path-arg.d.ts.map +1 -0
  2187. package/eleventy/node_modules/rimraf/dist/esm/path-arg.js +47 -0
  2188. package/eleventy/node_modules/rimraf/dist/esm/path-arg.js.map +1 -0
  2189. package/eleventy/node_modules/rimraf/dist/esm/platform.d.ts +3 -0
  2190. package/eleventy/node_modules/rimraf/dist/esm/platform.d.ts.map +1 -0
  2191. package/eleventy/node_modules/rimraf/dist/esm/platform.js +2 -0
  2192. package/eleventy/node_modules/rimraf/dist/esm/platform.js.map +1 -0
  2193. package/eleventy/node_modules/rimraf/dist/esm/readdir-or-error.d.ts +3 -0
  2194. package/eleventy/node_modules/rimraf/dist/esm/readdir-or-error.d.ts.map +1 -0
  2195. package/eleventy/node_modules/rimraf/dist/esm/readdir-or-error.js +14 -0
  2196. package/eleventy/node_modules/rimraf/dist/esm/readdir-or-error.js.map +1 -0
  2197. package/eleventy/node_modules/rimraf/dist/esm/retry-busy.d.ts +8 -0
  2198. package/eleventy/node_modules/rimraf/dist/esm/retry-busy.d.ts.map +1 -0
  2199. package/eleventy/node_modules/rimraf/dist/esm/retry-busy.js +63 -0
  2200. package/eleventy/node_modules/rimraf/dist/esm/retry-busy.js.map +1 -0
  2201. package/eleventy/node_modules/rimraf/dist/esm/rimraf-manual.d.ts +3 -0
  2202. package/eleventy/node_modules/rimraf/dist/esm/rimraf-manual.d.ts.map +1 -0
  2203. package/eleventy/node_modules/rimraf/dist/esm/rimraf-manual.js +6 -0
  2204. package/eleventy/node_modules/rimraf/dist/esm/rimraf-manual.js.map +1 -0
  2205. package/eleventy/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts +4 -0
  2206. package/eleventy/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts.map +1 -0
  2207. package/eleventy/node_modules/rimraf/dist/esm/rimraf-move-remove.js +187 -0
  2208. package/eleventy/node_modules/rimraf/dist/esm/rimraf-move-remove.js.map +1 -0
  2209. package/eleventy/node_modules/rimraf/dist/esm/rimraf-native.d.ts +4 -0
  2210. package/eleventy/node_modules/rimraf/dist/esm/rimraf-native.d.ts.map +1 -0
  2211. package/eleventy/node_modules/rimraf/dist/esm/rimraf-native.js +19 -0
  2212. package/eleventy/node_modules/rimraf/dist/esm/rimraf-native.js.map +1 -0
  2213. package/eleventy/node_modules/rimraf/dist/esm/rimraf-posix.d.ts +4 -0
  2214. package/eleventy/node_modules/rimraf/dist/esm/rimraf-posix.d.ts.map +1 -0
  2215. package/eleventy/node_modules/rimraf/dist/esm/rimraf-posix.js +118 -0
  2216. package/eleventy/node_modules/rimraf/dist/esm/rimraf-posix.js.map +1 -0
  2217. package/eleventy/node_modules/rimraf/dist/esm/rimraf-windows.d.ts +4 -0
  2218. package/eleventy/node_modules/rimraf/dist/esm/rimraf-windows.d.ts.map +1 -0
  2219. package/eleventy/node_modules/rimraf/dist/esm/rimraf-windows.js +177 -0
  2220. package/eleventy/node_modules/rimraf/dist/esm/rimraf-windows.js.map +1 -0
  2221. package/eleventy/node_modules/rimraf/dist/esm/use-native.d.ts +4 -0
  2222. package/eleventy/node_modules/rimraf/dist/esm/use-native.d.ts.map +1 -0
  2223. package/eleventy/node_modules/rimraf/dist/esm/use-native.js +16 -0
  2224. package/eleventy/node_modules/rimraf/dist/esm/use-native.js.map +1 -0
  2225. package/eleventy/node_modules/rimraf/package.json +89 -0
  2226. package/eleventy/node_modules/run-parallel/LICENSE +20 -0
  2227. package/eleventy/node_modules/run-parallel/README.md +85 -0
  2228. package/eleventy/node_modules/run-parallel/index.js +51 -0
  2229. package/eleventy/node_modules/run-parallel/package.json +58 -0
  2230. package/eleventy/node_modules/section-matter/LICENSE +21 -0
  2231. package/eleventy/node_modules/section-matter/README.md +236 -0
  2232. package/eleventy/node_modules/section-matter/index.js +136 -0
  2233. package/eleventy/node_modules/section-matter/package.json +55 -0
  2234. package/eleventy/node_modules/semver/LICENSE +15 -0
  2235. package/eleventy/node_modules/semver/README.md +654 -0
  2236. package/eleventy/node_modules/semver/bin/semver.js +188 -0
  2237. package/eleventy/node_modules/semver/classes/comparator.js +141 -0
  2238. package/eleventy/node_modules/semver/classes/index.js +5 -0
  2239. package/eleventy/node_modules/semver/classes/range.js +554 -0
  2240. package/eleventy/node_modules/semver/classes/semver.js +302 -0
  2241. package/eleventy/node_modules/semver/functions/clean.js +6 -0
  2242. package/eleventy/node_modules/semver/functions/cmp.js +52 -0
  2243. package/eleventy/node_modules/semver/functions/coerce.js +60 -0
  2244. package/eleventy/node_modules/semver/functions/compare-build.js +7 -0
  2245. package/eleventy/node_modules/semver/functions/compare-loose.js +3 -0
  2246. package/eleventy/node_modules/semver/functions/compare.js +5 -0
  2247. package/eleventy/node_modules/semver/functions/diff.js +65 -0
  2248. package/eleventy/node_modules/semver/functions/eq.js +3 -0
  2249. package/eleventy/node_modules/semver/functions/gt.js +3 -0
  2250. package/eleventy/node_modules/semver/functions/gte.js +3 -0
  2251. package/eleventy/node_modules/semver/functions/inc.js +19 -0
  2252. package/eleventy/node_modules/semver/functions/lt.js +3 -0
  2253. package/eleventy/node_modules/semver/functions/lte.js +3 -0
  2254. package/eleventy/node_modules/semver/functions/major.js +3 -0
  2255. package/eleventy/node_modules/semver/functions/minor.js +3 -0
  2256. package/eleventy/node_modules/semver/functions/neq.js +3 -0
  2257. package/eleventy/node_modules/semver/functions/parse.js +16 -0
  2258. package/eleventy/node_modules/semver/functions/patch.js +3 -0
  2259. package/eleventy/node_modules/semver/functions/prerelease.js +6 -0
  2260. package/eleventy/node_modules/semver/functions/rcompare.js +3 -0
  2261. package/eleventy/node_modules/semver/functions/rsort.js +3 -0
  2262. package/eleventy/node_modules/semver/functions/satisfies.js +10 -0
  2263. package/eleventy/node_modules/semver/functions/sort.js +3 -0
  2264. package/eleventy/node_modules/semver/functions/valid.js +6 -0
  2265. package/eleventy/node_modules/semver/index.js +89 -0
  2266. package/eleventy/node_modules/semver/internal/constants.js +35 -0
  2267. package/eleventy/node_modules/semver/internal/debug.js +9 -0
  2268. package/eleventy/node_modules/semver/internal/identifiers.js +23 -0
  2269. package/eleventy/node_modules/semver/internal/lrucache.js +40 -0
  2270. package/eleventy/node_modules/semver/internal/parse-options.js +15 -0
  2271. package/eleventy/node_modules/semver/internal/re.js +217 -0
  2272. package/eleventy/node_modules/semver/package.json +77 -0
  2273. package/eleventy/node_modules/semver/preload.js +2 -0
  2274. package/eleventy/node_modules/semver/range.bnf +16 -0
  2275. package/eleventy/node_modules/semver/ranges/gtr.js +4 -0
  2276. package/eleventy/node_modules/semver/ranges/intersects.js +7 -0
  2277. package/eleventy/node_modules/semver/ranges/ltr.js +4 -0
  2278. package/eleventy/node_modules/semver/ranges/max-satisfying.js +25 -0
  2279. package/eleventy/node_modules/semver/ranges/min-satisfying.js +24 -0
  2280. package/eleventy/node_modules/semver/ranges/min-version.js +61 -0
  2281. package/eleventy/node_modules/semver/ranges/outside.js +80 -0
  2282. package/eleventy/node_modules/semver/ranges/simplify.js +47 -0
  2283. package/eleventy/node_modules/semver/ranges/subset.js +247 -0
  2284. package/eleventy/node_modules/semver/ranges/to-comparators.js +8 -0
  2285. package/eleventy/node_modules/semver/ranges/valid.js +11 -0
  2286. package/eleventy/node_modules/semver-compare/.travis.yml +6 -0
  2287. package/eleventy/node_modules/semver-compare/LICENSE +18 -0
  2288. package/eleventy/node_modules/semver-compare/example/cmp.js +13 -0
  2289. package/eleventy/node_modules/semver-compare/example/lex.js +12 -0
  2290. package/eleventy/node_modules/semver-compare/index.js +13 -0
  2291. package/eleventy/node_modules/semver-compare/package.json +31 -0
  2292. package/eleventy/node_modules/semver-compare/readme.markdown +77 -0
  2293. package/eleventy/node_modules/semver-compare/test/cmp.js +29 -0
  2294. package/eleventy/node_modules/send/HISTORY.md +571 -0
  2295. package/eleventy/node_modules/send/LICENSE +23 -0
  2296. package/eleventy/node_modules/send/README.md +320 -0
  2297. package/eleventy/node_modules/send/SECURITY.md +24 -0
  2298. package/eleventy/node_modules/send/index.js +1014 -0
  2299. package/eleventy/node_modules/send/package.json +62 -0
  2300. package/eleventy/node_modules/setprototypeof/LICENSE +13 -0
  2301. package/eleventy/node_modules/setprototypeof/README.md +31 -0
  2302. package/eleventy/node_modules/setprototypeof/index.d.ts +2 -0
  2303. package/eleventy/node_modules/setprototypeof/index.js +17 -0
  2304. package/eleventy/node_modules/setprototypeof/package.json +38 -0
  2305. package/eleventy/node_modules/setprototypeof/test/index.js +24 -0
  2306. package/eleventy/node_modules/shebang-command/index.js +19 -0
  2307. package/eleventy/node_modules/shebang-command/license +9 -0
  2308. package/eleventy/node_modules/shebang-command/package.json +34 -0
  2309. package/eleventy/node_modules/shebang-command/readme.md +34 -0
  2310. package/eleventy/node_modules/shebang-regex/index.d.ts +22 -0
  2311. package/eleventy/node_modules/shebang-regex/index.js +2 -0
  2312. package/eleventy/node_modules/shebang-regex/license +9 -0
  2313. package/eleventy/node_modules/shebang-regex/package.json +35 -0
  2314. package/eleventy/node_modules/shebang-regex/readme.md +33 -0
  2315. package/eleventy/node_modules/signal-exit/LICENSE.txt +16 -0
  2316. package/eleventy/node_modules/signal-exit/README.md +74 -0
  2317. package/eleventy/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
  2318. package/eleventy/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
  2319. package/eleventy/node_modules/signal-exit/dist/cjs/browser.js +10 -0
  2320. package/eleventy/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
  2321. package/eleventy/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
  2322. package/eleventy/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
  2323. package/eleventy/node_modules/signal-exit/dist/cjs/index.js +279 -0
  2324. package/eleventy/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
  2325. package/eleventy/node_modules/signal-exit/dist/cjs/package.json +3 -0
  2326. package/eleventy/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
  2327. package/eleventy/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
  2328. package/eleventy/node_modules/signal-exit/dist/cjs/signals.js +42 -0
  2329. package/eleventy/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
  2330. package/eleventy/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
  2331. package/eleventy/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
  2332. package/eleventy/node_modules/signal-exit/dist/mjs/browser.js +4 -0
  2333. package/eleventy/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
  2334. package/eleventy/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
  2335. package/eleventy/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
  2336. package/eleventy/node_modules/signal-exit/dist/mjs/index.js +275 -0
  2337. package/eleventy/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
  2338. package/eleventy/node_modules/signal-exit/dist/mjs/package.json +3 -0
  2339. package/eleventy/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
  2340. package/eleventy/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
  2341. package/eleventy/node_modules/signal-exit/dist/mjs/signals.js +39 -0
  2342. package/eleventy/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
  2343. package/eleventy/node_modules/signal-exit/package.json +106 -0
  2344. package/eleventy/node_modules/slash/index.js +11 -0
  2345. package/eleventy/node_modules/slash/package.json +33 -0
  2346. package/eleventy/node_modules/slash/readme.md +44 -0
  2347. package/eleventy/node_modules/slugify/CHANGELOG.md +94 -0
  2348. package/eleventy/node_modules/slugify/LICENSE +21 -0
  2349. package/eleventy/node_modules/slugify/README.md +98 -0
  2350. package/eleventy/node_modules/slugify/package.json +42 -0
  2351. package/eleventy/node_modules/slugify/slugify.d.ts +24 -0
  2352. package/eleventy/node_modules/slugify/slugify.js +69 -0
  2353. package/eleventy/node_modules/sprintf-js/LICENSE +24 -0
  2354. package/eleventy/node_modules/sprintf-js/README.md +88 -0
  2355. package/eleventy/node_modules/sprintf-js/bower.json +14 -0
  2356. package/eleventy/node_modules/sprintf-js/demo/angular.html +20 -0
  2357. package/eleventy/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
  2358. package/eleventy/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
  2359. package/eleventy/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
  2360. package/eleventy/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
  2361. package/eleventy/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
  2362. package/eleventy/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
  2363. package/eleventy/node_modules/sprintf-js/gruntfile.js +36 -0
  2364. package/eleventy/node_modules/sprintf-js/package.json +22 -0
  2365. package/eleventy/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
  2366. package/eleventy/node_modules/sprintf-js/src/sprintf.js +208 -0
  2367. package/eleventy/node_modules/sprintf-js/test/test.js +82 -0
  2368. package/eleventy/node_modules/ssri/LICENSE.md +16 -0
  2369. package/eleventy/node_modules/ssri/README.md +528 -0
  2370. package/eleventy/node_modules/ssri/lib/index.js +580 -0
  2371. package/eleventy/node_modules/ssri/package.json +66 -0
  2372. package/eleventy/node_modules/statuses/HISTORY.md +82 -0
  2373. package/eleventy/node_modules/statuses/LICENSE +23 -0
  2374. package/eleventy/node_modules/statuses/README.md +136 -0
  2375. package/eleventy/node_modules/statuses/codes.json +65 -0
  2376. package/eleventy/node_modules/statuses/index.js +146 -0
  2377. package/eleventy/node_modules/statuses/package.json +49 -0
  2378. package/eleventy/node_modules/string-width/index.d.ts +29 -0
  2379. package/eleventy/node_modules/string-width/index.js +54 -0
  2380. package/eleventy/node_modules/string-width/license +9 -0
  2381. package/eleventy/node_modules/string-width/package.json +59 -0
  2382. package/eleventy/node_modules/string-width/readme.md +67 -0
  2383. package/eleventy/node_modules/string-width-cjs/index.d.ts +29 -0
  2384. package/eleventy/node_modules/string-width-cjs/index.js +47 -0
  2385. package/eleventy/node_modules/string-width-cjs/license +9 -0
  2386. package/eleventy/node_modules/string-width-cjs/node_modules/ansi-regex/index.d.ts +37 -0
  2387. package/eleventy/node_modules/string-width-cjs/node_modules/ansi-regex/index.js +10 -0
  2388. package/eleventy/node_modules/string-width-cjs/node_modules/ansi-regex/license +9 -0
  2389. package/eleventy/node_modules/string-width-cjs/node_modules/ansi-regex/package.json +55 -0
  2390. package/eleventy/node_modules/string-width-cjs/node_modules/ansi-regex/readme.md +78 -0
  2391. package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  2392. package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/README.md +73 -0
  2393. package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/index.js +6 -0
  2394. package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/text.js +6 -0
  2395. package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/index.d.ts +23 -0
  2396. package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/index.js +6 -0
  2397. package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/package.json +50 -0
  2398. package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/text.js +6 -0
  2399. package/eleventy/node_modules/string-width-cjs/node_modules/strip-ansi/index.d.ts +17 -0
  2400. package/eleventy/node_modules/string-width-cjs/node_modules/strip-ansi/index.js +4 -0
  2401. package/eleventy/node_modules/string-width-cjs/node_modules/strip-ansi/license +9 -0
  2402. package/eleventy/node_modules/string-width-cjs/node_modules/strip-ansi/package.json +54 -0
  2403. package/eleventy/node_modules/string-width-cjs/node_modules/strip-ansi/readme.md +46 -0
  2404. package/eleventy/node_modules/string-width-cjs/package.json +56 -0
  2405. package/eleventy/node_modules/string-width-cjs/readme.md +50 -0
  2406. package/eleventy/node_modules/strip-ansi/index.d.ts +15 -0
  2407. package/eleventy/node_modules/strip-ansi/index.js +14 -0
  2408. package/eleventy/node_modules/strip-ansi/license +9 -0
  2409. package/eleventy/node_modules/strip-ansi/package.json +57 -0
  2410. package/eleventy/node_modules/strip-ansi/readme.md +41 -0
  2411. package/eleventy/node_modules/strip-ansi-cjs/index.d.ts +17 -0
  2412. package/eleventy/node_modules/strip-ansi-cjs/index.js +4 -0
  2413. package/eleventy/node_modules/strip-ansi-cjs/license +9 -0
  2414. package/eleventy/node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.d.ts +37 -0
  2415. package/eleventy/node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.js +10 -0
  2416. package/eleventy/node_modules/strip-ansi-cjs/node_modules/ansi-regex/license +9 -0
  2417. package/eleventy/node_modules/strip-ansi-cjs/node_modules/ansi-regex/package.json +55 -0
  2418. package/eleventy/node_modules/strip-ansi-cjs/node_modules/ansi-regex/readme.md +78 -0
  2419. package/eleventy/node_modules/strip-ansi-cjs/package.json +54 -0
  2420. package/eleventy/node_modules/strip-ansi-cjs/readme.md +46 -0
  2421. package/eleventy/node_modules/strip-bom-string/LICENSE +21 -0
  2422. package/eleventy/node_modules/strip-bom-string/README.md +66 -0
  2423. package/eleventy/node_modules/strip-bom-string/index.js +15 -0
  2424. package/eleventy/node_modules/strip-bom-string/package.json +60 -0
  2425. package/eleventy/node_modules/to-regex-range/LICENSE +21 -0
  2426. package/eleventy/node_modules/to-regex-range/README.md +305 -0
  2427. package/eleventy/node_modules/to-regex-range/index.js +288 -0
  2428. package/eleventy/node_modules/to-regex-range/package.json +88 -0
  2429. package/eleventy/node_modules/toidentifier/HISTORY.md +9 -0
  2430. package/eleventy/node_modules/toidentifier/LICENSE +21 -0
  2431. package/eleventy/node_modules/toidentifier/README.md +61 -0
  2432. package/eleventy/node_modules/toidentifier/index.js +32 -0
  2433. package/eleventy/node_modules/toidentifier/package.json +38 -0
  2434. package/eleventy/node_modules/uc.micro/LICENSE.txt +20 -0
  2435. package/eleventy/node_modules/uc.micro/README.md +14 -0
  2436. package/eleventy/node_modules/uc.micro/categories/Cc/regex.mjs +1 -0
  2437. package/eleventy/node_modules/uc.micro/categories/Cf/regex.mjs +1 -0
  2438. package/eleventy/node_modules/uc.micro/categories/P/regex.mjs +1 -0
  2439. package/eleventy/node_modules/uc.micro/categories/S/regex.mjs +1 -0
  2440. package/eleventy/node_modules/uc.micro/categories/Z/regex.mjs +1 -0
  2441. package/eleventy/node_modules/uc.micro/index.mjs +8 -0
  2442. package/eleventy/node_modules/uc.micro/package.json +37 -0
  2443. package/eleventy/node_modules/uc.micro/properties/Any/regex.mjs +1 -0
  2444. package/eleventy/node_modules/unpipe/HISTORY.md +4 -0
  2445. package/eleventy/node_modules/unpipe/LICENSE +22 -0
  2446. package/eleventy/node_modules/unpipe/README.md +43 -0
  2447. package/eleventy/node_modules/unpipe/index.js +69 -0
  2448. package/eleventy/node_modules/unpipe/package.json +27 -0
  2449. package/eleventy/node_modules/urlpattern-polyfill/LICENSE +19 -0
  2450. package/eleventy/node_modules/urlpattern-polyfill/README.md +242 -0
  2451. package/eleventy/node_modules/urlpattern-polyfill/dist/index.d.ts +9 -0
  2452. package/eleventy/node_modules/urlpattern-polyfill/dist/types.d.ts +49 -0
  2453. package/eleventy/node_modules/urlpattern-polyfill/dist/urlpattern.cjs +1 -0
  2454. package/eleventy/node_modules/urlpattern-polyfill/dist/urlpattern.js +1 -0
  2455. package/eleventy/node_modules/urlpattern-polyfill/index.cjs +7 -0
  2456. package/eleventy/node_modules/urlpattern-polyfill/index.js +7 -0
  2457. package/eleventy/node_modules/urlpattern-polyfill/package.json +149 -0
  2458. package/eleventy/node_modules/which/CHANGELOG.md +166 -0
  2459. package/eleventy/node_modules/which/LICENSE +15 -0
  2460. package/eleventy/node_modules/which/README.md +54 -0
  2461. package/eleventy/node_modules/which/bin/node-which +52 -0
  2462. package/eleventy/node_modules/which/package.json +43 -0
  2463. package/eleventy/node_modules/which/which.js +125 -0
  2464. package/eleventy/node_modules/wrap-ansi/index.d.ts +41 -0
  2465. package/eleventy/node_modules/wrap-ansi/index.js +214 -0
  2466. package/eleventy/node_modules/wrap-ansi/license +9 -0
  2467. package/eleventy/node_modules/wrap-ansi/package.json +69 -0
  2468. package/eleventy/node_modules/wrap-ansi/readme.md +91 -0
  2469. package/eleventy/node_modules/wrap-ansi-cjs/index.js +216 -0
  2470. package/eleventy/node_modules/wrap-ansi-cjs/license +9 -0
  2471. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/index.d.ts +37 -0
  2472. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/index.js +10 -0
  2473. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/license +9 -0
  2474. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/package.json +55 -0
  2475. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/readme.md +78 -0
  2476. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/index.d.ts +345 -0
  2477. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/index.js +163 -0
  2478. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/license +9 -0
  2479. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/package.json +56 -0
  2480. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/readme.md +152 -0
  2481. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  2482. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/README.md +73 -0
  2483. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/es2015/index.js +6 -0
  2484. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/es2015/text.js +6 -0
  2485. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/index.d.ts +23 -0
  2486. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/index.js +6 -0
  2487. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/package.json +50 -0
  2488. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/text.js +6 -0
  2489. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/string-width/index.d.ts +29 -0
  2490. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/string-width/index.js +47 -0
  2491. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/string-width/license +9 -0
  2492. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/string-width/package.json +56 -0
  2493. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/string-width/readme.md +50 -0
  2494. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.d.ts +17 -0
  2495. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.js +4 -0
  2496. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/license +9 -0
  2497. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/package.json +54 -0
  2498. package/eleventy/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/readme.md +46 -0
  2499. package/eleventy/node_modules/wrap-ansi-cjs/package.json +62 -0
  2500. package/eleventy/node_modules/wrap-ansi-cjs/readme.md +91 -0
  2501. package/eleventy/node_modules/ws/LICENSE +20 -0
  2502. package/eleventy/node_modules/ws/README.md +548 -0
  2503. package/eleventy/node_modules/ws/browser.js +8 -0
  2504. package/eleventy/node_modules/ws/index.js +13 -0
  2505. package/eleventy/node_modules/ws/lib/buffer-util.js +131 -0
  2506. package/eleventy/node_modules/ws/lib/constants.js +18 -0
  2507. package/eleventy/node_modules/ws/lib/event-target.js +292 -0
  2508. package/eleventy/node_modules/ws/lib/extension.js +203 -0
  2509. package/eleventy/node_modules/ws/lib/limiter.js +55 -0
  2510. package/eleventy/node_modules/ws/lib/permessage-deflate.js +514 -0
  2511. package/eleventy/node_modules/ws/lib/receiver.js +706 -0
  2512. package/eleventy/node_modules/ws/lib/sender.js +602 -0
  2513. package/eleventy/node_modules/ws/lib/stream.js +159 -0
  2514. package/eleventy/node_modules/ws/lib/subprotocol.js +62 -0
  2515. package/eleventy/node_modules/ws/lib/validation.js +152 -0
  2516. package/eleventy/node_modules/ws/lib/websocket-server.js +540 -0
  2517. package/eleventy/node_modules/ws/lib/websocket.js +1388 -0
  2518. package/eleventy/node_modules/ws/package.json +69 -0
  2519. package/eleventy/node_modules/ws/wrapper.mjs +8 -0
  2520. package/package.json +1 -1
  2521. package/src/embed/index.html +8 -1
  2522. package/src/js/core/ConfigFactory.js +25 -2
  2523. package/src/js/core/TimelineConfig.js +2 -2
  2524. package/src/js/core/__tests__/ConfigFactory.test.js +14 -1
  2525. package/src/js/slider/SlideNav.js +1 -1
  2526. package/src/less/Variables.less +4 -0
  2527. package/src/less/fonts/font.abril-droidsans.less +7 -5
  2528. package/src/less/fonts/font.amatic-andika.less +4 -4
  2529. package/src/less/fonts/font.bevan-pontanosans.less +5 -4
  2530. package/src/less/fonts/font.bitter-raleway.less +3 -3
  2531. package/src/less/fonts/font.clicker-garamond.less +3 -3
  2532. package/src/less/fonts/font.dancing-ledger.less +3 -4
  2533. package/src/less/fonts/font.fjalla-average.less +4 -4
  2534. package/src/less/fonts/font.lustria-lato.less +4 -4
  2535. package/src/less/fonts/font.medula-lato.less +3 -3
  2536. package/src/less/fonts/font.oldstandard.less +3 -3
  2537. package/src/less/fonts/font.opensans-gentiumbook.less +6 -6
  2538. package/src/less/fonts/font.playfair-faunaone.less +5 -7
  2539. package/src/less/fonts/font.playfair.less +4 -4
  2540. package/src/less/fonts/font.pt.less +5 -5
  2541. package/src/less/fonts/font.roboto-megrim.less +3 -4
  2542. package/src/less/fonts/font.rufina-sintony.less +4 -4
  2543. package/src/less/fonts/font.ubuntu.less +3 -3
  2544. package/src/less/fonts/font.unicaone-vollkorn.less +4 -5
  2545. package/src/less/slider/TL.SlideNav.less +17 -6
  2546. package/src/less/themes/contrast/Variables.less +3 -1
  2547. package/src/less/themes/dark/Variables.less +2 -0
  2548. package/src/less/timenav/TL.TimeGroup.less +2 -2
  2549. package/src/less/timenav/TL.TimeNav.less +2 -0
  2550. package/src/template/index.html +5 -1
  2551. package/dist/css/themes/timeline.theme.contrast.css +0 -2963
  2552. package/dist/css/themes/timeline.theme.dark.css +0 -2963
@@ -0,0 +1,4914 @@
1
+ /*
2
+ * liquidjs@10.20.2, https://github.com/harttle/liquidjs
3
+ * (c) 2016-2025 harttle
4
+ * Released under the MIT License.
5
+ */
6
+ 'use strict';
7
+
8
+ Object.defineProperty(exports, '__esModule', { value: true });
9
+
10
+ var stream = require('stream');
11
+ var path = require('path');
12
+ var fs$1 = require('fs');
13
+
14
+ class Token {
15
+ constructor(kind, input, begin, end, file) {
16
+ this.kind = kind;
17
+ this.input = input;
18
+ this.begin = begin;
19
+ this.end = end;
20
+ this.file = file;
21
+ }
22
+ getText() {
23
+ return this.input.slice(this.begin, this.end);
24
+ }
25
+ getPosition() {
26
+ let [row, col] = [1, 1];
27
+ for (let i = 0; i < this.begin; i++) {
28
+ if (this.input[i] === '\n') {
29
+ row++;
30
+ col = 1;
31
+ }
32
+ else
33
+ col++;
34
+ }
35
+ return [row, col];
36
+ }
37
+ size() {
38
+ return this.end - this.begin;
39
+ }
40
+ }
41
+
42
+ class Drop {
43
+ liquidMethodMissing(key) {
44
+ return undefined;
45
+ }
46
+ }
47
+
48
+ const toString$1 = Object.prototype.toString;
49
+ const toLowerCase = String.prototype.toLowerCase;
50
+ const hasOwnProperty = Object.hasOwnProperty;
51
+ function isString(value) {
52
+ return typeof value === 'string';
53
+ }
54
+ // eslint-disable-next-line @typescript-eslint/ban-types
55
+ function isFunction(value) {
56
+ return typeof value === 'function';
57
+ }
58
+ function isPromise(val) {
59
+ return val && isFunction(val.then);
60
+ }
61
+ function isIterator(val) {
62
+ return val && isFunction(val.next) && isFunction(val.throw) && isFunction(val.return);
63
+ }
64
+ function escapeRegex(str) {
65
+ return str.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
66
+ }
67
+ function promisify(fn) {
68
+ return function (...args) {
69
+ return new Promise((resolve, reject) => {
70
+ fn(...args, (err, result) => {
71
+ err ? reject(err) : resolve(result);
72
+ });
73
+ });
74
+ };
75
+ }
76
+ function stringify(value) {
77
+ value = toValue(value);
78
+ if (isString(value))
79
+ return value;
80
+ if (isNil(value))
81
+ return '';
82
+ if (isArray(value))
83
+ return value.map(x => stringify(x)).join('');
84
+ return String(value);
85
+ }
86
+ function toEnumerable(val) {
87
+ val = toValue(val);
88
+ if (isArray(val))
89
+ return val;
90
+ if (isString(val) && val.length > 0)
91
+ return [val];
92
+ if (isIterable(val))
93
+ return Array.from(val);
94
+ if (isObject(val))
95
+ return Object.keys(val).map((key) => [key, val[key]]);
96
+ return [];
97
+ }
98
+ function toArray(val) {
99
+ val = toValue(val);
100
+ if (isNil(val))
101
+ return [];
102
+ if (isArray(val))
103
+ return val;
104
+ return [val];
105
+ }
106
+ function toValue(value) {
107
+ return (value instanceof Drop && isFunction(value.valueOf)) ? value.valueOf() : value;
108
+ }
109
+ function toNumber(value) {
110
+ value = Number(value);
111
+ return isNaN(value) ? 0 : value;
112
+ }
113
+ function isNumber(value) {
114
+ return typeof value === 'number';
115
+ }
116
+ function toLiquid(value) {
117
+ if (value && isFunction(value.toLiquid))
118
+ return toLiquid(value.toLiquid());
119
+ return value;
120
+ }
121
+ function isNil(value) {
122
+ return value == null;
123
+ }
124
+ function isUndefined(value) {
125
+ return value === undefined;
126
+ }
127
+ function isArray(value) {
128
+ // be compatible with IE 8
129
+ return toString$1.call(value) === '[object Array]';
130
+ }
131
+ function isArrayLike(value) {
132
+ return value && isNumber(value.length);
133
+ }
134
+ function isIterable(value) {
135
+ return isObject(value) && Symbol.iterator in value;
136
+ }
137
+ /*
138
+ * Iterates over own enumerable string keyed properties of an object and invokes iteratee for each property.
139
+ * The iteratee is invoked with three arguments: (value, key, object).
140
+ * Iteratee functions may exit iteration early by explicitly returning false.
141
+ * @param {Object} object The object to iterate over.
142
+ * @param {Function} iteratee The function invoked per iteration.
143
+ * @return {Object} Returns object.
144
+ */
145
+ function forOwn(obj, iteratee) {
146
+ obj = obj || {};
147
+ for (const k in obj) {
148
+ if (hasOwnProperty.call(obj, k)) {
149
+ if (iteratee(obj[k], k, obj) === false)
150
+ break;
151
+ }
152
+ }
153
+ return obj;
154
+ }
155
+ function last(arr) {
156
+ return arr[arr.length - 1];
157
+ }
158
+ /*
159
+ * Checks if value is the language type of Object.
160
+ * (e.g. arrays, functions, objects, regexes, new Number(0), and new String(''))
161
+ * @param {any} value The value to check.
162
+ * @return {Boolean} Returns true if value is an object, else false.
163
+ */
164
+ function isObject(value) {
165
+ const type = typeof value;
166
+ return value !== null && (type === 'object' || type === 'function');
167
+ }
168
+ function range(start, stop, step = 1) {
169
+ const arr = [];
170
+ for (let i = start; i < stop; i += step) {
171
+ arr.push(i);
172
+ }
173
+ return arr;
174
+ }
175
+ function padStart(str, length, ch = ' ') {
176
+ return pad(str, length, ch, (str, ch) => ch + str);
177
+ }
178
+ function padEnd(str, length, ch = ' ') {
179
+ return pad(str, length, ch, (str, ch) => str + ch);
180
+ }
181
+ function pad(str, length, ch, add) {
182
+ str = String(str);
183
+ let n = length - str.length;
184
+ while (n-- > 0)
185
+ str = add(str, ch);
186
+ return str;
187
+ }
188
+ function identify(val) {
189
+ return val;
190
+ }
191
+ function changeCase(str) {
192
+ const hasLowerCase = [...str].some(ch => ch >= 'a' && ch <= 'z');
193
+ return hasLowerCase ? str.toUpperCase() : str.toLowerCase();
194
+ }
195
+ function ellipsis(str, N) {
196
+ return str.length > N ? str.slice(0, N - 3) + '...' : str;
197
+ }
198
+ // compare string in case-insensitive way, undefined values to the tail
199
+ function caseInsensitiveCompare(a, b) {
200
+ if (a == null && b == null)
201
+ return 0;
202
+ if (a == null)
203
+ return 1;
204
+ if (b == null)
205
+ return -1;
206
+ a = toLowerCase.call(a);
207
+ b = toLowerCase.call(b);
208
+ if (a < b)
209
+ return -1;
210
+ if (a > b)
211
+ return 1;
212
+ return 0;
213
+ }
214
+ function argumentsToValue(fn) {
215
+ return function (...args) { return fn.call(this, ...args.map(toValue)); };
216
+ }
217
+ function escapeRegExp(text) {
218
+ return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
219
+ }
220
+ /** Return an array containing unique elements from _array_. Works with nested arrays and objects. */
221
+ function* strictUniq(array) {
222
+ const seen = new Set();
223
+ for (const element of array) {
224
+ const key = JSON.stringify(element);
225
+ if (!seen.has(key)) {
226
+ seen.add(key);
227
+ yield element;
228
+ }
229
+ }
230
+ }
231
+
232
+ /**
233
+ * targeting ES5, extends Error won't create a proper prototype chain, need a trait to keep track of classes
234
+ */
235
+ const TRAIT = '__liquidClass__';
236
+ class LiquidError extends Error {
237
+ constructor(err, token) {
238
+ /**
239
+ * note: for ES5 targeting, `this` will be replaced by return value of Error(),
240
+ * thus everything on `this` will be lost, avoid calling `LiquidError` methods here
241
+ */
242
+ super(typeof err === 'string' ? err : err.message);
243
+ this.context = '';
244
+ if (typeof err !== 'string')
245
+ Object.defineProperty(this, 'originalError', { value: err, enumerable: false });
246
+ Object.defineProperty(this, 'token', { value: token, enumerable: false });
247
+ Object.defineProperty(this, TRAIT, { value: 'LiquidError', enumerable: false });
248
+ }
249
+ update() {
250
+ Object.defineProperty(this, 'context', { value: mkContext(this.token), enumerable: false });
251
+ this.message = mkMessage(this.message, this.token);
252
+ this.stack = this.message + '\n' + this.context +
253
+ '\n' + this.stack;
254
+ if (this.originalError)
255
+ this.stack += '\nFrom ' + this.originalError.stack;
256
+ }
257
+ static is(obj) {
258
+ return obj?.[TRAIT] === 'LiquidError';
259
+ }
260
+ }
261
+ class TokenizationError extends LiquidError {
262
+ constructor(message, token) {
263
+ super(message, token);
264
+ this.name = 'TokenizationError';
265
+ super.update();
266
+ }
267
+ }
268
+ class ParseError extends LiquidError {
269
+ constructor(err, token) {
270
+ super(err, token);
271
+ this.name = 'ParseError';
272
+ this.message = err.message;
273
+ super.update();
274
+ }
275
+ }
276
+ class RenderError extends LiquidError {
277
+ constructor(err, tpl) {
278
+ super(err, tpl.token);
279
+ this.name = 'RenderError';
280
+ this.message = err.message;
281
+ super.update();
282
+ }
283
+ static is(obj) {
284
+ return obj.name === 'RenderError';
285
+ }
286
+ }
287
+ class LiquidErrors extends LiquidError {
288
+ constructor(errors) {
289
+ super(errors[0], errors[0].token);
290
+ this.errors = errors;
291
+ this.name = 'LiquidErrors';
292
+ const s = errors.length > 1 ? 's' : '';
293
+ this.message = `${errors.length} error${s} found`;
294
+ super.update();
295
+ }
296
+ static is(obj) {
297
+ return obj.name === 'LiquidErrors';
298
+ }
299
+ }
300
+ class UndefinedVariableError extends LiquidError {
301
+ constructor(err, token) {
302
+ super(err, token);
303
+ this.name = 'UndefinedVariableError';
304
+ this.message = err.message;
305
+ super.update();
306
+ }
307
+ }
308
+ // only used internally; raised where we don't have token information,
309
+ // so it can't be an UndefinedVariableError.
310
+ class InternalUndefinedVariableError extends Error {
311
+ constructor(variableName) {
312
+ super(`undefined variable: ${variableName}`);
313
+ this.name = 'InternalUndefinedVariableError';
314
+ this.variableName = variableName;
315
+ }
316
+ }
317
+ class AssertionError extends Error {
318
+ constructor(message) {
319
+ super(message);
320
+ this.name = 'AssertionError';
321
+ this.message = message + '';
322
+ }
323
+ }
324
+ function mkContext(token) {
325
+ const [line, col] = token.getPosition();
326
+ const lines = token.input.split('\n');
327
+ const begin = Math.max(line - 2, 1);
328
+ const end = Math.min(line + 3, lines.length);
329
+ const context = range(begin, end + 1)
330
+ .map(lineNumber => {
331
+ const rowIndicator = (lineNumber === line) ? '>> ' : ' ';
332
+ const num = padStart(String(lineNumber), String(end).length);
333
+ let text = `${rowIndicator}${num}| `;
334
+ const colIndicator = lineNumber === line
335
+ ? '\n' + padStart('^', col + text.length)
336
+ : '';
337
+ text += lines[lineNumber - 1];
338
+ text += colIndicator;
339
+ return text;
340
+ })
341
+ .join('\n');
342
+ return context;
343
+ }
344
+ function mkMessage(msg, token) {
345
+ if (token.file)
346
+ msg += `, file:${token.file}`;
347
+ const [line, col] = token.getPosition();
348
+ msg += `, line:${line}, col:${col}`;
349
+ return msg;
350
+ }
351
+
352
+ // **DO NOT CHANGE THIS FILE**
353
+ //
354
+ // This file is generated by bin/character-gen.js
355
+ // bitmask character types to boost performance
356
+ const TYPES = [0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 4, 4, 4, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 2, 8, 0, 0, 0, 0, 8, 0, 0, 0, 64, 0, 65, 0, 0, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 2, 2, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];
357
+ const WORD = 1;
358
+ const BLANK = 4;
359
+ const QUOTE = 8;
360
+ const INLINE_BLANK = 16;
361
+ const NUMBER = 32;
362
+ const SIGN = 64;
363
+ const PUNCTUATION = 128;
364
+ function isWord(char) {
365
+ const code = char.charCodeAt(0);
366
+ return code >= 128 ? !TYPES[code] : !!(TYPES[code] & WORD);
367
+ }
368
+ TYPES[160] = TYPES[5760] = TYPES[6158] = TYPES[8192] = TYPES[8193] = TYPES[8194] = TYPES[8195] = TYPES[8196] = TYPES[8197] = TYPES[8198] = TYPES[8199] = TYPES[8200] = TYPES[8201] = TYPES[8202] = TYPES[8232] = TYPES[8233] = TYPES[8239] = TYPES[8287] = TYPES[12288] = BLANK;
369
+ TYPES[8220] = TYPES[8221] = PUNCTUATION;
370
+
371
+ function assert(predicate, message) {
372
+ if (!predicate) {
373
+ const msg = typeof message === 'function'
374
+ ? message()
375
+ : (message || `expect ${predicate} to be true`);
376
+ throw new AssertionError(msg);
377
+ }
378
+ }
379
+ function assertEmpty(predicate, message = `unexpected ${JSON.stringify(predicate)}`) {
380
+ assert(!predicate, message);
381
+ }
382
+
383
+ class NullDrop extends Drop {
384
+ equals(value) {
385
+ return isNil(toValue(value));
386
+ }
387
+ gt() {
388
+ return false;
389
+ }
390
+ geq() {
391
+ return false;
392
+ }
393
+ lt() {
394
+ return false;
395
+ }
396
+ leq() {
397
+ return false;
398
+ }
399
+ valueOf() {
400
+ return null;
401
+ }
402
+ }
403
+
404
+ class EmptyDrop extends Drop {
405
+ equals(value) {
406
+ if (value instanceof EmptyDrop)
407
+ return false;
408
+ value = toValue(value);
409
+ if (isString(value) || isArray(value))
410
+ return value.length === 0;
411
+ if (isObject(value))
412
+ return Object.keys(value).length === 0;
413
+ return false;
414
+ }
415
+ gt() {
416
+ return false;
417
+ }
418
+ geq() {
419
+ return false;
420
+ }
421
+ lt() {
422
+ return false;
423
+ }
424
+ leq() {
425
+ return false;
426
+ }
427
+ valueOf() {
428
+ return '';
429
+ }
430
+ static is(value) {
431
+ return value instanceof EmptyDrop;
432
+ }
433
+ }
434
+
435
+ class BlankDrop extends EmptyDrop {
436
+ equals(value) {
437
+ if (value === false)
438
+ return true;
439
+ if (isNil(toValue(value)))
440
+ return true;
441
+ if (isString(value))
442
+ return /^\s*$/.test(value);
443
+ return super.equals(value);
444
+ }
445
+ static is(value) {
446
+ return value instanceof BlankDrop;
447
+ }
448
+ }
449
+
450
+ class ForloopDrop extends Drop {
451
+ constructor(length, collection, variable) {
452
+ super();
453
+ this.i = 0;
454
+ this.length = length;
455
+ this.name = `${variable}-${collection}`;
456
+ }
457
+ next() {
458
+ this.i++;
459
+ }
460
+ index0() {
461
+ return this.i;
462
+ }
463
+ index() {
464
+ return this.i + 1;
465
+ }
466
+ first() {
467
+ return this.i === 0;
468
+ }
469
+ last() {
470
+ return this.i === this.length - 1;
471
+ }
472
+ rindex() {
473
+ return this.length - this.i;
474
+ }
475
+ rindex0() {
476
+ return this.length - this.i - 1;
477
+ }
478
+ valueOf() {
479
+ return JSON.stringify(this);
480
+ }
481
+ }
482
+
483
+ class BlockDrop extends Drop {
484
+ constructor(
485
+ // the block render from layout template
486
+ superBlockRender = () => '') {
487
+ super();
488
+ this.superBlockRender = superBlockRender;
489
+ }
490
+ /**
491
+ * Provide parent access in child block by
492
+ * {{ block.super }}
493
+ */
494
+ super() {
495
+ return this.superBlockRender();
496
+ }
497
+ }
498
+
499
+ function isComparable(arg) {
500
+ return (arg &&
501
+ isFunction(arg.equals) &&
502
+ isFunction(arg.gt) &&
503
+ isFunction(arg.geq) &&
504
+ isFunction(arg.lt) &&
505
+ isFunction(arg.leq));
506
+ }
507
+
508
+ const nil = new NullDrop();
509
+ const literalValues = {
510
+ 'true': true,
511
+ 'false': false,
512
+ 'nil': nil,
513
+ 'null': nil,
514
+ 'empty': new EmptyDrop(),
515
+ 'blank': new BlankDrop()
516
+ };
517
+
518
+ function createTrie(input) {
519
+ const trie = {};
520
+ for (const [name, data] of Object.entries(input)) {
521
+ let node = trie;
522
+ for (let i = 0; i < name.length; i++) {
523
+ const c = name[i];
524
+ node[c] = node[c] || {};
525
+ if (i === name.length - 1 && isWord(name[i])) {
526
+ node[c].needBoundary = true;
527
+ }
528
+ node = node[c];
529
+ }
530
+ node.data = data;
531
+ node.end = true;
532
+ }
533
+ return trie;
534
+ }
535
+
536
+ // convert an async iterator to a Promise
537
+ async function toPromise(val) {
538
+ if (!isIterator(val))
539
+ return val;
540
+ let value;
541
+ let done = false;
542
+ let next = 'next';
543
+ do {
544
+ const state = val[next](value);
545
+ done = state.done;
546
+ value = state.value;
547
+ next = 'next';
548
+ try {
549
+ if (isIterator(value))
550
+ value = toPromise(value);
551
+ if (isPromise(value))
552
+ value = await value;
553
+ }
554
+ catch (err) {
555
+ next = 'throw';
556
+ value = err;
557
+ }
558
+ } while (!done);
559
+ return value;
560
+ }
561
+ // convert an async iterator to a value in a synchronous manner
562
+ function toValueSync(val) {
563
+ if (!isIterator(val))
564
+ return val;
565
+ let value;
566
+ let done = false;
567
+ let next = 'next';
568
+ do {
569
+ const state = val[next](value);
570
+ done = state.done;
571
+ value = state.value;
572
+ next = 'next';
573
+ if (isIterator(value)) {
574
+ try {
575
+ value = toValueSync(value);
576
+ }
577
+ catch (err) {
578
+ next = 'throw';
579
+ value = err;
580
+ }
581
+ }
582
+ } while (!done);
583
+ return value;
584
+ }
585
+
586
+ const rFormat = /%([-_0^#:]+)?(\d+)?([EO])?(.)/;
587
+ // prototype extensions
588
+ function daysInMonth(d) {
589
+ const feb = isLeapYear(d) ? 29 : 28;
590
+ return [31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
591
+ }
592
+ function getDayOfYear(d) {
593
+ let num = 0;
594
+ for (let i = 0; i < d.getMonth(); ++i) {
595
+ num += daysInMonth(d)[i];
596
+ }
597
+ return num + d.getDate();
598
+ }
599
+ function getWeekOfYear(d, startDay) {
600
+ // Skip to startDay of this week
601
+ const now = getDayOfYear(d) + (startDay - d.getDay());
602
+ // Find the first startDay of the year
603
+ const jan1 = new Date(d.getFullYear(), 0, 1);
604
+ const then = (7 - jan1.getDay() + startDay);
605
+ return String(Math.floor((now - then) / 7) + 1);
606
+ }
607
+ function isLeapYear(d) {
608
+ const year = d.getFullYear();
609
+ return !!((year & 3) === 0 && (year % 100 || (year % 400 === 0 && year)));
610
+ }
611
+ function ordinal(d) {
612
+ const date = d.getDate();
613
+ if ([11, 12, 13].includes(date))
614
+ return 'th';
615
+ switch (date % 10) {
616
+ case 1: return 'st';
617
+ case 2: return 'nd';
618
+ case 3: return 'rd';
619
+ default: return 'th';
620
+ }
621
+ }
622
+ function century(d) {
623
+ return parseInt(d.getFullYear().toString().substring(0, 2), 10);
624
+ }
625
+ // default to 0
626
+ const padWidths = {
627
+ d: 2,
628
+ e: 2,
629
+ H: 2,
630
+ I: 2,
631
+ j: 3,
632
+ k: 2,
633
+ l: 2,
634
+ L: 3,
635
+ m: 2,
636
+ M: 2,
637
+ S: 2,
638
+ U: 2,
639
+ W: 2
640
+ };
641
+ const padSpaceChars = new Set('aAbBceklpP');
642
+ function getTimezoneOffset(d, opts) {
643
+ const nOffset = Math.abs(d.getTimezoneOffset());
644
+ const h = Math.floor(nOffset / 60);
645
+ const m = nOffset % 60;
646
+ return (d.getTimezoneOffset() > 0 ? '-' : '+') +
647
+ padStart(h, 2, '0') +
648
+ (opts.flags[':'] ? ':' : '') +
649
+ padStart(m, 2, '0');
650
+ }
651
+ const formatCodes = {
652
+ a: (d) => d.getShortWeekdayName(),
653
+ A: (d) => d.getLongWeekdayName(),
654
+ b: (d) => d.getShortMonthName(),
655
+ B: (d) => d.getLongMonthName(),
656
+ c: (d) => d.toLocaleString(),
657
+ C: (d) => century(d),
658
+ d: (d) => d.getDate(),
659
+ e: (d) => d.getDate(),
660
+ H: (d) => d.getHours(),
661
+ I: (d) => String(d.getHours() % 12 || 12),
662
+ j: (d) => getDayOfYear(d),
663
+ k: (d) => d.getHours(),
664
+ l: (d) => String(d.getHours() % 12 || 12),
665
+ L: (d) => d.getMilliseconds(),
666
+ m: (d) => d.getMonth() + 1,
667
+ M: (d) => d.getMinutes(),
668
+ N: (d, opts) => {
669
+ const width = Number(opts.width) || 9;
670
+ const str = String(d.getMilliseconds()).slice(0, width);
671
+ return padEnd(str, width, '0');
672
+ },
673
+ p: (d) => (d.getHours() < 12 ? 'AM' : 'PM'),
674
+ P: (d) => (d.getHours() < 12 ? 'am' : 'pm'),
675
+ q: (d) => ordinal(d),
676
+ s: (d) => Math.round(d.getTime() / 1000),
677
+ S: (d) => d.getSeconds(),
678
+ u: (d) => d.getDay() || 7,
679
+ U: (d) => getWeekOfYear(d, 0),
680
+ w: (d) => d.getDay(),
681
+ W: (d) => getWeekOfYear(d, 1),
682
+ x: (d) => d.toLocaleDateString(),
683
+ X: (d) => d.toLocaleTimeString(),
684
+ y: (d) => d.getFullYear().toString().slice(2, 4),
685
+ Y: (d) => d.getFullYear(),
686
+ z: getTimezoneOffset,
687
+ Z: (d, opts) => d.getTimeZoneName() || getTimezoneOffset(d, opts),
688
+ 't': () => '\t',
689
+ 'n': () => '\n',
690
+ '%': () => '%'
691
+ };
692
+ formatCodes.h = formatCodes.b;
693
+ function strftime(d, formatStr) {
694
+ let output = '';
695
+ let remaining = formatStr;
696
+ let match;
697
+ while ((match = rFormat.exec(remaining))) {
698
+ output += remaining.slice(0, match.index);
699
+ remaining = remaining.slice(match.index + match[0].length);
700
+ output += format(d, match);
701
+ }
702
+ return output + remaining;
703
+ }
704
+ function format(d, match) {
705
+ const [input, flagStr = '', width, modifier, conversion] = match;
706
+ const convert = formatCodes[conversion];
707
+ if (!convert)
708
+ return input;
709
+ const flags = {};
710
+ for (const flag of flagStr)
711
+ flags[flag] = true;
712
+ let ret = String(convert(d, { flags, width, modifier }));
713
+ let padChar = padSpaceChars.has(conversion) ? ' ' : '0';
714
+ let padWidth = width || padWidths[conversion] || 0;
715
+ if (flags['^'])
716
+ ret = ret.toUpperCase();
717
+ else if (flags['#'])
718
+ ret = changeCase(ret);
719
+ if (flags['_'])
720
+ padChar = ' ';
721
+ else if (flags['0'])
722
+ padChar = '0';
723
+ if (flags['-'])
724
+ padWidth = 0;
725
+ return padStart(ret, padWidth, padChar);
726
+ }
727
+
728
+ function getDateTimeFormat() {
729
+ return (typeof Intl !== 'undefined' ? Intl.DateTimeFormat : undefined);
730
+ }
731
+
732
+ // one minute in milliseconds
733
+ const OneMinute = 60000;
734
+ /**
735
+ * Need support both ISO8601 and RFC2822 as in major browsers & NodeJS
736
+ * RFC2822: https://datatracker.ietf.org/doc/html/rfc2822#section-3.3
737
+ */
738
+ const TIMEZONE_PATTERN = /([zZ]|([+-])(\d{2}):?(\d{2}))$/;
739
+ const monthNames = [
740
+ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August',
741
+ 'September', 'October', 'November', 'December'
742
+ ];
743
+ const monthNamesShort = monthNames.map(name => name.slice(0, 3));
744
+ const dayNames = [
745
+ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
746
+ ];
747
+ const dayNamesShort = dayNames.map(name => name.slice(0, 3));
748
+ /**
749
+ * A date implementation with timezone info, just like Ruby date
750
+ *
751
+ * Implementation:
752
+ * - create a Date offset by it's timezone difference, avoiding overriding a bunch of methods
753
+ * - rewrite getTimezoneOffset() to trick strftime
754
+ */
755
+ class LiquidDate {
756
+ constructor(init, locale, timezone) {
757
+ this.locale = locale;
758
+ this.DateTimeFormat = getDateTimeFormat();
759
+ this.date = new Date(init);
760
+ this.timezoneFixed = timezone !== undefined;
761
+ if (timezone === undefined) {
762
+ timezone = this.date.getTimezoneOffset();
763
+ }
764
+ this.timezoneOffset = isString(timezone) ? LiquidDate.getTimezoneOffset(timezone, this.date) : timezone;
765
+ this.timezoneName = isString(timezone) ? timezone : '';
766
+ const diff = (this.date.getTimezoneOffset() - this.timezoneOffset) * OneMinute;
767
+ const time = this.date.getTime() + diff;
768
+ this.displayDate = new Date(time);
769
+ }
770
+ getTime() {
771
+ return this.displayDate.getTime();
772
+ }
773
+ getMilliseconds() {
774
+ return this.displayDate.getMilliseconds();
775
+ }
776
+ getSeconds() {
777
+ return this.displayDate.getSeconds();
778
+ }
779
+ getMinutes() {
780
+ return this.displayDate.getMinutes();
781
+ }
782
+ getHours() {
783
+ return this.displayDate.getHours();
784
+ }
785
+ getDay() {
786
+ return this.displayDate.getDay();
787
+ }
788
+ getDate() {
789
+ return this.displayDate.getDate();
790
+ }
791
+ getMonth() {
792
+ return this.displayDate.getMonth();
793
+ }
794
+ getFullYear() {
795
+ return this.displayDate.getFullYear();
796
+ }
797
+ toLocaleString(locale, init) {
798
+ if (init?.timeZone) {
799
+ return this.date.toLocaleString(locale, init);
800
+ }
801
+ return this.displayDate.toLocaleString(locale, init);
802
+ }
803
+ toLocaleTimeString(locale) {
804
+ return this.displayDate.toLocaleTimeString(locale);
805
+ }
806
+ toLocaleDateString(locale) {
807
+ return this.displayDate.toLocaleDateString(locale);
808
+ }
809
+ getTimezoneOffset() {
810
+ return this.timezoneOffset;
811
+ }
812
+ getTimeZoneName() {
813
+ if (this.timezoneFixed)
814
+ return this.timezoneName;
815
+ if (!this.DateTimeFormat)
816
+ return;
817
+ return this.DateTimeFormat().resolvedOptions().timeZone;
818
+ }
819
+ getLongMonthName() {
820
+ return this.format({ month: 'long' }) ?? monthNames[this.getMonth()];
821
+ }
822
+ getShortMonthName() {
823
+ return this.format({ month: 'short' }) ?? monthNamesShort[this.getMonth()];
824
+ }
825
+ getLongWeekdayName() {
826
+ return this.format({ weekday: 'long' }) ?? dayNames[this.displayDate.getDay()];
827
+ }
828
+ getShortWeekdayName() {
829
+ return this.format({ weekday: 'short' }) ?? dayNamesShort[this.displayDate.getDay()];
830
+ }
831
+ valid() {
832
+ return !isNaN(this.getTime());
833
+ }
834
+ format(options) {
835
+ return this.DateTimeFormat && this.DateTimeFormat(this.locale, options).format(this.displayDate);
836
+ }
837
+ /**
838
+ * Create a Date object fixed to it's declared Timezone. Both
839
+ * - 2021-08-06T02:29:00.000Z and
840
+ * - 2021-08-06T02:29:00.000+08:00
841
+ * will always be displayed as
842
+ * - 2021-08-06 02:29:00
843
+ * regardless timezoneOffset in JavaScript realm
844
+ *
845
+ * The implementation hack:
846
+ * Instead of calling `.getMonth()`/`.getUTCMonth()` respect to `preserveTimezones`,
847
+ * we create a different Date to trick strftime, it's both simpler and more performant.
848
+ * Given that a template is expected to be parsed fewer times than rendered.
849
+ */
850
+ static createDateFixedToTimezone(dateString, locale) {
851
+ const m = dateString.match(TIMEZONE_PATTERN);
852
+ // representing a UTC timestamp
853
+ if (m && m[1] === 'Z') {
854
+ return new LiquidDate(+new Date(dateString), locale, 0);
855
+ }
856
+ // has a timezone specified
857
+ if (m && m[2] && m[3] && m[4]) {
858
+ const [, , sign, hours, minutes] = m;
859
+ const offset = (sign === '+' ? -1 : 1) * (parseInt(hours, 10) * 60 + parseInt(minutes, 10));
860
+ return new LiquidDate(+new Date(dateString), locale, offset);
861
+ }
862
+ return new LiquidDate(dateString, locale);
863
+ }
864
+ static getTimezoneOffset(timezoneName, date) {
865
+ const localDateString = date.toLocaleString('en-US', { timeZone: timezoneName });
866
+ const utcDateString = date.toLocaleString('en-US', { timeZone: 'UTC' });
867
+ const localDate = new Date(localDateString);
868
+ const utcDate = new Date(utcDateString);
869
+ return (+utcDate - +localDate) / (60 * 1000);
870
+ }
871
+ }
872
+
873
+ class Limiter {
874
+ constructor(resource, limit) {
875
+ this.base = 0;
876
+ this.message = `${resource} limit exceeded`;
877
+ this.limit = limit;
878
+ }
879
+ use(count) {
880
+ count = toNumber(count);
881
+ assert(this.base + count <= this.limit, this.message);
882
+ this.base += count;
883
+ }
884
+ check(count) {
885
+ count = toNumber(count);
886
+ assert(count <= this.limit, this.message);
887
+ }
888
+ }
889
+
890
+ class DelimitedToken extends Token {
891
+ constructor(kind, [contentBegin, contentEnd], input, begin, end, trimLeft, trimRight, file) {
892
+ super(kind, input, begin, end, file);
893
+ this.trimLeft = false;
894
+ this.trimRight = false;
895
+ const tl = input[contentBegin] === '-';
896
+ const tr = input[contentEnd - 1] === '-';
897
+ let l = tl ? contentBegin + 1 : contentBegin;
898
+ let r = tr ? contentEnd - 1 : contentEnd;
899
+ while (l < r && (TYPES[input.charCodeAt(l)] & BLANK))
900
+ l++;
901
+ while (r > l && (TYPES[input.charCodeAt(r - 1)] & BLANK))
902
+ r--;
903
+ this.contentRange = [l, r];
904
+ this.trimLeft = tl || trimLeft;
905
+ this.trimRight = tr || trimRight;
906
+ }
907
+ get content() {
908
+ return this.input.slice(this.contentRange[0], this.contentRange[1]);
909
+ }
910
+ }
911
+
912
+ class TagToken extends DelimitedToken {
913
+ constructor(input, begin, end, options, file) {
914
+ const { trimTagLeft, trimTagRight, tagDelimiterLeft, tagDelimiterRight } = options;
915
+ const [valueBegin, valueEnd] = [begin + tagDelimiterLeft.length, end - tagDelimiterRight.length];
916
+ super(exports.TokenKind.Tag, [valueBegin, valueEnd], input, begin, end, trimTagLeft, trimTagRight, file);
917
+ this.tokenizer = new Tokenizer(input, options.operators, file, this.contentRange);
918
+ this.name = this.tokenizer.readTagName();
919
+ this.tokenizer.assert(this.name, `illegal tag syntax, tag name expected`);
920
+ this.tokenizer.skipBlank();
921
+ }
922
+ get args() {
923
+ return this.tokenizer.input.slice(this.tokenizer.p, this.contentRange[1]);
924
+ }
925
+ }
926
+
927
+ class OutputToken extends DelimitedToken {
928
+ constructor(input, begin, end, options, file) {
929
+ const { trimOutputLeft, trimOutputRight, outputDelimiterLeft, outputDelimiterRight } = options;
930
+ const valueRange = [begin + outputDelimiterLeft.length, end - outputDelimiterRight.length];
931
+ super(exports.TokenKind.Output, valueRange, input, begin, end, trimOutputLeft, trimOutputRight, file);
932
+ }
933
+ }
934
+
935
+ class HTMLToken extends Token {
936
+ constructor(input, begin, end, file) {
937
+ super(exports.TokenKind.HTML, input, begin, end, file);
938
+ this.input = input;
939
+ this.begin = begin;
940
+ this.end = end;
941
+ this.file = file;
942
+ this.trimLeft = 0;
943
+ this.trimRight = 0;
944
+ }
945
+ getContent() {
946
+ return this.input.slice(this.begin + this.trimLeft, this.end - this.trimRight);
947
+ }
948
+ }
949
+
950
+ class NumberToken extends Token {
951
+ constructor(input, begin, end, file) {
952
+ super(exports.TokenKind.Number, input, begin, end, file);
953
+ this.input = input;
954
+ this.begin = begin;
955
+ this.end = end;
956
+ this.file = file;
957
+ this.content = Number(this.getText());
958
+ }
959
+ }
960
+
961
+ class IdentifierToken extends Token {
962
+ constructor(input, begin, end, file) {
963
+ super(exports.TokenKind.Word, input, begin, end, file);
964
+ this.input = input;
965
+ this.begin = begin;
966
+ this.end = end;
967
+ this.file = file;
968
+ this.content = this.getText();
969
+ }
970
+ }
971
+
972
+ class LiteralToken extends Token {
973
+ constructor(input, begin, end, file) {
974
+ super(exports.TokenKind.Literal, input, begin, end, file);
975
+ this.input = input;
976
+ this.begin = begin;
977
+ this.end = end;
978
+ this.file = file;
979
+ this.literal = this.getText();
980
+ this.content = literalValues[this.literal];
981
+ }
982
+ }
983
+
984
+ const operatorPrecedences = {
985
+ '==': 2,
986
+ '!=': 2,
987
+ '>': 2,
988
+ '<': 2,
989
+ '>=': 2,
990
+ '<=': 2,
991
+ 'contains': 2,
992
+ 'not': 1,
993
+ 'and': 0,
994
+ 'or': 0
995
+ };
996
+ const operatorTypes = {
997
+ '==': 0 /* OperatorType.Binary */,
998
+ '!=': 0 /* OperatorType.Binary */,
999
+ '>': 0 /* OperatorType.Binary */,
1000
+ '<': 0 /* OperatorType.Binary */,
1001
+ '>=': 0 /* OperatorType.Binary */,
1002
+ '<=': 0 /* OperatorType.Binary */,
1003
+ 'contains': 0 /* OperatorType.Binary */,
1004
+ 'not': 1 /* OperatorType.Unary */,
1005
+ 'and': 0 /* OperatorType.Binary */,
1006
+ 'or': 0 /* OperatorType.Binary */
1007
+ };
1008
+ class OperatorToken extends Token {
1009
+ constructor(input, begin, end, file) {
1010
+ super(exports.TokenKind.Operator, input, begin, end, file);
1011
+ this.input = input;
1012
+ this.begin = begin;
1013
+ this.end = end;
1014
+ this.file = file;
1015
+ this.operator = this.getText();
1016
+ }
1017
+ getPrecedence() {
1018
+ const key = this.getText();
1019
+ return key in operatorPrecedences ? operatorPrecedences[key] : 1;
1020
+ }
1021
+ }
1022
+
1023
+ class PropertyAccessToken extends Token {
1024
+ constructor(variable, props, input, begin, end, file) {
1025
+ super(exports.TokenKind.PropertyAccess, input, begin, end, file);
1026
+ this.variable = variable;
1027
+ this.props = props;
1028
+ }
1029
+ }
1030
+
1031
+ class FilterToken extends Token {
1032
+ constructor(name, args, input, begin, end, file) {
1033
+ super(exports.TokenKind.Filter, input, begin, end, file);
1034
+ this.name = name;
1035
+ this.args = args;
1036
+ }
1037
+ }
1038
+
1039
+ class HashToken extends Token {
1040
+ constructor(input, begin, end, name, value, file) {
1041
+ super(exports.TokenKind.Hash, input, begin, end, file);
1042
+ this.input = input;
1043
+ this.begin = begin;
1044
+ this.end = end;
1045
+ this.name = name;
1046
+ this.value = value;
1047
+ this.file = file;
1048
+ }
1049
+ }
1050
+
1051
+ const rHex = /[\da-fA-F]/;
1052
+ const rOct = /[0-7]/;
1053
+ const escapeChar = {
1054
+ b: '\b',
1055
+ f: '\f',
1056
+ n: '\n',
1057
+ r: '\r',
1058
+ t: '\t',
1059
+ v: '\x0B'
1060
+ };
1061
+ function hexVal(c) {
1062
+ const code = c.charCodeAt(0);
1063
+ if (code >= 97)
1064
+ return code - 87;
1065
+ if (code >= 65)
1066
+ return code - 55;
1067
+ return code - 48;
1068
+ }
1069
+ function parseStringLiteral(str) {
1070
+ let ret = '';
1071
+ for (let i = 1; i < str.length - 1; i++) {
1072
+ if (str[i] !== '\\') {
1073
+ ret += str[i];
1074
+ continue;
1075
+ }
1076
+ if (escapeChar[str[i + 1]] !== undefined) {
1077
+ ret += escapeChar[str[++i]];
1078
+ }
1079
+ else if (str[i + 1] === 'u') {
1080
+ let val = 0;
1081
+ let j = i + 2;
1082
+ while (j <= i + 5 && rHex.test(str[j])) {
1083
+ val = val * 16 + hexVal(str[j++]);
1084
+ }
1085
+ i = j - 1;
1086
+ ret += String.fromCharCode(val);
1087
+ }
1088
+ else if (!rOct.test(str[i + 1])) {
1089
+ ret += str[++i];
1090
+ }
1091
+ else {
1092
+ let j = i + 1;
1093
+ let val = 0;
1094
+ while (j <= i + 3 && rOct.test(str[j])) {
1095
+ val = val * 8 + hexVal(str[j++]);
1096
+ }
1097
+ i = j - 1;
1098
+ ret += String.fromCharCode(val);
1099
+ }
1100
+ }
1101
+ return ret;
1102
+ }
1103
+
1104
+ class QuotedToken extends Token {
1105
+ constructor(input, begin, end, file) {
1106
+ super(exports.TokenKind.Quoted, input, begin, end, file);
1107
+ this.input = input;
1108
+ this.begin = begin;
1109
+ this.end = end;
1110
+ this.file = file;
1111
+ this.content = parseStringLiteral(this.getText());
1112
+ }
1113
+ }
1114
+
1115
+ class RangeToken extends Token {
1116
+ constructor(input, begin, end, lhs, rhs, file) {
1117
+ super(exports.TokenKind.Range, input, begin, end, file);
1118
+ this.input = input;
1119
+ this.begin = begin;
1120
+ this.end = end;
1121
+ this.lhs = lhs;
1122
+ this.rhs = rhs;
1123
+ this.file = file;
1124
+ }
1125
+ }
1126
+
1127
+ /**
1128
+ * LiquidTagToken is different from TagToken by not having delimiters `{%` or `%}`
1129
+ */
1130
+ class LiquidTagToken extends DelimitedToken {
1131
+ constructor(input, begin, end, options, file) {
1132
+ super(exports.TokenKind.Tag, [begin, end], input, begin, end, false, false, file);
1133
+ this.tokenizer = new Tokenizer(input, options.operators, file, this.contentRange);
1134
+ this.name = this.tokenizer.readTagName();
1135
+ this.tokenizer.assert(this.name, 'illegal liquid tag syntax');
1136
+ this.tokenizer.skipBlank();
1137
+ }
1138
+ get args() {
1139
+ return this.tokenizer.input.slice(this.tokenizer.p, this.contentRange[1]);
1140
+ }
1141
+ }
1142
+
1143
+ /**
1144
+ * value expression with optional filters
1145
+ * e.g.
1146
+ * {% assign foo="bar" | append: "coo" %}
1147
+ */
1148
+ class FilteredValueToken extends Token {
1149
+ constructor(initial, filters, input, begin, end, file) {
1150
+ super(exports.TokenKind.FilteredValue, input, begin, end, file);
1151
+ this.initial = initial;
1152
+ this.filters = filters;
1153
+ this.input = input;
1154
+ this.begin = begin;
1155
+ this.end = end;
1156
+ this.file = file;
1157
+ }
1158
+ }
1159
+
1160
+ const polyfill = {
1161
+ now: () => Date.now()
1162
+ };
1163
+ function getPerformance() {
1164
+ return (typeof global === 'object' && global.performance) ||
1165
+ (typeof window === 'object' && window.performance) ||
1166
+ polyfill;
1167
+ }
1168
+
1169
+ class SimpleEmitter {
1170
+ constructor() {
1171
+ this.buffer = '';
1172
+ }
1173
+ write(html) {
1174
+ this.buffer += stringify(html);
1175
+ }
1176
+ }
1177
+
1178
+ class StreamedEmitter {
1179
+ constructor() {
1180
+ this.buffer = '';
1181
+ this.stream = new stream.PassThrough();
1182
+ }
1183
+ write(html) {
1184
+ this.stream.write(stringify(html));
1185
+ }
1186
+ error(err) {
1187
+ this.stream.emit('error', err);
1188
+ }
1189
+ end() {
1190
+ this.stream.end();
1191
+ }
1192
+ }
1193
+
1194
+ class KeepingTypeEmitter {
1195
+ constructor() {
1196
+ this.buffer = '';
1197
+ }
1198
+ write(html) {
1199
+ html = toValue(html);
1200
+ // This will only preserve the type if the value is isolated.
1201
+ // I.E:
1202
+ // {{ my-port }} -> 42
1203
+ // {{ my-host }}:{{ my-port }} -> 'host:42'
1204
+ if (typeof html !== 'string' && this.buffer === '') {
1205
+ this.buffer = html;
1206
+ }
1207
+ else {
1208
+ this.buffer = stringify(this.buffer) + stringify(html);
1209
+ }
1210
+ }
1211
+ }
1212
+
1213
+ class Render {
1214
+ renderTemplatesToNodeStream(templates, ctx) {
1215
+ const emitter = new StreamedEmitter();
1216
+ Promise.resolve().then(() => toPromise(this.renderTemplates(templates, ctx, emitter)))
1217
+ .then(() => emitter.end(), err => emitter.error(err));
1218
+ return emitter.stream;
1219
+ }
1220
+ *renderTemplates(templates, ctx, emitter) {
1221
+ if (!emitter) {
1222
+ emitter = ctx.opts.keepOutputType ? new KeepingTypeEmitter() : new SimpleEmitter();
1223
+ }
1224
+ const errors = [];
1225
+ for (const tpl of templates) {
1226
+ ctx.renderLimit.check(getPerformance().now());
1227
+ try {
1228
+ // if tpl.render supports emitter, it'll return empty `html`
1229
+ const html = yield tpl.render(ctx, emitter);
1230
+ // if not, it'll return an `html`, write to the emitter for it
1231
+ html && emitter.write(html);
1232
+ if (ctx.breakCalled || ctx.continueCalled)
1233
+ break;
1234
+ }
1235
+ catch (e) {
1236
+ const err = LiquidError.is(e) ? e : new RenderError(e, tpl);
1237
+ if (ctx.opts.catchAllErrors)
1238
+ errors.push(err);
1239
+ else
1240
+ throw err;
1241
+ }
1242
+ }
1243
+ if (errors.length) {
1244
+ throw new LiquidErrors(errors);
1245
+ }
1246
+ return emitter.buffer;
1247
+ }
1248
+ }
1249
+
1250
+ class Expression {
1251
+ constructor(tokens) {
1252
+ this.postfix = [...toPostfix(tokens)];
1253
+ }
1254
+ *evaluate(ctx, lenient) {
1255
+ assert(ctx, 'unable to evaluate: context not defined');
1256
+ const operands = [];
1257
+ for (const token of this.postfix) {
1258
+ if (isOperatorToken(token)) {
1259
+ const r = operands.pop();
1260
+ let result;
1261
+ if (operatorTypes[token.operator] === 1 /* OperatorType.Unary */) {
1262
+ result = yield ctx.opts.operators[token.operator](r, ctx);
1263
+ }
1264
+ else {
1265
+ const l = operands.pop();
1266
+ result = yield ctx.opts.operators[token.operator](l, r, ctx);
1267
+ }
1268
+ operands.push(result);
1269
+ }
1270
+ else {
1271
+ operands.push(yield evalToken(token, ctx, lenient));
1272
+ }
1273
+ }
1274
+ return operands[0];
1275
+ }
1276
+ valid() {
1277
+ return !!this.postfix.length;
1278
+ }
1279
+ }
1280
+ function* evalToken(token, ctx, lenient = false) {
1281
+ if (!token)
1282
+ return;
1283
+ if ('content' in token)
1284
+ return token.content;
1285
+ if (isPropertyAccessToken(token))
1286
+ return yield evalPropertyAccessToken(token, ctx, lenient);
1287
+ if (isRangeToken(token))
1288
+ return yield evalRangeToken(token, ctx);
1289
+ }
1290
+ function* evalPropertyAccessToken(token, ctx, lenient) {
1291
+ const props = [];
1292
+ for (const prop of token.props) {
1293
+ props.push((yield evalToken(prop, ctx, false)));
1294
+ }
1295
+ try {
1296
+ if (token.variable) {
1297
+ const variable = yield evalToken(token.variable, ctx, lenient);
1298
+ return yield ctx._getFromScope(variable, props);
1299
+ }
1300
+ else {
1301
+ return yield ctx._get(props);
1302
+ }
1303
+ }
1304
+ catch (e) {
1305
+ if (lenient && e.name === 'InternalUndefinedVariableError')
1306
+ return null;
1307
+ throw (new UndefinedVariableError(e, token));
1308
+ }
1309
+ }
1310
+ function evalQuotedToken(token) {
1311
+ return token.content;
1312
+ }
1313
+ function* evalRangeToken(token, ctx) {
1314
+ const low = yield evalToken(token.lhs, ctx);
1315
+ const high = yield evalToken(token.rhs, ctx);
1316
+ ctx.memoryLimit.use(high - low + 1);
1317
+ return range(+low, +high + 1);
1318
+ }
1319
+ function* toPostfix(tokens) {
1320
+ const ops = [];
1321
+ for (const token of tokens) {
1322
+ if (isOperatorToken(token)) {
1323
+ while (ops.length && ops[ops.length - 1].getPrecedence() > token.getPrecedence()) {
1324
+ yield ops.pop();
1325
+ }
1326
+ ops.push(token);
1327
+ }
1328
+ else
1329
+ yield token;
1330
+ }
1331
+ while (ops.length) {
1332
+ yield ops.pop();
1333
+ }
1334
+ }
1335
+
1336
+ function isTruthy(val, ctx) {
1337
+ return !isFalsy(val, ctx);
1338
+ }
1339
+ function isFalsy(val, ctx) {
1340
+ val = toValue(val);
1341
+ if (ctx.opts.jsTruthy) {
1342
+ return !val;
1343
+ }
1344
+ else {
1345
+ return val === false || undefined === val || val === null;
1346
+ }
1347
+ }
1348
+
1349
+ const defaultOperators = {
1350
+ '==': equals,
1351
+ '!=': (l, r) => !equals(l, r),
1352
+ '>': (l, r) => {
1353
+ if (isComparable(l))
1354
+ return l.gt(r);
1355
+ if (isComparable(r))
1356
+ return r.lt(l);
1357
+ return toValue(l) > toValue(r);
1358
+ },
1359
+ '<': (l, r) => {
1360
+ if (isComparable(l))
1361
+ return l.lt(r);
1362
+ if (isComparable(r))
1363
+ return r.gt(l);
1364
+ return toValue(l) < toValue(r);
1365
+ },
1366
+ '>=': (l, r) => {
1367
+ if (isComparable(l))
1368
+ return l.geq(r);
1369
+ if (isComparable(r))
1370
+ return r.leq(l);
1371
+ return toValue(l) >= toValue(r);
1372
+ },
1373
+ '<=': (l, r) => {
1374
+ if (isComparable(l))
1375
+ return l.leq(r);
1376
+ if (isComparable(r))
1377
+ return r.geq(l);
1378
+ return toValue(l) <= toValue(r);
1379
+ },
1380
+ 'contains': (l, r) => {
1381
+ l = toValue(l);
1382
+ if (isArray(l))
1383
+ return l.some((i) => equals(i, r));
1384
+ if (isFunction(l?.indexOf))
1385
+ return l.indexOf(toValue(r)) > -1;
1386
+ return false;
1387
+ },
1388
+ 'not': (v, ctx) => isFalsy(toValue(v), ctx),
1389
+ 'and': (l, r, ctx) => isTruthy(toValue(l), ctx) && isTruthy(toValue(r), ctx),
1390
+ 'or': (l, r, ctx) => isTruthy(toValue(l), ctx) || isTruthy(toValue(r), ctx)
1391
+ };
1392
+ function equals(lhs, rhs) {
1393
+ if (isComparable(lhs))
1394
+ return lhs.equals(rhs);
1395
+ if (isComparable(rhs))
1396
+ return rhs.equals(lhs);
1397
+ lhs = toValue(lhs);
1398
+ rhs = toValue(rhs);
1399
+ if (isArray(lhs)) {
1400
+ return isArray(rhs) && arrayEquals(lhs, rhs);
1401
+ }
1402
+ return lhs === rhs;
1403
+ }
1404
+ function arrayEquals(lhs, rhs) {
1405
+ if (lhs.length !== rhs.length)
1406
+ return false;
1407
+ return !lhs.some((value, i) => !equals(value, rhs[i]));
1408
+ }
1409
+ function arrayIncludes(arr, item) {
1410
+ return arr.some(value => equals(value, item));
1411
+ }
1412
+
1413
+ class Node {
1414
+ constructor(key, value, next, prev) {
1415
+ this.key = key;
1416
+ this.value = value;
1417
+ this.next = next;
1418
+ this.prev = prev;
1419
+ }
1420
+ }
1421
+ class LRU {
1422
+ constructor(limit, size = 0) {
1423
+ this.limit = limit;
1424
+ this.size = size;
1425
+ this.cache = {};
1426
+ this.head = new Node('HEAD', null, null, null);
1427
+ this.tail = new Node('TAIL', null, null, null);
1428
+ this.head.next = this.tail;
1429
+ this.tail.prev = this.head;
1430
+ }
1431
+ write(key, value) {
1432
+ if (this.cache[key]) {
1433
+ this.cache[key].value = value;
1434
+ }
1435
+ else {
1436
+ const node = new Node(key, value, this.head.next, this.head);
1437
+ this.head.next.prev = node;
1438
+ this.head.next = node;
1439
+ this.cache[key] = node;
1440
+ this.size++;
1441
+ this.ensureLimit();
1442
+ }
1443
+ }
1444
+ read(key) {
1445
+ if (!this.cache[key])
1446
+ return;
1447
+ const { value } = this.cache[key];
1448
+ this.remove(key);
1449
+ this.write(key, value);
1450
+ return value;
1451
+ }
1452
+ remove(key) {
1453
+ const node = this.cache[key];
1454
+ node.prev.next = node.next;
1455
+ node.next.prev = node.prev;
1456
+ delete this.cache[key];
1457
+ this.size--;
1458
+ }
1459
+ clear() {
1460
+ this.head.next = this.tail;
1461
+ this.tail.prev = this.head;
1462
+ this.size = 0;
1463
+ this.cache = {};
1464
+ }
1465
+ ensureLimit() {
1466
+ if (this.size > this.limit)
1467
+ this.remove(this.tail.prev.key);
1468
+ }
1469
+ }
1470
+
1471
+ const requireResolve = (partial) => require.resolve(partial, { paths: ['.'] });
1472
+
1473
+ const statAsync = promisify(fs$1.stat);
1474
+ const readFileAsync = promisify(fs$1.readFile);
1475
+ async function exists(filepath) {
1476
+ try {
1477
+ await statAsync(filepath);
1478
+ return true;
1479
+ }
1480
+ catch (err) {
1481
+ return false;
1482
+ }
1483
+ }
1484
+ function readFile(filepath) {
1485
+ return readFileAsync(filepath, 'utf8');
1486
+ }
1487
+ function existsSync(filepath) {
1488
+ try {
1489
+ fs$1.statSync(filepath);
1490
+ return true;
1491
+ }
1492
+ catch (err) {
1493
+ return false;
1494
+ }
1495
+ }
1496
+ function readFileSync(filepath) {
1497
+ return fs$1.readFileSync(filepath, 'utf8');
1498
+ }
1499
+ function resolve(root, file, ext) {
1500
+ if (!path.extname(file))
1501
+ file += ext;
1502
+ return path.resolve(root, file);
1503
+ }
1504
+ function fallback(file) {
1505
+ try {
1506
+ return requireResolve(file);
1507
+ }
1508
+ catch (e) { }
1509
+ }
1510
+ function dirname(filepath) {
1511
+ return path.dirname(filepath);
1512
+ }
1513
+ function contains(root, file) {
1514
+ root = path.resolve(root);
1515
+ root = root.endsWith(path.sep) ? root : root + path.sep;
1516
+ return file.startsWith(root);
1517
+ }
1518
+
1519
+ var fs = /*#__PURE__*/Object.freeze({
1520
+ __proto__: null,
1521
+ exists: exists,
1522
+ readFile: readFile,
1523
+ existsSync: existsSync,
1524
+ readFileSync: readFileSync,
1525
+ resolve: resolve,
1526
+ fallback: fallback,
1527
+ dirname: dirname,
1528
+ contains: contains,
1529
+ sep: path.sep
1530
+ });
1531
+
1532
+ function defaultFilter(value, defaultValue, ...args) {
1533
+ value = toValue(value);
1534
+ if (isArray(value) || isString(value))
1535
+ return value.length ? value : defaultValue;
1536
+ if (value === false && (new Map(args)).get('allow_false'))
1537
+ return false;
1538
+ return isFalsy(value, this.context) ? defaultValue : value;
1539
+ }
1540
+ function json(value, space = 0) {
1541
+ return JSON.stringify(value, null, space);
1542
+ }
1543
+ function inspect(value, space = 0) {
1544
+ const ancestors = [];
1545
+ return JSON.stringify(value, function (_key, value) {
1546
+ if (typeof value !== 'object' || value === null)
1547
+ return value;
1548
+ // `this` is the object that value is contained in, i.e., its direct parent.
1549
+ while (ancestors.length > 0 && ancestors[ancestors.length - 1] !== this)
1550
+ ancestors.pop();
1551
+ if (ancestors.includes(value))
1552
+ return '[Circular]';
1553
+ ancestors.push(value);
1554
+ return value;
1555
+ }, space);
1556
+ }
1557
+ function to_integer(value) {
1558
+ return Number(value);
1559
+ }
1560
+ const raw = {
1561
+ raw: true,
1562
+ handler: identify
1563
+ };
1564
+ var misc = {
1565
+ default: defaultFilter,
1566
+ raw,
1567
+ jsonify: json,
1568
+ to_integer,
1569
+ json,
1570
+ inspect
1571
+ };
1572
+
1573
+ const escapeMap = {
1574
+ '&': '&amp;',
1575
+ '<': '&lt;',
1576
+ '>': '&gt;',
1577
+ '"': '&#34;',
1578
+ "'": '&#39;'
1579
+ };
1580
+ const unescapeMap = {
1581
+ '&amp;': '&',
1582
+ '&lt;': '<',
1583
+ '&gt;': '>',
1584
+ '&#34;': '"',
1585
+ '&#39;': "'"
1586
+ };
1587
+ function escape(str) {
1588
+ str = stringify(str);
1589
+ this.context.memoryLimit.use(str.length);
1590
+ return str.replace(/&|<|>|"|'/g, m => escapeMap[m]);
1591
+ }
1592
+ function xml_escape(str) {
1593
+ return escape.call(this, str);
1594
+ }
1595
+ function unescape(str) {
1596
+ str = stringify(str);
1597
+ this.context.memoryLimit.use(str.length);
1598
+ return str.replace(/&(amp|lt|gt|#34|#39);/g, m => unescapeMap[m]);
1599
+ }
1600
+ function escape_once(str) {
1601
+ return escape.call(this, unescape.call(this, str));
1602
+ }
1603
+ function newline_to_br(v) {
1604
+ const str = stringify(v);
1605
+ this.context.memoryLimit.use(str.length);
1606
+ return str.replace(/\r?\n/gm, '<br />\n');
1607
+ }
1608
+ function strip_html(v) {
1609
+ const str = stringify(v);
1610
+ this.context.memoryLimit.use(str.length);
1611
+ return str.replace(/<script[\s\S]*?<\/script>|<style[\s\S]*?<\/style>|<.*?>|<!--[\s\S]*?-->/g, '');
1612
+ }
1613
+
1614
+ var htmlFilters = /*#__PURE__*/Object.freeze({
1615
+ __proto__: null,
1616
+ escape: escape,
1617
+ xml_escape: xml_escape,
1618
+ escape_once: escape_once,
1619
+ newline_to_br: newline_to_br,
1620
+ strip_html: strip_html
1621
+ });
1622
+
1623
+ class MapFS {
1624
+ constructor(mapping) {
1625
+ this.mapping = mapping;
1626
+ this.sep = '/';
1627
+ }
1628
+ async exists(filepath) {
1629
+ return this.existsSync(filepath);
1630
+ }
1631
+ existsSync(filepath) {
1632
+ return !isNil(this.mapping[filepath]);
1633
+ }
1634
+ async readFile(filepath) {
1635
+ return this.readFileSync(filepath);
1636
+ }
1637
+ readFileSync(filepath) {
1638
+ const content = this.mapping[filepath];
1639
+ if (isNil(content))
1640
+ throw new Error(`ENOENT: ${filepath}`);
1641
+ return content;
1642
+ }
1643
+ dirname(filepath) {
1644
+ const segments = filepath.split(this.sep);
1645
+ segments.pop();
1646
+ return segments.join(this.sep);
1647
+ }
1648
+ resolve(dir, file, ext) {
1649
+ file += ext;
1650
+ if (dir === '.')
1651
+ return file;
1652
+ const segments = dir.split(/\/+/);
1653
+ for (const segment of file.split(this.sep)) {
1654
+ if (segment === '.' || segment === '')
1655
+ continue;
1656
+ else if (segment === '..') {
1657
+ if (segments.length > 1 || segments[0] !== '')
1658
+ segments.pop();
1659
+ }
1660
+ else
1661
+ segments.push(segment);
1662
+ }
1663
+ return segments.join(this.sep);
1664
+ }
1665
+ }
1666
+
1667
+ const defaultOptions = {
1668
+ root: ['.'],
1669
+ layouts: ['.'],
1670
+ partials: ['.'],
1671
+ relativeReference: true,
1672
+ jekyllInclude: false,
1673
+ keyValueSeparator: ':',
1674
+ cache: undefined,
1675
+ extname: '',
1676
+ fs: fs,
1677
+ dynamicPartials: true,
1678
+ jsTruthy: false,
1679
+ dateFormat: '%A, %B %-e, %Y at %-l:%M %P %z',
1680
+ locale: '',
1681
+ trimTagRight: false,
1682
+ trimTagLeft: false,
1683
+ trimOutputRight: false,
1684
+ trimOutputLeft: false,
1685
+ greedy: true,
1686
+ tagDelimiterLeft: '{%',
1687
+ tagDelimiterRight: '%}',
1688
+ outputDelimiterLeft: '{{',
1689
+ outputDelimiterRight: '}}',
1690
+ preserveTimezones: false,
1691
+ strictFilters: false,
1692
+ strictVariables: false,
1693
+ ownPropertyOnly: true,
1694
+ lenientIf: false,
1695
+ globals: {},
1696
+ keepOutputType: false,
1697
+ operators: defaultOperators,
1698
+ memoryLimit: Infinity,
1699
+ parseLimit: Infinity,
1700
+ renderLimit: Infinity
1701
+ };
1702
+ function normalize(options) {
1703
+ if (options.hasOwnProperty('root')) {
1704
+ if (!options.hasOwnProperty('partials'))
1705
+ options.partials = options.root;
1706
+ if (!options.hasOwnProperty('layouts'))
1707
+ options.layouts = options.root;
1708
+ }
1709
+ if (options.hasOwnProperty('cache')) {
1710
+ let cache;
1711
+ if (typeof options.cache === 'number')
1712
+ cache = options.cache > 0 ? new LRU(options.cache) : undefined;
1713
+ else if (typeof options.cache === 'object')
1714
+ cache = options.cache;
1715
+ else
1716
+ cache = options.cache ? new LRU(1024) : undefined;
1717
+ options.cache = cache;
1718
+ }
1719
+ options = { ...defaultOptions, ...(options.jekyllInclude ? { dynamicPartials: false } : {}), ...options };
1720
+ if ((!options.fs.dirname || !options.fs.sep) && options.relativeReference) {
1721
+ console.warn('[LiquidJS] `fs.dirname` and `fs.sep` are required for relativeReference, set relativeReference to `false` to suppress this warning');
1722
+ options.relativeReference = false;
1723
+ }
1724
+ options.root = normalizeDirectoryList(options.root);
1725
+ options.partials = normalizeDirectoryList(options.partials);
1726
+ options.layouts = normalizeDirectoryList(options.layouts);
1727
+ options.outputEscape = options.outputEscape && getOutputEscapeFunction(options.outputEscape);
1728
+ if (!options.locale) {
1729
+ options.locale = getDateTimeFormat()?.().resolvedOptions().locale ?? 'en-US';
1730
+ }
1731
+ if (options.templates) {
1732
+ options.fs = new MapFS(options.templates);
1733
+ options.relativeReference = true;
1734
+ options.root = options.partials = options.layouts = '.';
1735
+ }
1736
+ return options;
1737
+ }
1738
+ function getOutputEscapeFunction(nameOrFunction) {
1739
+ if (nameOrFunction === 'escape')
1740
+ return escape;
1741
+ if (nameOrFunction === 'json')
1742
+ return misc.json;
1743
+ assert(isFunction(nameOrFunction), '`outputEscape` need to be of type string or function');
1744
+ return nameOrFunction;
1745
+ }
1746
+ function normalizeDirectoryList(value) {
1747
+ let list = [];
1748
+ if (isArray(value))
1749
+ list = value;
1750
+ if (isString(value))
1751
+ list = [value];
1752
+ return list;
1753
+ }
1754
+
1755
+ function whiteSpaceCtrl(tokens, options) {
1756
+ let inRaw = false;
1757
+ for (let i = 0; i < tokens.length; i++) {
1758
+ const token = tokens[i];
1759
+ if (!isDelimitedToken(token))
1760
+ continue;
1761
+ if (!inRaw && token.trimLeft) {
1762
+ trimLeft(tokens[i - 1], options.greedy);
1763
+ }
1764
+ if (isTagToken(token)) {
1765
+ if (token.name === 'raw')
1766
+ inRaw = true;
1767
+ else if (token.name === 'endraw')
1768
+ inRaw = false;
1769
+ }
1770
+ if (!inRaw && token.trimRight) {
1771
+ trimRight(tokens[i + 1], options.greedy);
1772
+ }
1773
+ }
1774
+ }
1775
+ function trimLeft(token, greedy) {
1776
+ if (!token || !isHTMLToken(token))
1777
+ return;
1778
+ const mask = greedy ? BLANK : INLINE_BLANK;
1779
+ while (TYPES[token.input.charCodeAt(token.end - 1 - token.trimRight)] & mask)
1780
+ token.trimRight++;
1781
+ }
1782
+ function trimRight(token, greedy) {
1783
+ if (!token || !isHTMLToken(token))
1784
+ return;
1785
+ const mask = greedy ? BLANK : INLINE_BLANK;
1786
+ while (TYPES[token.input.charCodeAt(token.begin + token.trimLeft)] & mask)
1787
+ token.trimLeft++;
1788
+ if (token.input.charAt(token.begin + token.trimLeft) === '\n')
1789
+ token.trimLeft++;
1790
+ }
1791
+
1792
+ class Tokenizer {
1793
+ constructor(input, operators = defaultOptions.operators, file, range) {
1794
+ this.input = input;
1795
+ this.file = file;
1796
+ this.rawBeginAt = -1;
1797
+ this.p = range ? range[0] : 0;
1798
+ this.N = range ? range[1] : input.length;
1799
+ this.opTrie = createTrie(operators);
1800
+ this.literalTrie = createTrie(literalValues);
1801
+ }
1802
+ readExpression() {
1803
+ return new Expression(this.readExpressionTokens());
1804
+ }
1805
+ *readExpressionTokens() {
1806
+ while (this.p < this.N) {
1807
+ const operator = this.readOperator();
1808
+ if (operator) {
1809
+ yield operator;
1810
+ continue;
1811
+ }
1812
+ const operand = this.readValue();
1813
+ if (operand) {
1814
+ yield operand;
1815
+ continue;
1816
+ }
1817
+ return;
1818
+ }
1819
+ }
1820
+ readOperator() {
1821
+ this.skipBlank();
1822
+ const end = this.matchTrie(this.opTrie);
1823
+ if (end === -1)
1824
+ return;
1825
+ return new OperatorToken(this.input, this.p, (this.p = end), this.file);
1826
+ }
1827
+ matchTrie(trie) {
1828
+ let node = trie;
1829
+ let i = this.p;
1830
+ let info;
1831
+ while (node[this.input[i]] && i < this.N) {
1832
+ node = node[this.input[i++]];
1833
+ if (node['end'])
1834
+ info = node;
1835
+ }
1836
+ if (!info)
1837
+ return -1;
1838
+ if (info['needBoundary'] && isWord(this.peek(i - this.p)))
1839
+ return -1;
1840
+ return i;
1841
+ }
1842
+ readFilteredValue() {
1843
+ const begin = this.p;
1844
+ const initial = this.readExpression();
1845
+ this.assert(initial.valid(), `invalid value expression: ${this.snapshot()}`);
1846
+ const filters = this.readFilters();
1847
+ return new FilteredValueToken(initial, filters, this.input, begin, this.p, this.file);
1848
+ }
1849
+ readFilters() {
1850
+ const filters = [];
1851
+ while (true) {
1852
+ const filter = this.readFilter();
1853
+ if (!filter)
1854
+ return filters;
1855
+ filters.push(filter);
1856
+ }
1857
+ }
1858
+ readFilter() {
1859
+ this.skipBlank();
1860
+ if (this.end())
1861
+ return null;
1862
+ this.assert(this.read() === '|', `expected "|" before filter`);
1863
+ const name = this.readIdentifier();
1864
+ if (!name.size()) {
1865
+ this.assert(this.end(), `expected filter name`);
1866
+ return null;
1867
+ }
1868
+ const args = [];
1869
+ this.skipBlank();
1870
+ if (this.peek() === ':') {
1871
+ do {
1872
+ ++this.p;
1873
+ const arg = this.readFilterArg();
1874
+ arg && args.push(arg);
1875
+ this.skipBlank();
1876
+ this.assert(this.end() || this.peek() === ',' || this.peek() === '|', () => `unexpected character ${this.snapshot()}`);
1877
+ } while (this.peek() === ',');
1878
+ }
1879
+ else if (this.peek() === '|' || this.end()) ;
1880
+ else {
1881
+ throw this.error('expected ":" after filter name');
1882
+ }
1883
+ return new FilterToken(name.getText(), args, this.input, name.begin, this.p, this.file);
1884
+ }
1885
+ readFilterArg() {
1886
+ const key = this.readValue();
1887
+ if (!key)
1888
+ return;
1889
+ this.skipBlank();
1890
+ if (this.peek() !== ':')
1891
+ return key;
1892
+ ++this.p;
1893
+ const value = this.readValue();
1894
+ return [key.getText(), value];
1895
+ }
1896
+ readTopLevelTokens(options = defaultOptions) {
1897
+ const tokens = [];
1898
+ while (this.p < this.N) {
1899
+ const token = this.readTopLevelToken(options);
1900
+ tokens.push(token);
1901
+ }
1902
+ whiteSpaceCtrl(tokens, options);
1903
+ return tokens;
1904
+ }
1905
+ readTopLevelToken(options) {
1906
+ const { tagDelimiterLeft, outputDelimiterLeft } = options;
1907
+ if (this.rawBeginAt > -1)
1908
+ return this.readEndrawOrRawContent(options);
1909
+ if (this.match(tagDelimiterLeft))
1910
+ return this.readTagToken(options);
1911
+ if (this.match(outputDelimiterLeft))
1912
+ return this.readOutputToken(options);
1913
+ return this.readHTMLToken([tagDelimiterLeft, outputDelimiterLeft]);
1914
+ }
1915
+ readHTMLToken(stopStrings) {
1916
+ const begin = this.p;
1917
+ while (this.p < this.N) {
1918
+ if (stopStrings.some(str => this.match(str)))
1919
+ break;
1920
+ ++this.p;
1921
+ }
1922
+ return new HTMLToken(this.input, begin, this.p, this.file);
1923
+ }
1924
+ readTagToken(options) {
1925
+ const { file, input } = this;
1926
+ const begin = this.p;
1927
+ if (this.readToDelimiter(options.tagDelimiterRight) === -1) {
1928
+ throw this.error(`tag ${this.snapshot(begin)} not closed`, begin);
1929
+ }
1930
+ const token = new TagToken(input, begin, this.p, options, file);
1931
+ if (token.name === 'raw')
1932
+ this.rawBeginAt = begin;
1933
+ return token;
1934
+ }
1935
+ readToDelimiter(delimiter, respectQuoted = false) {
1936
+ this.skipBlank();
1937
+ while (this.p < this.N) {
1938
+ if (respectQuoted && (this.peekType() & QUOTE)) {
1939
+ this.readQuoted();
1940
+ continue;
1941
+ }
1942
+ ++this.p;
1943
+ if (this.rmatch(delimiter))
1944
+ return this.p;
1945
+ }
1946
+ return -1;
1947
+ }
1948
+ readOutputToken(options = defaultOptions) {
1949
+ const { file, input } = this;
1950
+ const { outputDelimiterRight } = options;
1951
+ const begin = this.p;
1952
+ if (this.readToDelimiter(outputDelimiterRight, true) === -1) {
1953
+ throw this.error(`output ${this.snapshot(begin)} not closed`, begin);
1954
+ }
1955
+ return new OutputToken(input, begin, this.p, options, file);
1956
+ }
1957
+ readEndrawOrRawContent(options) {
1958
+ const { tagDelimiterLeft, tagDelimiterRight } = options;
1959
+ const begin = this.p;
1960
+ let leftPos = this.readTo(tagDelimiterLeft) - tagDelimiterLeft.length;
1961
+ while (this.p < this.N) {
1962
+ if (this.readIdentifier().getText() !== 'endraw') {
1963
+ leftPos = this.readTo(tagDelimiterLeft) - tagDelimiterLeft.length;
1964
+ continue;
1965
+ }
1966
+ while (this.p <= this.N) {
1967
+ if (this.rmatch(tagDelimiterRight)) {
1968
+ const end = this.p;
1969
+ if (begin === leftPos) {
1970
+ this.rawBeginAt = -1;
1971
+ return new TagToken(this.input, begin, end, options, this.file);
1972
+ }
1973
+ else {
1974
+ this.p = leftPos;
1975
+ return new HTMLToken(this.input, begin, leftPos, this.file);
1976
+ }
1977
+ }
1978
+ if (this.rmatch(tagDelimiterLeft))
1979
+ break;
1980
+ this.p++;
1981
+ }
1982
+ }
1983
+ throw this.error(`raw ${this.snapshot(this.rawBeginAt)} not closed`, begin);
1984
+ }
1985
+ readLiquidTagTokens(options = defaultOptions) {
1986
+ const tokens = [];
1987
+ while (this.p < this.N) {
1988
+ const token = this.readLiquidTagToken(options);
1989
+ token && tokens.push(token);
1990
+ }
1991
+ return tokens;
1992
+ }
1993
+ readLiquidTagToken(options) {
1994
+ this.skipBlank();
1995
+ if (this.end())
1996
+ return;
1997
+ const begin = this.p;
1998
+ this.readToDelimiter('\n');
1999
+ const end = this.p;
2000
+ return new LiquidTagToken(this.input, begin, end, options, this.file);
2001
+ }
2002
+ error(msg, pos = this.p) {
2003
+ return new TokenizationError(msg, new IdentifierToken(this.input, pos, this.N, this.file));
2004
+ }
2005
+ assert(pred, msg, pos) {
2006
+ if (!pred)
2007
+ throw this.error(typeof msg === 'function' ? msg() : msg, pos);
2008
+ }
2009
+ snapshot(begin = this.p) {
2010
+ return JSON.stringify(ellipsis(this.input.slice(begin, this.N), 32));
2011
+ }
2012
+ /**
2013
+ * @deprecated use #readIdentifier instead
2014
+ */
2015
+ readWord() {
2016
+ return this.readIdentifier();
2017
+ }
2018
+ readIdentifier() {
2019
+ this.skipBlank();
2020
+ const begin = this.p;
2021
+ while (!this.end() && isWord(this.peek()))
2022
+ ++this.p;
2023
+ return new IdentifierToken(this.input, begin, this.p, this.file);
2024
+ }
2025
+ readNonEmptyIdentifier() {
2026
+ const id = this.readIdentifier();
2027
+ return id.size() ? id : undefined;
2028
+ }
2029
+ readTagName() {
2030
+ this.skipBlank();
2031
+ // Handle inline comment tags
2032
+ if (this.input[this.p] === '#')
2033
+ return this.input.slice(this.p, ++this.p);
2034
+ return this.readIdentifier().getText();
2035
+ }
2036
+ readHashes(jekyllStyle) {
2037
+ const hashes = [];
2038
+ while (true) {
2039
+ const hash = this.readHash(jekyllStyle);
2040
+ if (!hash)
2041
+ return hashes;
2042
+ hashes.push(hash);
2043
+ }
2044
+ }
2045
+ readHash(jekyllStyle) {
2046
+ this.skipBlank();
2047
+ if (this.peek() === ',')
2048
+ ++this.p;
2049
+ const begin = this.p;
2050
+ const name = this.readNonEmptyIdentifier();
2051
+ if (!name)
2052
+ return;
2053
+ let value;
2054
+ this.skipBlank();
2055
+ const sep = isString(jekyllStyle) ? jekyllStyle : (jekyllStyle ? '=' : ':');
2056
+ if (this.peek() === sep) {
2057
+ ++this.p;
2058
+ value = this.readValue();
2059
+ }
2060
+ return new HashToken(this.input, begin, this.p, name, value, this.file);
2061
+ }
2062
+ remaining() {
2063
+ return this.input.slice(this.p, this.N);
2064
+ }
2065
+ advance(step = 1) {
2066
+ this.p += step;
2067
+ }
2068
+ end() {
2069
+ return this.p >= this.N;
2070
+ }
2071
+ read() {
2072
+ return this.input[this.p++];
2073
+ }
2074
+ readTo(end) {
2075
+ while (this.p < this.N) {
2076
+ ++this.p;
2077
+ if (this.rmatch(end))
2078
+ return this.p;
2079
+ }
2080
+ return -1;
2081
+ }
2082
+ readValue() {
2083
+ this.skipBlank();
2084
+ const begin = this.p;
2085
+ const variable = this.readLiteral() || this.readQuoted() || this.readRange() || this.readNumber();
2086
+ const props = this.readProperties(!variable);
2087
+ if (!props.length)
2088
+ return variable;
2089
+ return new PropertyAccessToken(variable, props, this.input, begin, this.p);
2090
+ }
2091
+ readScopeValue() {
2092
+ this.skipBlank();
2093
+ const begin = this.p;
2094
+ const props = this.readProperties();
2095
+ if (!props.length)
2096
+ return undefined;
2097
+ return new PropertyAccessToken(undefined, props, this.input, begin, this.p);
2098
+ }
2099
+ readProperties(isBegin = true) {
2100
+ const props = [];
2101
+ while (true) {
2102
+ if (this.peek() === '[') {
2103
+ this.p++;
2104
+ const prop = this.readValue() || new IdentifierToken(this.input, this.p, this.p, this.file);
2105
+ this.assert(this.readTo(']') !== -1, '[ not closed');
2106
+ props.push(prop);
2107
+ continue;
2108
+ }
2109
+ if (isBegin && !props.length) {
2110
+ const prop = this.readNonEmptyIdentifier();
2111
+ if (prop) {
2112
+ props.push(prop);
2113
+ continue;
2114
+ }
2115
+ }
2116
+ if (this.peek() === '.' && this.peek(1) !== '.') { // skip range syntax
2117
+ this.p++;
2118
+ const prop = this.readNonEmptyIdentifier();
2119
+ if (!prop)
2120
+ break;
2121
+ props.push(prop);
2122
+ continue;
2123
+ }
2124
+ break;
2125
+ }
2126
+ return props;
2127
+ }
2128
+ readNumber() {
2129
+ this.skipBlank();
2130
+ let decimalFound = false;
2131
+ let digitFound = false;
2132
+ let n = 0;
2133
+ if (this.peekType() & SIGN)
2134
+ n++;
2135
+ while (this.p + n <= this.N) {
2136
+ if (this.peekType(n) & NUMBER) {
2137
+ digitFound = true;
2138
+ n++;
2139
+ }
2140
+ else if (this.peek(n) === '.' && this.peek(n + 1) !== '.') {
2141
+ if (decimalFound || !digitFound)
2142
+ return;
2143
+ decimalFound = true;
2144
+ n++;
2145
+ }
2146
+ else
2147
+ break;
2148
+ }
2149
+ if (digitFound && !isWord(this.peek(n))) {
2150
+ const num = new NumberToken(this.input, this.p, this.p + n, this.file);
2151
+ this.advance(n);
2152
+ return num;
2153
+ }
2154
+ }
2155
+ readLiteral() {
2156
+ this.skipBlank();
2157
+ const end = this.matchTrie(this.literalTrie);
2158
+ if (end === -1)
2159
+ return;
2160
+ const literal = new LiteralToken(this.input, this.p, end, this.file);
2161
+ this.p = end;
2162
+ return literal;
2163
+ }
2164
+ readRange() {
2165
+ this.skipBlank();
2166
+ const begin = this.p;
2167
+ if (this.peek() !== '(')
2168
+ return;
2169
+ ++this.p;
2170
+ const lhs = this.readValueOrThrow();
2171
+ this.skipBlank();
2172
+ this.assert(this.read() === '.' && this.read() === '.', 'invalid range syntax');
2173
+ const rhs = this.readValueOrThrow();
2174
+ this.skipBlank();
2175
+ this.assert(this.read() === ')', 'invalid range syntax');
2176
+ return new RangeToken(this.input, begin, this.p, lhs, rhs, this.file);
2177
+ }
2178
+ readValueOrThrow() {
2179
+ const value = this.readValue();
2180
+ this.assert(value, () => `unexpected token ${this.snapshot()}, value expected`);
2181
+ return value;
2182
+ }
2183
+ readQuoted() {
2184
+ this.skipBlank();
2185
+ const begin = this.p;
2186
+ if (!(this.peekType() & QUOTE))
2187
+ return;
2188
+ ++this.p;
2189
+ let escaped = false;
2190
+ while (this.p < this.N) {
2191
+ ++this.p;
2192
+ if (this.input[this.p - 1] === this.input[begin] && !escaped)
2193
+ break;
2194
+ if (escaped)
2195
+ escaped = false;
2196
+ else if (this.input[this.p - 1] === '\\')
2197
+ escaped = true;
2198
+ }
2199
+ return new QuotedToken(this.input, begin, this.p, this.file);
2200
+ }
2201
+ *readFileNameTemplate(options) {
2202
+ const { outputDelimiterLeft } = options;
2203
+ const htmlStopStrings = [',', ' ', outputDelimiterLeft];
2204
+ const htmlStopStringSet = new Set(htmlStopStrings);
2205
+ // break on ',' and ' ', outputDelimiterLeft only stops HTML token
2206
+ while (this.p < this.N && !htmlStopStringSet.has(this.peek())) {
2207
+ yield this.match(outputDelimiterLeft)
2208
+ ? this.readOutputToken(options)
2209
+ : this.readHTMLToken(htmlStopStrings);
2210
+ }
2211
+ }
2212
+ match(word) {
2213
+ for (let i = 0; i < word.length; i++) {
2214
+ if (word[i] !== this.input[this.p + i])
2215
+ return false;
2216
+ }
2217
+ return true;
2218
+ }
2219
+ rmatch(pattern) {
2220
+ for (let i = 0; i < pattern.length; i++) {
2221
+ if (pattern[pattern.length - 1 - i] !== this.input[this.p - 1 - i])
2222
+ return false;
2223
+ }
2224
+ return true;
2225
+ }
2226
+ peekType(n = 0) {
2227
+ return this.p + n >= this.N ? 0 : TYPES[this.input.charCodeAt(this.p + n)];
2228
+ }
2229
+ peek(n = 0) {
2230
+ return this.p + n >= this.N ? '' : this.input[this.p + n];
2231
+ }
2232
+ skipBlank() {
2233
+ while (this.peekType() & BLANK)
2234
+ ++this.p;
2235
+ }
2236
+ }
2237
+
2238
+ class ParseStream {
2239
+ constructor(tokens, parseToken) {
2240
+ this.handlers = {};
2241
+ this.stopRequested = false;
2242
+ this.tokens = tokens;
2243
+ this.parseToken = parseToken;
2244
+ }
2245
+ on(name, cb) {
2246
+ this.handlers[name] = cb;
2247
+ return this;
2248
+ }
2249
+ trigger(event, arg) {
2250
+ const h = this.handlers[event];
2251
+ return h ? (h.call(this, arg), true) : false;
2252
+ }
2253
+ start() {
2254
+ this.trigger('start');
2255
+ let token;
2256
+ while (!this.stopRequested && (token = this.tokens.shift())) {
2257
+ if (this.trigger('token', token))
2258
+ continue;
2259
+ if (isTagToken(token) && this.trigger(`tag:${token.name}`, token)) {
2260
+ continue;
2261
+ }
2262
+ const template = this.parseToken(token, this.tokens);
2263
+ this.trigger('template', template);
2264
+ }
2265
+ if (!this.stopRequested)
2266
+ this.trigger('end');
2267
+ return this;
2268
+ }
2269
+ stop() {
2270
+ this.stopRequested = true;
2271
+ return this;
2272
+ }
2273
+ }
2274
+
2275
+ class TemplateImpl {
2276
+ constructor(token) {
2277
+ this.token = token;
2278
+ }
2279
+ }
2280
+
2281
+ class Tag extends TemplateImpl {
2282
+ constructor(token, remainTokens, liquid) {
2283
+ super(token);
2284
+ this.name = token.name;
2285
+ this.liquid = liquid;
2286
+ this.tokenizer = token.tokenizer;
2287
+ }
2288
+ }
2289
+
2290
+ /**
2291
+ * Key-Value Pairs Representing Tag Arguments
2292
+ * Example:
2293
+ * For the markup `, foo:'bar', coo:2 reversed %}`,
2294
+ * hash['foo'] === 'bar'
2295
+ * hash['coo'] === 2
2296
+ * hash['reversed'] === undefined
2297
+ */
2298
+ class Hash {
2299
+ constructor(input, jekyllStyle) {
2300
+ this.hash = {};
2301
+ const tokenizer = input instanceof Tokenizer ? input : new Tokenizer(input, {});
2302
+ for (const hash of tokenizer.readHashes(jekyllStyle)) {
2303
+ this.hash[hash.name.content] = hash.value;
2304
+ }
2305
+ }
2306
+ *render(ctx) {
2307
+ const hash = {};
2308
+ for (const key of Object.keys(this.hash)) {
2309
+ hash[key] = this.hash[key] === undefined ? true : yield evalToken(this.hash[key], ctx);
2310
+ }
2311
+ return hash;
2312
+ }
2313
+ }
2314
+
2315
+ function createTagClass(options) {
2316
+ return class extends Tag {
2317
+ constructor(token, tokens, liquid) {
2318
+ super(token, tokens, liquid);
2319
+ if (isFunction(options.parse)) {
2320
+ options.parse.call(this, token, tokens);
2321
+ }
2322
+ }
2323
+ *render(ctx, emitter) {
2324
+ const hash = (yield new Hash(this.token.args, ctx.opts.keyValueSeparator).render(ctx));
2325
+ return yield options.render.call(this, ctx, emitter, hash);
2326
+ }
2327
+ };
2328
+ }
2329
+
2330
+ function isKeyValuePair(arr) {
2331
+ return isArray(arr);
2332
+ }
2333
+
2334
+ class Filter {
2335
+ constructor(token, options, liquid) {
2336
+ this.token = token;
2337
+ this.name = token.name;
2338
+ this.handler = isFunction(options)
2339
+ ? options
2340
+ : (isFunction(options?.handler) ? options.handler : identify);
2341
+ this.raw = !isFunction(options) && !!options?.raw;
2342
+ this.args = token.args;
2343
+ this.liquid = liquid;
2344
+ }
2345
+ *render(value, context) {
2346
+ const argv = [];
2347
+ for (const arg of this.args) {
2348
+ if (isKeyValuePair(arg))
2349
+ argv.push([arg[0], yield evalToken(arg[1], context)]);
2350
+ else
2351
+ argv.push(yield evalToken(arg, context));
2352
+ }
2353
+ return yield this.handler.apply({ context, token: this.token, liquid: this.liquid }, [value, ...argv]);
2354
+ }
2355
+ }
2356
+
2357
+ class Value {
2358
+ /**
2359
+ * @param str the value to be valuated, eg.: "foobar" | truncate: 3
2360
+ */
2361
+ constructor(input, liquid) {
2362
+ this.filters = [];
2363
+ const token = typeof input === 'string'
2364
+ ? new Tokenizer(input, liquid.options.operators).readFilteredValue()
2365
+ : input;
2366
+ this.initial = token.initial;
2367
+ this.filters = token.filters.map(token => new Filter(token, this.getFilter(liquid, token.name), liquid));
2368
+ }
2369
+ *value(ctx, lenient) {
2370
+ lenient = lenient || (ctx.opts.lenientIf && this.filters.length > 0 && this.filters[0].name === 'default');
2371
+ let val = yield this.initial.evaluate(ctx, lenient);
2372
+ for (const filter of this.filters) {
2373
+ val = yield filter.render(val, ctx);
2374
+ }
2375
+ return val;
2376
+ }
2377
+ getFilter(liquid, name) {
2378
+ const impl = liquid.filters[name];
2379
+ assert(impl || !liquid.options.strictFilters, () => `undefined filter: ${name}`);
2380
+ return impl;
2381
+ }
2382
+ }
2383
+
2384
+ class Output extends TemplateImpl {
2385
+ constructor(token, liquid) {
2386
+ super(token);
2387
+ const tokenizer = new Tokenizer(token.input, liquid.options.operators, token.file, token.contentRange);
2388
+ this.value = new Value(tokenizer.readFilteredValue(), liquid);
2389
+ const filters = this.value.filters;
2390
+ const outputEscape = liquid.options.outputEscape;
2391
+ if (!filters[filters.length - 1]?.raw && outputEscape) {
2392
+ const token = new FilterToken(toString.call(outputEscape), [], '', 0, 0);
2393
+ filters.push(new Filter(token, outputEscape, liquid));
2394
+ }
2395
+ }
2396
+ *render(ctx, emitter) {
2397
+ const val = yield this.value.value(ctx, false);
2398
+ emitter.write(val);
2399
+ }
2400
+ *arguments() {
2401
+ yield this.value;
2402
+ }
2403
+ }
2404
+
2405
+ class HTML extends TemplateImpl {
2406
+ constructor(token) {
2407
+ super(token);
2408
+ this.str = token.getContent();
2409
+ }
2410
+ *render(ctx, emitter) {
2411
+ emitter.write(this.str);
2412
+ }
2413
+ }
2414
+
2415
+ /**
2416
+ * A variable's segments and location, which can be coerced to a string.
2417
+ */
2418
+ class Variable {
2419
+ constructor(segments, location) {
2420
+ this.segments = segments;
2421
+ this.location = location;
2422
+ }
2423
+ toString() {
2424
+ return segmentsString(this.segments, true);
2425
+ }
2426
+ /** Return this variable's segments as an array, possibly with nested arrays for nested paths. */
2427
+ toArray() {
2428
+ function* _visit(...segments) {
2429
+ for (const segment of segments) {
2430
+ if (segment instanceof Variable) {
2431
+ yield Array.from(_visit(...segment.segments));
2432
+ }
2433
+ else {
2434
+ yield segment;
2435
+ }
2436
+ }
2437
+ }
2438
+ return Array.from(_visit(...this.segments));
2439
+ }
2440
+ }
2441
+ /**
2442
+ * Group variables by the string representation of their root segment.
2443
+ */
2444
+ class VariableMap {
2445
+ constructor() {
2446
+ this.map = new Map();
2447
+ }
2448
+ get(key) {
2449
+ const k = segmentsString([key.segments[0]]);
2450
+ if (!this.map.has(k)) {
2451
+ this.map.set(k, []);
2452
+ }
2453
+ return this.map.get(k);
2454
+ }
2455
+ has(key) {
2456
+ return this.map.has(segmentsString([key.segments[0]]));
2457
+ }
2458
+ push(variable) {
2459
+ this.get(variable).push(variable);
2460
+ }
2461
+ asObject() {
2462
+ return Object.fromEntries(this.map);
2463
+ }
2464
+ }
2465
+ const defaultStaticAnalysisOptions = {
2466
+ partials: true
2467
+ };
2468
+ function* _analyze(templates, partials, sync) {
2469
+ const variables = new VariableMap();
2470
+ const globals = new VariableMap();
2471
+ const locals = new VariableMap();
2472
+ const rootScope = new DummyScope(new Set());
2473
+ // Names of partial templates that we've already analyzed.
2474
+ const seen = new Set();
2475
+ function updateVariables(variable, scope) {
2476
+ variables.push(variable);
2477
+ const aliased = scope.alias(variable);
2478
+ if (aliased !== undefined) {
2479
+ const root = aliased.segments[0];
2480
+ // TODO: What if a a template renders a rendered template? Do we need scope.parent?
2481
+ if (isString(root) && !rootScope.has(root)) {
2482
+ globals.push(aliased);
2483
+ }
2484
+ }
2485
+ else {
2486
+ const root = variable.segments[0];
2487
+ if (isString(root) && !scope.has(root)) {
2488
+ globals.push(variable);
2489
+ }
2490
+ }
2491
+ // Recurse for nested Variables
2492
+ for (const segment of variable.segments) {
2493
+ if (segment instanceof Variable) {
2494
+ updateVariables(segment, scope);
2495
+ }
2496
+ }
2497
+ }
2498
+ function* visit(template, scope) {
2499
+ if (template.arguments) {
2500
+ for (const arg of template.arguments()) {
2501
+ for (const variable of extractVariables(arg)) {
2502
+ updateVariables(variable, scope);
2503
+ }
2504
+ }
2505
+ }
2506
+ if (template.localScope) {
2507
+ for (const ident of template.localScope()) {
2508
+ scope.add(ident.content);
2509
+ scope.deleteAlias(ident.content);
2510
+ const [row, col] = ident.getPosition();
2511
+ locals.push(new Variable([ident.content], { row, col, file: ident.file }));
2512
+ }
2513
+ }
2514
+ if (template.children) {
2515
+ if (template.partialScope) {
2516
+ const partial = template.partialScope();
2517
+ if (partial === undefined) {
2518
+ // Layouts, for example, can have children that are not partials.
2519
+ for (const child of (yield template.children(partials, sync))) {
2520
+ yield visit(child, scope);
2521
+ }
2522
+ return;
2523
+ }
2524
+ if (seen.has(partial.name))
2525
+ return;
2526
+ const partialScopeNames = new Set();
2527
+ const partialScope = partial.isolated
2528
+ ? new DummyScope(partialScopeNames)
2529
+ : scope.push(partialScopeNames);
2530
+ for (const name of partial.scope) {
2531
+ if (isString(name)) {
2532
+ partialScopeNames.add(name);
2533
+ }
2534
+ else {
2535
+ const [alias, argument] = name;
2536
+ partialScopeNames.add(alias);
2537
+ const variables = Array.from(extractVariables(argument));
2538
+ if (variables.length) {
2539
+ partialScope.setAlias(alias, variables[0].segments);
2540
+ }
2541
+ }
2542
+ }
2543
+ for (const child of (yield template.children(partials, sync))) {
2544
+ yield visit(child, partialScope);
2545
+ seen.add(partial.name);
2546
+ }
2547
+ partialScope.pop();
2548
+ }
2549
+ else {
2550
+ if (template.blockScope) {
2551
+ scope.push(new Set(template.blockScope()));
2552
+ }
2553
+ for (const child of (yield template.children(partials, sync))) {
2554
+ yield visit(child, scope);
2555
+ }
2556
+ if (template.blockScope) {
2557
+ scope.pop();
2558
+ }
2559
+ }
2560
+ }
2561
+ }
2562
+ for (const template of templates) {
2563
+ yield visit(template, rootScope);
2564
+ }
2565
+ return {
2566
+ variables: variables.asObject(),
2567
+ globals: globals.asObject(),
2568
+ locals: locals.asObject()
2569
+ };
2570
+ }
2571
+ /**
2572
+ * Statically analyze a template and report variable usage.
2573
+ */
2574
+ function analyze(template, options = {}) {
2575
+ const opts = { ...defaultStaticAnalysisOptions, ...options };
2576
+ return toPromise(_analyze(template, opts.partials, false));
2577
+ }
2578
+ /**
2579
+ * Statically analyze a template and report variable usage.
2580
+ */
2581
+ function analyzeSync(template, options = {}) {
2582
+ const opts = { ...defaultStaticAnalysisOptions, ...options };
2583
+ return toValueSync(_analyze(template, opts.partials, true));
2584
+ }
2585
+ /**
2586
+ * A stack to manage scopes while traversing templates during static analysis.
2587
+ */
2588
+ class DummyScope {
2589
+ constructor(globals) {
2590
+ this.stack = [{ names: globals, aliases: new Map() }];
2591
+ }
2592
+ /** Return true if `name` is in scope. */
2593
+ has(name) {
2594
+ for (const scope of this.stack) {
2595
+ if (scope.names.has(name)) {
2596
+ return true;
2597
+ }
2598
+ }
2599
+ return false;
2600
+ }
2601
+ push(scope) {
2602
+ this.stack.push({ names: scope, aliases: new Map() });
2603
+ return this;
2604
+ }
2605
+ pop() {
2606
+ return this.stack.pop()?.names;
2607
+ }
2608
+ // Add a name to the template scope.
2609
+ add(name) {
2610
+ this.stack[0].names.add(name);
2611
+ }
2612
+ /** Return the variable that `variable` aliases, or `variable` if it doesn't alias anything. */
2613
+ alias(variable) {
2614
+ const root = variable.segments[0];
2615
+ if (!isString(root))
2616
+ return undefined;
2617
+ const alias = this.getAlias(root);
2618
+ if (alias === undefined)
2619
+ return undefined;
2620
+ return new Variable([...alias, ...variable.segments.slice(1)], variable.location);
2621
+ }
2622
+ // TODO: `from` could be a path with multiple segments, like `include.x`.
2623
+ setAlias(from, to) {
2624
+ this.stack[this.stack.length - 1].aliases.set(from, to);
2625
+ }
2626
+ deleteAlias(name) {
2627
+ this.stack[this.stack.length - 1].aliases.delete(name);
2628
+ }
2629
+ getAlias(name) {
2630
+ for (const scope of this.stack) {
2631
+ if (scope.aliases.has(name)) {
2632
+ return scope.aliases.get(name);
2633
+ }
2634
+ // If a scope has defined `name`, then it masks aliases in parent scopes.
2635
+ if (scope.names.has(name)) {
2636
+ return undefined;
2637
+ }
2638
+ }
2639
+ return undefined;
2640
+ }
2641
+ }
2642
+ function* extractVariables(value) {
2643
+ if (isValueToken(value)) {
2644
+ yield* extractValueTokenVariables(value);
2645
+ }
2646
+ else if (value instanceof Value) {
2647
+ yield* extractFilteredValueVariables(value);
2648
+ }
2649
+ }
2650
+ function* extractFilteredValueVariables(value) {
2651
+ for (const token of value.initial.postfix) {
2652
+ if (isValueToken(token)) {
2653
+ yield* extractValueTokenVariables(token);
2654
+ }
2655
+ }
2656
+ for (const filter of value.filters) {
2657
+ for (const arg of filter.args) {
2658
+ if (isKeyValuePair(arg) && arg[1]) {
2659
+ yield* extractValueTokenVariables(arg[1]);
2660
+ }
2661
+ else if (isValueToken(arg)) {
2662
+ yield* extractValueTokenVariables(arg);
2663
+ }
2664
+ }
2665
+ }
2666
+ }
2667
+ function* extractValueTokenVariables(token) {
2668
+ if (isRangeToken(token)) {
2669
+ yield* extractValueTokenVariables(token.lhs);
2670
+ yield* extractValueTokenVariables(token.rhs);
2671
+ }
2672
+ else if (isPropertyAccessToken(token)) {
2673
+ yield extractPropertyAccessVariable(token);
2674
+ }
2675
+ }
2676
+ function extractPropertyAccessVariable(token) {
2677
+ const segments = [];
2678
+ // token is not guaranteed to have `file` set. We'll try to get it from a prop if not.
2679
+ let file = token.file;
2680
+ // Here we're flattening the first segment of a path if it is a nested path.
2681
+ const root = token.props[0];
2682
+ file = file || root.file;
2683
+ if (isQuotedToken(root) || isNumberToken(root) || isWordToken(root)) {
2684
+ segments.push(root.content);
2685
+ }
2686
+ else if (isPropertyAccessToken(root)) {
2687
+ // Flatten paths that start with a nested path.
2688
+ segments.push(...extractPropertyAccessVariable(root).segments);
2689
+ }
2690
+ for (const prop of token.props.slice(1)) {
2691
+ file = file || prop.file;
2692
+ if (isQuotedToken(prop) || isNumberToken(prop) || isWordToken(prop)) {
2693
+ segments.push(prop.content);
2694
+ }
2695
+ else if (isPropertyAccessToken(prop)) {
2696
+ segments.push(extractPropertyAccessVariable(prop));
2697
+ }
2698
+ }
2699
+ const [row, col] = token.getPosition();
2700
+ return new Variable(segments, {
2701
+ row,
2702
+ col,
2703
+ file
2704
+ });
2705
+ }
2706
+ // This is used to detect segments that can be represented with dot notation
2707
+ // when creating a string representation of VariableSegments.
2708
+ const RE_PROPERTY = /^[\u0080-\uFFFFa-zA-Z_][\u0080-\uFFFFa-zA-Z0-9_-]*$/;
2709
+ /**
2710
+ * Return a string representation of segments using dot notation where possible.
2711
+ * @param segments - The property names and array indices that make up a path to a variable.
2712
+ * @param bracketedRoot - If false (the default), don't surround the root segment with square brackets.
2713
+ */
2714
+ function segmentsString(segments, bracketedRoot = false) {
2715
+ const buf = [];
2716
+ const root = segments[0];
2717
+ if (isString(root)) {
2718
+ if (!bracketedRoot || root.match(RE_PROPERTY)) {
2719
+ buf.push(`${root}`);
2720
+ }
2721
+ else {
2722
+ buf.push(`['${root}']`);
2723
+ }
2724
+ }
2725
+ for (const segment of segments.slice(1)) {
2726
+ if (segment instanceof Variable) {
2727
+ buf.push(`[${segmentsString(segment.segments)}]`);
2728
+ }
2729
+ else if (isString(segment)) {
2730
+ if (segment.match(RE_PROPERTY)) {
2731
+ buf.push(`.${segment}`);
2732
+ }
2733
+ else {
2734
+ buf.push(`['${segment}']`);
2735
+ }
2736
+ }
2737
+ else {
2738
+ buf.push(`[${segment}]`);
2739
+ }
2740
+ }
2741
+ return buf.join('');
2742
+ }
2743
+
2744
+ var LookupType;
2745
+ (function (LookupType) {
2746
+ LookupType["Partials"] = "partials";
2747
+ LookupType["Layouts"] = "layouts";
2748
+ LookupType["Root"] = "root";
2749
+ })(LookupType || (LookupType = {}));
2750
+ class Loader {
2751
+ constructor(options) {
2752
+ this.options = options;
2753
+ if (options.relativeReference) {
2754
+ const sep = options.fs.sep;
2755
+ assert(sep, '`fs.sep` is required for relative reference');
2756
+ const rRelativePath = new RegExp(['.' + sep, '..' + sep, './', '../'].map(prefix => escapeRegex(prefix)).join('|'));
2757
+ this.shouldLoadRelative = (referencedFile) => rRelativePath.test(referencedFile);
2758
+ }
2759
+ else {
2760
+ this.shouldLoadRelative = (_referencedFile) => false;
2761
+ }
2762
+ this.contains = this.options.fs.contains || (() => true);
2763
+ }
2764
+ *lookup(file, type, sync, currentFile) {
2765
+ const { fs } = this.options;
2766
+ const dirs = this.options[type];
2767
+ for (const filepath of this.candidates(file, dirs, currentFile, type !== LookupType.Root)) {
2768
+ if (sync ? fs.existsSync(filepath) : yield fs.exists(filepath))
2769
+ return filepath;
2770
+ }
2771
+ throw this.lookupError(file, dirs);
2772
+ }
2773
+ *candidates(file, dirs, currentFile, enforceRoot) {
2774
+ const { fs, extname } = this.options;
2775
+ if (this.shouldLoadRelative(file) && currentFile) {
2776
+ const referenced = fs.resolve(this.dirname(currentFile), file, extname);
2777
+ for (const dir of dirs) {
2778
+ if (!enforceRoot || this.contains(dir, referenced)) {
2779
+ // the relatively referenced file is within one of root dirs
2780
+ yield referenced;
2781
+ break;
2782
+ }
2783
+ }
2784
+ }
2785
+ for (const dir of dirs) {
2786
+ const referenced = fs.resolve(dir, file, extname);
2787
+ if (!enforceRoot || this.contains(dir, referenced)) {
2788
+ yield referenced;
2789
+ }
2790
+ }
2791
+ if (fs.fallback !== undefined) {
2792
+ const filepath = fs.fallback(file);
2793
+ if (filepath !== undefined)
2794
+ yield filepath;
2795
+ }
2796
+ }
2797
+ dirname(path) {
2798
+ const fs = this.options.fs;
2799
+ assert(fs.dirname, '`fs.dirname` is required for relative reference');
2800
+ return fs.dirname(path);
2801
+ }
2802
+ lookupError(file, roots) {
2803
+ const err = new Error('ENOENT');
2804
+ err.message = `ENOENT: Failed to lookup "${file}" in "${roots}"`;
2805
+ err.code = 'ENOENT';
2806
+ return err;
2807
+ }
2808
+ }
2809
+
2810
+ class Parser {
2811
+ constructor(liquid) {
2812
+ this.liquid = liquid;
2813
+ this.cache = this.liquid.options.cache;
2814
+ this.fs = this.liquid.options.fs;
2815
+ this.parseFile = this.cache ? this._parseFileCached : this._parseFile;
2816
+ this.loader = new Loader(this.liquid.options);
2817
+ this.parseLimit = new Limiter('parse length', liquid.options.parseLimit);
2818
+ }
2819
+ parse(html, filepath) {
2820
+ html = String(html);
2821
+ this.parseLimit.use(html.length);
2822
+ const tokenizer = new Tokenizer(html, this.liquid.options.operators, filepath);
2823
+ const tokens = tokenizer.readTopLevelTokens(this.liquid.options);
2824
+ return this.parseTokens(tokens);
2825
+ }
2826
+ parseTokens(tokens) {
2827
+ let token;
2828
+ const templates = [];
2829
+ const errors = [];
2830
+ while ((token = tokens.shift())) {
2831
+ try {
2832
+ templates.push(this.parseToken(token, tokens));
2833
+ }
2834
+ catch (err) {
2835
+ if (this.liquid.options.catchAllErrors)
2836
+ errors.push(err);
2837
+ else
2838
+ throw err;
2839
+ }
2840
+ }
2841
+ if (errors.length)
2842
+ throw new LiquidErrors(errors);
2843
+ return templates;
2844
+ }
2845
+ parseToken(token, remainTokens) {
2846
+ try {
2847
+ if (isTagToken(token)) {
2848
+ const TagClass = this.liquid.tags[token.name];
2849
+ assert(TagClass, `tag "${token.name}" not found`);
2850
+ return new TagClass(token, remainTokens, this.liquid, this);
2851
+ }
2852
+ if (isOutputToken(token)) {
2853
+ return new Output(token, this.liquid);
2854
+ }
2855
+ return new HTML(token);
2856
+ }
2857
+ catch (e) {
2858
+ if (LiquidError.is(e))
2859
+ throw e;
2860
+ throw new ParseError(e, token);
2861
+ }
2862
+ }
2863
+ parseStream(tokens) {
2864
+ return new ParseStream(tokens, (token, tokens) => this.parseToken(token, tokens));
2865
+ }
2866
+ *_parseFileCached(file, sync, type = LookupType.Root, currentFile) {
2867
+ const cache = this.cache;
2868
+ const key = this.loader.shouldLoadRelative(file) ? currentFile + ',' + file : type + ':' + file;
2869
+ const tpls = yield cache.read(key);
2870
+ if (tpls)
2871
+ return tpls;
2872
+ const task = this._parseFile(file, sync, type, currentFile);
2873
+ // sync mode: exec the task and cache the result
2874
+ // async mode: cache the task before exec
2875
+ const taskOrTpl = sync ? yield task : toPromise(task);
2876
+ cache.write(key, taskOrTpl);
2877
+ // note: concurrent tasks will be reused, cache for failed task is removed until its end
2878
+ try {
2879
+ return yield taskOrTpl;
2880
+ }
2881
+ catch (err) {
2882
+ cache.remove(key);
2883
+ throw err;
2884
+ }
2885
+ }
2886
+ *_parseFile(file, sync, type = LookupType.Root, currentFile) {
2887
+ const filepath = yield this.loader.lookup(file, type, sync, currentFile);
2888
+ return this.parse(sync ? this.fs.readFileSync(filepath) : yield this.fs.readFile(filepath), filepath);
2889
+ }
2890
+ }
2891
+
2892
+ (function (TokenKind) {
2893
+ TokenKind[TokenKind["Number"] = 1] = "Number";
2894
+ TokenKind[TokenKind["Literal"] = 2] = "Literal";
2895
+ TokenKind[TokenKind["Tag"] = 4] = "Tag";
2896
+ TokenKind[TokenKind["Output"] = 8] = "Output";
2897
+ TokenKind[TokenKind["HTML"] = 16] = "HTML";
2898
+ TokenKind[TokenKind["Filter"] = 32] = "Filter";
2899
+ TokenKind[TokenKind["Hash"] = 64] = "Hash";
2900
+ TokenKind[TokenKind["PropertyAccess"] = 128] = "PropertyAccess";
2901
+ TokenKind[TokenKind["Word"] = 256] = "Word";
2902
+ TokenKind[TokenKind["Range"] = 512] = "Range";
2903
+ TokenKind[TokenKind["Quoted"] = 1024] = "Quoted";
2904
+ TokenKind[TokenKind["Operator"] = 2048] = "Operator";
2905
+ TokenKind[TokenKind["FilteredValue"] = 4096] = "FilteredValue";
2906
+ TokenKind[TokenKind["Delimited"] = 12] = "Delimited";
2907
+ })(exports.TokenKind || (exports.TokenKind = {}));
2908
+
2909
+ function isDelimitedToken(val) {
2910
+ return !!(getKind(val) & exports.TokenKind.Delimited);
2911
+ }
2912
+ function isOperatorToken(val) {
2913
+ return getKind(val) === exports.TokenKind.Operator;
2914
+ }
2915
+ function isHTMLToken(val) {
2916
+ return getKind(val) === exports.TokenKind.HTML;
2917
+ }
2918
+ function isOutputToken(val) {
2919
+ return getKind(val) === exports.TokenKind.Output;
2920
+ }
2921
+ function isTagToken(val) {
2922
+ return getKind(val) === exports.TokenKind.Tag;
2923
+ }
2924
+ function isQuotedToken(val) {
2925
+ return getKind(val) === exports.TokenKind.Quoted;
2926
+ }
2927
+ function isLiteralToken(val) {
2928
+ return getKind(val) === exports.TokenKind.Literal;
2929
+ }
2930
+ function isNumberToken(val) {
2931
+ return getKind(val) === exports.TokenKind.Number;
2932
+ }
2933
+ function isPropertyAccessToken(val) {
2934
+ return getKind(val) === exports.TokenKind.PropertyAccess;
2935
+ }
2936
+ function isWordToken(val) {
2937
+ return getKind(val) === exports.TokenKind.Word;
2938
+ }
2939
+ function isRangeToken(val) {
2940
+ return getKind(val) === exports.TokenKind.Range;
2941
+ }
2942
+ function isValueToken(val) {
2943
+ // valueTokenBitMask = TokenKind.Number | TokenKind.Literal | TokenKind.Quoted | TokenKind.PropertyAccess | TokenKind.Range
2944
+ return (getKind(val) & 1667) > 0;
2945
+ }
2946
+ function getKind(val) {
2947
+ return val ? val.kind : -1;
2948
+ }
2949
+
2950
+ var typeGuards = /*#__PURE__*/Object.freeze({
2951
+ __proto__: null,
2952
+ isDelimitedToken: isDelimitedToken,
2953
+ isOperatorToken: isOperatorToken,
2954
+ isHTMLToken: isHTMLToken,
2955
+ isOutputToken: isOutputToken,
2956
+ isTagToken: isTagToken,
2957
+ isQuotedToken: isQuotedToken,
2958
+ isLiteralToken: isLiteralToken,
2959
+ isNumberToken: isNumberToken,
2960
+ isPropertyAccessToken: isPropertyAccessToken,
2961
+ isWordToken: isWordToken,
2962
+ isRangeToken: isRangeToken,
2963
+ isValueToken: isValueToken
2964
+ });
2965
+
2966
+ /******************************************************************************
2967
+ Copyright (c) Microsoft Corporation.
2968
+
2969
+ Permission to use, copy, modify, and/or distribute this software for any
2970
+ purpose with or without fee is hereby granted.
2971
+
2972
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
2973
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2974
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
2975
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2976
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
2977
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2978
+ PERFORMANCE OF THIS SOFTWARE.
2979
+ ***************************************************************************** */
2980
+
2981
+ var __assign = function() {
2982
+ __assign = Object.assign || function __assign(t) {
2983
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
2984
+ s = arguments[i];
2985
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
2986
+ }
2987
+ return t;
2988
+ };
2989
+ return __assign.apply(this, arguments);
2990
+ };
2991
+
2992
+ class Context {
2993
+ constructor(env = {}, opts = defaultOptions, renderOptions = {}, { memoryLimit, renderLimit } = {}) {
2994
+ /**
2995
+ * insert a Context-level empty scope,
2996
+ * for tags like `{% capture %}` `{% assign %}` to operate
2997
+ */
2998
+ this.scopes = [{}];
2999
+ this.registers = {};
3000
+ this.breakCalled = false;
3001
+ this.continueCalled = false;
3002
+ this.sync = !!renderOptions.sync;
3003
+ this.opts = opts;
3004
+ this.globals = renderOptions.globals ?? opts.globals;
3005
+ this.environments = isObject(env) ? env : Object(env);
3006
+ this.strictVariables = renderOptions.strictVariables ?? this.opts.strictVariables;
3007
+ this.ownPropertyOnly = renderOptions.ownPropertyOnly ?? opts.ownPropertyOnly;
3008
+ this.memoryLimit = memoryLimit ?? new Limiter('memory alloc', renderOptions.memoryLimit ?? opts.memoryLimit);
3009
+ this.renderLimit = renderLimit ?? new Limiter('template render', getPerformance().now() + (renderOptions.renderLimit ?? opts.renderLimit));
3010
+ }
3011
+ getRegister(key) {
3012
+ return (this.registers[key] = this.registers[key] || {});
3013
+ }
3014
+ setRegister(key, value) {
3015
+ return (this.registers[key] = value);
3016
+ }
3017
+ saveRegister(...keys) {
3018
+ return keys.map(key => [key, this.getRegister(key)]);
3019
+ }
3020
+ restoreRegister(keyValues) {
3021
+ return keyValues.forEach(([key, value]) => this.setRegister(key, value));
3022
+ }
3023
+ getAll() {
3024
+ return [this.globals, this.environments, ...this.scopes]
3025
+ .reduce((ctx, val) => __assign(ctx, val), {});
3026
+ }
3027
+ /**
3028
+ * @deprecated use `_get()` or `getSync()` instead
3029
+ */
3030
+ get(paths) {
3031
+ return this.getSync(paths);
3032
+ }
3033
+ getSync(paths) {
3034
+ return toValueSync(this._get(paths));
3035
+ }
3036
+ *_get(paths) {
3037
+ const scope = this.findScope(paths[0]); // first prop should always be a string
3038
+ return yield this._getFromScope(scope, paths);
3039
+ }
3040
+ /**
3041
+ * @deprecated use `_get()` instead
3042
+ */
3043
+ getFromScope(scope, paths) {
3044
+ return toValueSync(this._getFromScope(scope, paths));
3045
+ }
3046
+ *_getFromScope(scope, paths, strictVariables = this.strictVariables) {
3047
+ if (isString(paths))
3048
+ paths = paths.split('.');
3049
+ for (let i = 0; i < paths.length; i++) {
3050
+ scope = yield readProperty(scope, paths[i], this.ownPropertyOnly);
3051
+ if (strictVariables && isUndefined(scope)) {
3052
+ throw new InternalUndefinedVariableError(paths.slice(0, i + 1).join('.'));
3053
+ }
3054
+ }
3055
+ return scope;
3056
+ }
3057
+ push(ctx) {
3058
+ return this.scopes.push(ctx);
3059
+ }
3060
+ pop() {
3061
+ return this.scopes.pop();
3062
+ }
3063
+ bottom() {
3064
+ return this.scopes[0];
3065
+ }
3066
+ spawn(scope = {}) {
3067
+ return new Context(scope, this.opts, {
3068
+ sync: this.sync,
3069
+ globals: this.globals,
3070
+ strictVariables: this.strictVariables
3071
+ }, {
3072
+ renderLimit: this.renderLimit,
3073
+ memoryLimit: this.memoryLimit
3074
+ });
3075
+ }
3076
+ findScope(key) {
3077
+ for (let i = this.scopes.length - 1; i >= 0; i--) {
3078
+ const candidate = this.scopes[i];
3079
+ if (key in candidate)
3080
+ return candidate;
3081
+ }
3082
+ if (key in this.environments)
3083
+ return this.environments;
3084
+ return this.globals;
3085
+ }
3086
+ }
3087
+ function readProperty(obj, key, ownPropertyOnly) {
3088
+ obj = toLiquid(obj);
3089
+ key = toValue(key);
3090
+ if (isNil(obj))
3091
+ return obj;
3092
+ if (isArray(obj) && key < 0)
3093
+ return obj[obj.length + +key];
3094
+ const value = readJSProperty(obj, key, ownPropertyOnly);
3095
+ if (value === undefined && obj instanceof Drop)
3096
+ return obj.liquidMethodMissing(key);
3097
+ if (isFunction(value))
3098
+ return value.call(obj);
3099
+ if (key === 'size')
3100
+ return readSize(obj);
3101
+ else if (key === 'first')
3102
+ return readFirst(obj);
3103
+ else if (key === 'last')
3104
+ return readLast(obj);
3105
+ return value;
3106
+ }
3107
+ function readJSProperty(obj, key, ownPropertyOnly) {
3108
+ if (ownPropertyOnly && !hasOwnProperty.call(obj, key) && !(obj instanceof Drop))
3109
+ return undefined;
3110
+ return obj[key];
3111
+ }
3112
+ function readFirst(obj) {
3113
+ if (isArray(obj))
3114
+ return obj[0];
3115
+ return obj['first'];
3116
+ }
3117
+ function readLast(obj) {
3118
+ if (isArray(obj))
3119
+ return obj[obj.length - 1];
3120
+ return obj['last'];
3121
+ }
3122
+ function readSize(obj) {
3123
+ if (hasOwnProperty.call(obj, 'size') || obj['size'] !== undefined)
3124
+ return obj['size'];
3125
+ if (isArray(obj) || isString(obj))
3126
+ return obj.length;
3127
+ if (typeof obj === 'object')
3128
+ return Object.keys(obj).length;
3129
+ }
3130
+
3131
+ var BlockMode;
3132
+ (function (BlockMode) {
3133
+ /* store rendered html into blocks */
3134
+ BlockMode[BlockMode["OUTPUT"] = 0] = "OUTPUT";
3135
+ /* output rendered html directly */
3136
+ BlockMode[BlockMode["STORE"] = 1] = "STORE";
3137
+ })(BlockMode || (BlockMode = {}));
3138
+
3139
+ const abs = argumentsToValue(Math.abs);
3140
+ const at_least = argumentsToValue(Math.max);
3141
+ const at_most = argumentsToValue(Math.min);
3142
+ const ceil = argumentsToValue(Math.ceil);
3143
+ const divided_by = argumentsToValue((dividend, divisor, integerArithmetic = false) => integerArithmetic ? Math.floor(dividend / divisor) : dividend / divisor);
3144
+ const floor = argumentsToValue(Math.floor);
3145
+ const minus = argumentsToValue((v, arg) => v - arg);
3146
+ const modulo = argumentsToValue((v, arg) => v % arg);
3147
+ const times = argumentsToValue((v, arg) => v * arg);
3148
+ function round(v, arg = 0) {
3149
+ v = toValue(v);
3150
+ arg = toValue(arg);
3151
+ const amp = Math.pow(10, arg);
3152
+ return Math.round(v * amp) / amp;
3153
+ }
3154
+ function plus(v, arg) {
3155
+ v = toValue(v);
3156
+ arg = toValue(arg);
3157
+ return Number(v) + Number(arg);
3158
+ }
3159
+
3160
+ var mathFilters = /*#__PURE__*/Object.freeze({
3161
+ __proto__: null,
3162
+ abs: abs,
3163
+ at_least: at_least,
3164
+ at_most: at_most,
3165
+ ceil: ceil,
3166
+ divided_by: divided_by,
3167
+ floor: floor,
3168
+ minus: minus,
3169
+ modulo: modulo,
3170
+ times: times,
3171
+ round: round,
3172
+ plus: plus
3173
+ });
3174
+
3175
+ const url_decode = (x) => decodeURIComponent(stringify(x)).replace(/\+/g, ' ');
3176
+ const url_encode = (x) => encodeURIComponent(stringify(x)).replace(/%20/g, '+');
3177
+ const cgi_escape = (x) => encodeURIComponent(stringify(x))
3178
+ .replace(/%20/g, '+')
3179
+ .replace(/[!'()*]/g, c => '%' + c.charCodeAt(0).toString(16).toUpperCase());
3180
+ const uri_escape = (x) => encodeURI(stringify(x))
3181
+ .replace(/%5B/g, '[')
3182
+ .replace(/%5D/g, ']');
3183
+ const rSlugifyDefault = /[^\p{M}\p{L}\p{Nd}]+/ug;
3184
+ const rSlugifyReplacers = {
3185
+ 'raw': /\s+/g,
3186
+ 'default': rSlugifyDefault,
3187
+ 'pretty': /[^\p{M}\p{L}\p{Nd}._~!$&'()+,;=@]+/ug,
3188
+ 'ascii': /[^A-Za-z0-9]+/g,
3189
+ 'latin': rSlugifyDefault,
3190
+ 'none': null
3191
+ };
3192
+ function slugify(str, mode = 'default', cased = false) {
3193
+ str = stringify(str);
3194
+ const replacer = rSlugifyReplacers[mode];
3195
+ if (replacer) {
3196
+ if (mode === 'latin')
3197
+ str = removeAccents(str);
3198
+ str = str.replace(replacer, '-').replace(/^-|-$/g, '');
3199
+ }
3200
+ return cased ? str : str.toLowerCase();
3201
+ }
3202
+ function removeAccents(str) {
3203
+ return str.replace(/[àáâãäå]/g, 'a')
3204
+ .replace(/[æ]/g, 'ae')
3205
+ .replace(/[ç]/g, 'c')
3206
+ .replace(/[èéêë]/g, 'e')
3207
+ .replace(/[ìíîï]/g, 'i')
3208
+ .replace(/[ð]/g, 'd')
3209
+ .replace(/[ñ]/g, 'n')
3210
+ .replace(/[òóôõöø]/g, 'o')
3211
+ .replace(/[ùúûü]/g, 'u')
3212
+ .replace(/[ýÿ]/g, 'y')
3213
+ .replace(/[ß]/g, 'ss')
3214
+ .replace(/[œ]/g, 'oe')
3215
+ .replace(/[þ]/g, 'th')
3216
+ .replace(/[ẞ]/g, 'SS')
3217
+ .replace(/[Œ]/g, 'OE')
3218
+ .replace(/[Þ]/g, 'TH');
3219
+ }
3220
+
3221
+ var urlFilters = /*#__PURE__*/Object.freeze({
3222
+ __proto__: null,
3223
+ url_decode: url_decode,
3224
+ url_encode: url_encode,
3225
+ cgi_escape: cgi_escape,
3226
+ uri_escape: uri_escape,
3227
+ slugify: slugify
3228
+ });
3229
+
3230
+ const join = argumentsToValue(function (v, arg) {
3231
+ const array = toArray(v);
3232
+ const sep = isNil(arg) ? ' ' : stringify(arg);
3233
+ const complexity = array.length * (1 + sep.length);
3234
+ this.context.memoryLimit.use(complexity);
3235
+ return array.join(sep);
3236
+ });
3237
+ const last$1 = argumentsToValue((v) => isArrayLike(v) ? last(v) : '');
3238
+ const first = argumentsToValue((v) => isArrayLike(v) ? v[0] : '');
3239
+ const reverse = argumentsToValue(function (v) {
3240
+ const array = toArray(v);
3241
+ this.context.memoryLimit.use(array.length);
3242
+ return [...array].reverse();
3243
+ });
3244
+ function* sort(arr, property) {
3245
+ const values = [];
3246
+ const array = toArray(arr);
3247
+ this.context.memoryLimit.use(array.length);
3248
+ for (const item of array) {
3249
+ values.push([
3250
+ item,
3251
+ property ? yield this.context._getFromScope(item, stringify(property).split('.'), false) : item
3252
+ ]);
3253
+ }
3254
+ return values.sort((lhs, rhs) => {
3255
+ const lvalue = lhs[1];
3256
+ const rvalue = rhs[1];
3257
+ return lvalue < rvalue ? -1 : (lvalue > rvalue ? 1 : 0);
3258
+ }).map(tuple => tuple[0]);
3259
+ }
3260
+ function sort_natural(input, property) {
3261
+ const propertyString = stringify(property);
3262
+ const compare = property === undefined
3263
+ ? caseInsensitiveCompare
3264
+ : (lhs, rhs) => caseInsensitiveCompare(lhs[propertyString], rhs[propertyString]);
3265
+ const array = toArray(input);
3266
+ this.context.memoryLimit.use(array.length);
3267
+ return [...array].sort(compare);
3268
+ }
3269
+ const size = (v) => (v && v.length) || 0;
3270
+ function* map(arr, property) {
3271
+ const results = [];
3272
+ const array = toArray(arr);
3273
+ this.context.memoryLimit.use(array.length);
3274
+ for (const item of array) {
3275
+ results.push(yield this.context._getFromScope(item, stringify(property), false));
3276
+ }
3277
+ return results;
3278
+ }
3279
+ function* sum(arr, property) {
3280
+ let sum = 0;
3281
+ const array = toArray(arr);
3282
+ for (const item of array) {
3283
+ const data = Number(property ? yield this.context._getFromScope(item, stringify(property), false) : item);
3284
+ sum += Number.isNaN(data) ? 0 : data;
3285
+ }
3286
+ return sum;
3287
+ }
3288
+ function compact(arr) {
3289
+ const array = toArray(arr);
3290
+ this.context.memoryLimit.use(array.length);
3291
+ return array.filter(x => !isNil(toValue(x)));
3292
+ }
3293
+ function concat(v, arg = []) {
3294
+ const lhs = toArray(v);
3295
+ const rhs = toArray(arg);
3296
+ this.context.memoryLimit.use(lhs.length + rhs.length);
3297
+ return lhs.concat(rhs);
3298
+ }
3299
+ function push(v, arg) {
3300
+ return concat.call(this, v, [arg]);
3301
+ }
3302
+ function unshift(v, arg) {
3303
+ const array = toArray(v);
3304
+ this.context.memoryLimit.use(array.length);
3305
+ const clone = [...array];
3306
+ clone.unshift(arg);
3307
+ return clone;
3308
+ }
3309
+ function pop(v) {
3310
+ const clone = [...toArray(v)];
3311
+ clone.pop();
3312
+ return clone;
3313
+ }
3314
+ function shift(v) {
3315
+ const array = toArray(v);
3316
+ this.context.memoryLimit.use(array.length);
3317
+ const clone = [...array];
3318
+ clone.shift();
3319
+ return clone;
3320
+ }
3321
+ function slice(v, begin, length = 1) {
3322
+ v = toValue(v);
3323
+ if (isNil(v))
3324
+ return [];
3325
+ if (!isArray(v))
3326
+ v = stringify(v);
3327
+ begin = begin < 0 ? v.length + begin : begin;
3328
+ this.context.memoryLimit.use(length);
3329
+ return v.slice(begin, begin + length);
3330
+ }
3331
+ function* where(arr, property, expected) {
3332
+ const values = [];
3333
+ arr = toArray(arr);
3334
+ this.context.memoryLimit.use(arr.length);
3335
+ const token = new Tokenizer(stringify(property)).readScopeValue();
3336
+ for (const item of arr) {
3337
+ values.push(yield evalToken(token, this.context.spawn(item)));
3338
+ }
3339
+ const matcher = this.context.opts.jekyllWhere
3340
+ ? (v) => EmptyDrop.is(expected) ? equals(v, expected) : (isArray(v) ? arrayIncludes(v, expected) : equals(v, expected))
3341
+ : (v) => equals(v, expected);
3342
+ return arr.filter((_, i) => {
3343
+ if (expected === undefined)
3344
+ return isTruthy(values[i], this.context);
3345
+ return matcher(values[i]);
3346
+ });
3347
+ }
3348
+ function* where_exp(arr, itemName, exp) {
3349
+ const filtered = [];
3350
+ const keyTemplate = new Value(stringify(exp), this.liquid);
3351
+ const array = toArray(arr);
3352
+ this.context.memoryLimit.use(array.length);
3353
+ for (const item of array) {
3354
+ this.context.push({ [itemName]: item });
3355
+ const value = yield keyTemplate.value(this.context);
3356
+ this.context.pop();
3357
+ if (value)
3358
+ filtered.push(item);
3359
+ }
3360
+ return filtered;
3361
+ }
3362
+ function* group_by(arr, property) {
3363
+ const map = new Map();
3364
+ arr = toEnumerable(arr);
3365
+ const token = new Tokenizer(stringify(property)).readScopeValue();
3366
+ this.context.memoryLimit.use(arr.length);
3367
+ for (const item of arr) {
3368
+ const key = yield evalToken(token, this.context.spawn(item));
3369
+ if (!map.has(key))
3370
+ map.set(key, []);
3371
+ map.get(key).push(item);
3372
+ }
3373
+ return [...map.entries()].map(([name, items]) => ({ name, items }));
3374
+ }
3375
+ function* group_by_exp(arr, itemName, exp) {
3376
+ const map = new Map();
3377
+ const keyTemplate = new Value(stringify(exp), this.liquid);
3378
+ arr = toEnumerable(arr);
3379
+ this.context.memoryLimit.use(arr.length);
3380
+ for (const item of arr) {
3381
+ this.context.push({ [itemName]: item });
3382
+ const key = yield keyTemplate.value(this.context);
3383
+ this.context.pop();
3384
+ if (!map.has(key))
3385
+ map.set(key, []);
3386
+ map.get(key).push(item);
3387
+ }
3388
+ return [...map.entries()].map(([name, items]) => ({ name, items }));
3389
+ }
3390
+ function* find(arr, property, expected) {
3391
+ const token = new Tokenizer(stringify(property)).readScopeValue();
3392
+ const array = toArray(arr);
3393
+ for (const item of array) {
3394
+ const value = yield evalToken(token, this.context.spawn(item));
3395
+ if (equals(value, expected))
3396
+ return item;
3397
+ }
3398
+ }
3399
+ function* find_exp(arr, itemName, exp) {
3400
+ const predicate = new Value(stringify(exp), this.liquid);
3401
+ const array = toArray(arr);
3402
+ for (const item of array) {
3403
+ this.context.push({ [itemName]: item });
3404
+ const value = yield predicate.value(this.context);
3405
+ this.context.pop();
3406
+ if (value)
3407
+ return item;
3408
+ }
3409
+ }
3410
+ function uniq(arr) {
3411
+ arr = toArray(arr);
3412
+ this.context.memoryLimit.use(arr.length);
3413
+ return [...new Set(arr)];
3414
+ }
3415
+ function sample(v, count = 1) {
3416
+ v = toValue(v);
3417
+ if (isNil(v))
3418
+ return [];
3419
+ if (!isArray(v))
3420
+ v = stringify(v);
3421
+ this.context.memoryLimit.use(count);
3422
+ const shuffled = [...v].sort(() => Math.random() - 0.5);
3423
+ if (count === 1)
3424
+ return shuffled[0];
3425
+ return shuffled.slice(0, count);
3426
+ }
3427
+
3428
+ var arrayFilters = /*#__PURE__*/Object.freeze({
3429
+ __proto__: null,
3430
+ join: join,
3431
+ last: last$1,
3432
+ first: first,
3433
+ reverse: reverse,
3434
+ sort: sort,
3435
+ sort_natural: sort_natural,
3436
+ size: size,
3437
+ map: map,
3438
+ sum: sum,
3439
+ compact: compact,
3440
+ concat: concat,
3441
+ push: push,
3442
+ unshift: unshift,
3443
+ pop: pop,
3444
+ shift: shift,
3445
+ slice: slice,
3446
+ where: where,
3447
+ where_exp: where_exp,
3448
+ group_by: group_by,
3449
+ group_by_exp: group_by_exp,
3450
+ find: find,
3451
+ find_exp: find_exp,
3452
+ uniq: uniq,
3453
+ sample: sample
3454
+ });
3455
+
3456
+ function date(v, format, timezoneOffset) {
3457
+ const size = (v?.length ?? 0) + (format?.length ?? 0) + (timezoneOffset?.length ?? 0);
3458
+ this.context.memoryLimit.use(size);
3459
+ const date = parseDate(v, this.context.opts, timezoneOffset);
3460
+ if (!date)
3461
+ return v;
3462
+ format = toValue(format);
3463
+ format = isNil(format) ? this.context.opts.dateFormat : stringify(format);
3464
+ return strftime(date, format);
3465
+ }
3466
+ function date_to_xmlschema(v) {
3467
+ return date.call(this, v, '%Y-%m-%dT%H:%M:%S%:z');
3468
+ }
3469
+ function date_to_rfc822(v) {
3470
+ return date.call(this, v, '%a, %d %b %Y %H:%M:%S %z');
3471
+ }
3472
+ function date_to_string(v, type, style) {
3473
+ return stringify_date.call(this, v, '%b', type, style);
3474
+ }
3475
+ function date_to_long_string(v, type, style) {
3476
+ return stringify_date.call(this, v, '%B', type, style);
3477
+ }
3478
+ function stringify_date(v, month_type, type, style) {
3479
+ const date = parseDate(v, this.context.opts);
3480
+ if (!date)
3481
+ return v;
3482
+ if (type === 'ordinal') {
3483
+ const d = date.getDate();
3484
+ return style === 'US'
3485
+ ? strftime(date, `${month_type} ${d}%q, %Y`)
3486
+ : strftime(date, `${d}%q ${month_type} %Y`);
3487
+ }
3488
+ return strftime(date, `%d ${month_type} %Y`);
3489
+ }
3490
+ function parseDate(v, opts, timezoneOffset) {
3491
+ let date;
3492
+ const defaultTimezoneOffset = timezoneOffset ?? opts.timezoneOffset;
3493
+ const locale = opts.locale;
3494
+ v = toValue(v);
3495
+ if (v === 'now' || v === 'today') {
3496
+ date = new LiquidDate(Date.now(), locale, defaultTimezoneOffset);
3497
+ }
3498
+ else if (isNumber(v)) {
3499
+ date = new LiquidDate(v * 1000, locale, defaultTimezoneOffset);
3500
+ }
3501
+ else if (isString(v)) {
3502
+ if (/^\d+$/.test(v)) {
3503
+ date = new LiquidDate(+v * 1000, locale, defaultTimezoneOffset);
3504
+ }
3505
+ else if (opts.preserveTimezones && timezoneOffset === undefined) {
3506
+ date = LiquidDate.createDateFixedToTimezone(v, locale);
3507
+ }
3508
+ else {
3509
+ date = new LiquidDate(v, locale, defaultTimezoneOffset);
3510
+ }
3511
+ }
3512
+ else {
3513
+ date = new LiquidDate(v, locale, defaultTimezoneOffset);
3514
+ }
3515
+ return date.valid() ? date : undefined;
3516
+ }
3517
+
3518
+ var dateFilters = /*#__PURE__*/Object.freeze({
3519
+ __proto__: null,
3520
+ date: date,
3521
+ date_to_xmlschema: date_to_xmlschema,
3522
+ date_to_rfc822: date_to_rfc822,
3523
+ date_to_string: date_to_string,
3524
+ date_to_long_string: date_to_long_string
3525
+ });
3526
+
3527
+ /**
3528
+ * String related filters
3529
+ *
3530
+ * * prefer stringify() to String() since `undefined`, `null` should eval ''
3531
+ */
3532
+ const rCJKWord = /[\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF]/gu;
3533
+ // Word boundary followed by word characters (for detecting words)
3534
+ const rNonCJKWord = /[^\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF\s]+/gu;
3535
+ function append(v, arg) {
3536
+ assert(arguments.length === 2, 'append expect 2 arguments');
3537
+ const lhs = stringify(v);
3538
+ const rhs = stringify(arg);
3539
+ this.context.memoryLimit.use(lhs.length + rhs.length);
3540
+ return lhs + rhs;
3541
+ }
3542
+ function prepend(v, arg) {
3543
+ assert(arguments.length === 2, 'prepend expect 2 arguments');
3544
+ const lhs = stringify(v);
3545
+ const rhs = stringify(arg);
3546
+ this.context.memoryLimit.use(lhs.length + rhs.length);
3547
+ return rhs + lhs;
3548
+ }
3549
+ function lstrip(v, chars) {
3550
+ const str = stringify(v);
3551
+ this.context.memoryLimit.use(str.length);
3552
+ if (chars) {
3553
+ chars = escapeRegExp(stringify(chars));
3554
+ return str.replace(new RegExp(`^[${chars}]+`, 'g'), '');
3555
+ }
3556
+ return str.replace(/^\s+/, '');
3557
+ }
3558
+ function downcase(v) {
3559
+ const str = stringify(v);
3560
+ this.context.memoryLimit.use(str.length);
3561
+ return str.toLowerCase();
3562
+ }
3563
+ function upcase(v) {
3564
+ const str = stringify(v);
3565
+ this.context.memoryLimit.use(str.length);
3566
+ return stringify(str).toUpperCase();
3567
+ }
3568
+ function remove(v, arg) {
3569
+ const str = stringify(v);
3570
+ this.context.memoryLimit.use(str.length);
3571
+ return str.split(stringify(arg)).join('');
3572
+ }
3573
+ function remove_first(v, l) {
3574
+ const str = stringify(v);
3575
+ this.context.memoryLimit.use(str.length);
3576
+ return str.replace(stringify(l), '');
3577
+ }
3578
+ function remove_last(v, l) {
3579
+ const str = stringify(v);
3580
+ this.context.memoryLimit.use(str.length);
3581
+ const pattern = stringify(l);
3582
+ const index = str.lastIndexOf(pattern);
3583
+ if (index === -1)
3584
+ return str;
3585
+ return str.substring(0, index) + str.substring(index + pattern.length);
3586
+ }
3587
+ function rstrip(str, chars) {
3588
+ str = stringify(str);
3589
+ this.context.memoryLimit.use(str.length);
3590
+ if (chars) {
3591
+ chars = escapeRegExp(stringify(chars));
3592
+ return str.replace(new RegExp(`[${chars}]+$`, 'g'), '');
3593
+ }
3594
+ return str.replace(/\s+$/, '');
3595
+ }
3596
+ function split(v, arg) {
3597
+ const str = stringify(v);
3598
+ this.context.memoryLimit.use(str.length);
3599
+ const arr = str.split(stringify(arg));
3600
+ // align to ruby split, which is the behavior of shopify/liquid
3601
+ // see: https://ruby-doc.org/core-2.4.0/String.html#method-i-split
3602
+ while (arr.length && arr[arr.length - 1] === '')
3603
+ arr.pop();
3604
+ return arr;
3605
+ }
3606
+ function strip(v, chars) {
3607
+ const str = stringify(v);
3608
+ this.context.memoryLimit.use(str.length);
3609
+ if (chars) {
3610
+ chars = escapeRegExp(stringify(chars));
3611
+ return str
3612
+ .replace(new RegExp(`^[${chars}]+`, 'g'), '')
3613
+ .replace(new RegExp(`[${chars}]+$`, 'g'), '');
3614
+ }
3615
+ return str.trim();
3616
+ }
3617
+ function strip_newlines(v) {
3618
+ const str = stringify(v);
3619
+ this.context.memoryLimit.use(str.length);
3620
+ return str.replace(/\r?\n/gm, '');
3621
+ }
3622
+ function capitalize(str) {
3623
+ str = stringify(str);
3624
+ this.context.memoryLimit.use(str.length);
3625
+ return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
3626
+ }
3627
+ function replace(v, pattern, replacement) {
3628
+ const str = stringify(v);
3629
+ this.context.memoryLimit.use(str.length);
3630
+ return str.split(stringify(pattern)).join(replacement);
3631
+ }
3632
+ function replace_first(v, arg1, arg2) {
3633
+ const str = stringify(v);
3634
+ this.context.memoryLimit.use(str.length);
3635
+ return str.replace(stringify(arg1), arg2);
3636
+ }
3637
+ function replace_last(v, arg1, arg2) {
3638
+ const str = stringify(v);
3639
+ this.context.memoryLimit.use(str.length);
3640
+ const pattern = stringify(arg1);
3641
+ const index = str.lastIndexOf(pattern);
3642
+ if (index === -1)
3643
+ return str;
3644
+ const replacement = stringify(arg2);
3645
+ return str.substring(0, index) + replacement + str.substring(index + pattern.length);
3646
+ }
3647
+ function truncate(v, l = 50, o = '...') {
3648
+ const str = stringify(v);
3649
+ this.context.memoryLimit.use(str.length);
3650
+ if (str.length <= l)
3651
+ return v;
3652
+ return str.substring(0, l - o.length) + o;
3653
+ }
3654
+ function truncatewords(v, words = 15, o = '...') {
3655
+ const str = stringify(v);
3656
+ this.context.memoryLimit.use(str.length);
3657
+ const arr = str.split(/\s+/);
3658
+ if (words <= 0)
3659
+ words = 1;
3660
+ let ret = arr.slice(0, words).join(' ');
3661
+ if (arr.length >= words)
3662
+ ret += o;
3663
+ return ret;
3664
+ }
3665
+ function normalize_whitespace(v) {
3666
+ const str = stringify(v);
3667
+ this.context.memoryLimit.use(str.length);
3668
+ return str.replace(/\s+/g, ' ');
3669
+ }
3670
+ function number_of_words(input, mode) {
3671
+ const str = stringify(input);
3672
+ this.context.memoryLimit.use(str.length);
3673
+ input = str.trim();
3674
+ if (!input)
3675
+ return 0;
3676
+ switch (mode) {
3677
+ case 'cjk':
3678
+ // Count CJK characters and words
3679
+ return (input.match(rCJKWord) || []).length + (input.match(rNonCJKWord) || []).length;
3680
+ case 'auto':
3681
+ // Count CJK characters, if none, count words
3682
+ return rCJKWord.test(input)
3683
+ ? input.match(rCJKWord).length + (input.match(rNonCJKWord) || []).length
3684
+ : input.split(/\s+/).length;
3685
+ default:
3686
+ // Count words only
3687
+ return input.split(/\s+/).length;
3688
+ }
3689
+ }
3690
+ function array_to_sentence_string(array, connector = 'and') {
3691
+ this.context.memoryLimit.use(array.length);
3692
+ switch (array.length) {
3693
+ case 0:
3694
+ return '';
3695
+ case 1:
3696
+ return array[0];
3697
+ case 2:
3698
+ return `${array[0]} ${connector} ${array[1]}`;
3699
+ default:
3700
+ return `${array.slice(0, -1).join(', ')}, ${connector} ${array[array.length - 1]}`;
3701
+ }
3702
+ }
3703
+
3704
+ var stringFilters = /*#__PURE__*/Object.freeze({
3705
+ __proto__: null,
3706
+ append: append,
3707
+ prepend: prepend,
3708
+ lstrip: lstrip,
3709
+ downcase: downcase,
3710
+ upcase: upcase,
3711
+ remove: remove,
3712
+ remove_first: remove_first,
3713
+ remove_last: remove_last,
3714
+ rstrip: rstrip,
3715
+ split: split,
3716
+ strip: strip,
3717
+ strip_newlines: strip_newlines,
3718
+ capitalize: capitalize,
3719
+ replace: replace,
3720
+ replace_first: replace_first,
3721
+ replace_last: replace_last,
3722
+ truncate: truncate,
3723
+ truncatewords: truncatewords,
3724
+ normalize_whitespace: normalize_whitespace,
3725
+ number_of_words: number_of_words,
3726
+ array_to_sentence_string: array_to_sentence_string
3727
+ });
3728
+
3729
+ const filters = {
3730
+ ...htmlFilters,
3731
+ ...mathFilters,
3732
+ ...urlFilters,
3733
+ ...arrayFilters,
3734
+ ...dateFilters,
3735
+ ...stringFilters,
3736
+ ...misc
3737
+ };
3738
+
3739
+ class AssignTag extends Tag {
3740
+ constructor(token, remainTokens, liquid) {
3741
+ super(token, remainTokens, liquid);
3742
+ this.identifier = this.tokenizer.readIdentifier();
3743
+ this.key = this.identifier.content;
3744
+ this.tokenizer.assert(this.key, 'expected variable name');
3745
+ this.tokenizer.skipBlank();
3746
+ this.tokenizer.assert(this.tokenizer.peek() === '=', 'expected "="');
3747
+ this.tokenizer.advance();
3748
+ this.value = new Value(this.tokenizer.readFilteredValue(), this.liquid);
3749
+ }
3750
+ *render(ctx) {
3751
+ ctx.bottom()[this.key] = yield this.value.value(ctx, this.liquid.options.lenientIf);
3752
+ }
3753
+ *arguments() {
3754
+ yield this.value;
3755
+ }
3756
+ *localScope() {
3757
+ yield this.identifier;
3758
+ }
3759
+ }
3760
+
3761
+ const MODIFIERS = ['offset', 'limit', 'reversed'];
3762
+ class ForTag extends Tag {
3763
+ constructor(token, remainTokens, liquid, parser) {
3764
+ super(token, remainTokens, liquid);
3765
+ const variable = this.tokenizer.readIdentifier();
3766
+ const inStr = this.tokenizer.readIdentifier();
3767
+ const collection = this.tokenizer.readValue();
3768
+ if (!variable.size() || inStr.content !== 'in' || !collection) {
3769
+ throw new Error(`illegal tag: ${token.getText()}`);
3770
+ }
3771
+ this.variable = variable.content;
3772
+ this.collection = collection;
3773
+ this.hash = new Hash(this.tokenizer, liquid.options.keyValueSeparator);
3774
+ this.templates = [];
3775
+ this.elseTemplates = [];
3776
+ let p;
3777
+ const stream = parser.parseStream(remainTokens)
3778
+ .on('start', () => (p = this.templates))
3779
+ .on('tag:else', tag => { assertEmpty(tag.args); p = this.elseTemplates; })
3780
+ .on('tag:endfor', tag => { assertEmpty(tag.args); stream.stop(); })
3781
+ .on('template', (tpl) => p.push(tpl))
3782
+ .on('end', () => { throw new Error(`tag ${token.getText()} not closed`); });
3783
+ stream.start();
3784
+ }
3785
+ *render(ctx, emitter) {
3786
+ const r = this.liquid.renderer;
3787
+ let collection = toEnumerable(yield evalToken(this.collection, ctx));
3788
+ if (!collection.length) {
3789
+ yield r.renderTemplates(this.elseTemplates, ctx, emitter);
3790
+ return;
3791
+ }
3792
+ const continueKey = 'continue-' + this.variable + '-' + this.collection.getText();
3793
+ ctx.push({ continue: ctx.getRegister(continueKey) });
3794
+ const hash = yield this.hash.render(ctx);
3795
+ ctx.pop();
3796
+ const modifiers = this.liquid.options.orderedFilterParameters
3797
+ ? Object.keys(hash).filter(x => MODIFIERS.includes(x))
3798
+ : MODIFIERS.filter(x => hash[x] !== undefined);
3799
+ collection = modifiers.reduce((collection, modifier) => {
3800
+ if (modifier === 'offset')
3801
+ return offset(collection, hash['offset']);
3802
+ if (modifier === 'limit')
3803
+ return limit(collection, hash['limit']);
3804
+ return reversed(collection);
3805
+ }, collection);
3806
+ ctx.setRegister(continueKey, (hash['offset'] || 0) + collection.length);
3807
+ const scope = { forloop: new ForloopDrop(collection.length, this.collection.getText(), this.variable) };
3808
+ ctx.push(scope);
3809
+ for (const item of collection) {
3810
+ scope[this.variable] = item;
3811
+ ctx.continueCalled = ctx.breakCalled = false;
3812
+ yield r.renderTemplates(this.templates, ctx, emitter);
3813
+ if (ctx.breakCalled)
3814
+ break;
3815
+ scope.forloop.next();
3816
+ }
3817
+ ctx.continueCalled = ctx.breakCalled = false;
3818
+ ctx.pop();
3819
+ }
3820
+ *children() {
3821
+ const templates = this.templates.slice();
3822
+ if (this.elseTemplates) {
3823
+ templates.push(...this.elseTemplates);
3824
+ }
3825
+ return templates;
3826
+ }
3827
+ *arguments() {
3828
+ yield this.collection;
3829
+ for (const v of Object.values(this.hash.hash)) {
3830
+ if (isValueToken(v)) {
3831
+ yield v;
3832
+ }
3833
+ }
3834
+ }
3835
+ blockScope() {
3836
+ return [this.variable, 'forloop'];
3837
+ }
3838
+ }
3839
+ function reversed(arr) {
3840
+ return [...arr].reverse();
3841
+ }
3842
+ function offset(arr, count) {
3843
+ return arr.slice(count);
3844
+ }
3845
+ function limit(arr, count) {
3846
+ return arr.slice(0, count);
3847
+ }
3848
+
3849
+ class CaptureTag extends Tag {
3850
+ constructor(tagToken, remainTokens, liquid, parser) {
3851
+ super(tagToken, remainTokens, liquid);
3852
+ this.templates = [];
3853
+ this.identifier = this.readVariable();
3854
+ this.variable = this.identifier.content;
3855
+ while (remainTokens.length) {
3856
+ const token = remainTokens.shift();
3857
+ if (isTagToken(token) && token.name === 'endcapture')
3858
+ return;
3859
+ this.templates.push(parser.parseToken(token, remainTokens));
3860
+ }
3861
+ throw new Error(`tag ${tagToken.getText()} not closed`);
3862
+ }
3863
+ readVariable() {
3864
+ let ident = this.tokenizer.readIdentifier();
3865
+ if (ident.content)
3866
+ return ident;
3867
+ ident = this.tokenizer.readQuoted();
3868
+ if (ident)
3869
+ return ident;
3870
+ throw this.tokenizer.error('invalid capture name');
3871
+ }
3872
+ *render(ctx) {
3873
+ const r = this.liquid.renderer;
3874
+ const html = yield r.renderTemplates(this.templates, ctx);
3875
+ ctx.bottom()[this.variable] = html;
3876
+ }
3877
+ *children() {
3878
+ return this.templates;
3879
+ }
3880
+ *localScope() {
3881
+ yield this.identifier;
3882
+ }
3883
+ }
3884
+
3885
+ class CaseTag extends Tag {
3886
+ constructor(tagToken, remainTokens, liquid, parser) {
3887
+ super(tagToken, remainTokens, liquid);
3888
+ this.branches = [];
3889
+ this.elseTemplates = [];
3890
+ this.value = new Value(this.tokenizer.readFilteredValue(), this.liquid);
3891
+ this.elseTemplates = [];
3892
+ let p = [];
3893
+ let elseCount = 0;
3894
+ const stream = parser.parseStream(remainTokens)
3895
+ .on('tag:when', (token) => {
3896
+ if (elseCount > 0) {
3897
+ return;
3898
+ }
3899
+ p = [];
3900
+ const values = [];
3901
+ while (!token.tokenizer.end()) {
3902
+ values.push(token.tokenizer.readValueOrThrow());
3903
+ token.tokenizer.skipBlank();
3904
+ if (token.tokenizer.peek() === ',') {
3905
+ token.tokenizer.readTo(',');
3906
+ }
3907
+ else {
3908
+ token.tokenizer.readTo('or');
3909
+ }
3910
+ }
3911
+ this.branches.push({
3912
+ values,
3913
+ templates: p
3914
+ });
3915
+ })
3916
+ .on('tag:else', () => {
3917
+ elseCount++;
3918
+ p = this.elseTemplates;
3919
+ })
3920
+ .on('tag:endcase', () => stream.stop())
3921
+ .on('template', (tpl) => {
3922
+ if (p !== this.elseTemplates || elseCount === 1) {
3923
+ p.push(tpl);
3924
+ }
3925
+ })
3926
+ .on('end', () => {
3927
+ throw new Error(`tag ${tagToken.getText()} not closed`);
3928
+ });
3929
+ stream.start();
3930
+ }
3931
+ *render(ctx, emitter) {
3932
+ const r = this.liquid.renderer;
3933
+ const target = toValue(yield this.value.value(ctx, ctx.opts.lenientIf));
3934
+ let branchHit = false;
3935
+ for (const branch of this.branches) {
3936
+ for (const valueToken of branch.values) {
3937
+ const value = yield evalToken(valueToken, ctx, ctx.opts.lenientIf);
3938
+ if (equals(target, value)) {
3939
+ yield r.renderTemplates(branch.templates, ctx, emitter);
3940
+ branchHit = true;
3941
+ break;
3942
+ }
3943
+ }
3944
+ }
3945
+ if (!branchHit) {
3946
+ yield r.renderTemplates(this.elseTemplates, ctx, emitter);
3947
+ }
3948
+ }
3949
+ *arguments() {
3950
+ yield this.value;
3951
+ yield* this.branches.flatMap(b => b.values);
3952
+ }
3953
+ *children() {
3954
+ const templates = this.branches.flatMap(b => b.templates);
3955
+ if (this.elseTemplates) {
3956
+ templates.push(...this.elseTemplates);
3957
+ }
3958
+ return templates;
3959
+ }
3960
+ }
3961
+
3962
+ class CommentTag extends Tag {
3963
+ constructor(tagToken, remainTokens, liquid) {
3964
+ super(tagToken, remainTokens, liquid);
3965
+ while (remainTokens.length) {
3966
+ const token = remainTokens.shift();
3967
+ if (isTagToken(token) && token.name === 'endcomment')
3968
+ return;
3969
+ }
3970
+ throw new Error(`tag ${tagToken.getText()} not closed`);
3971
+ }
3972
+ render() { }
3973
+ }
3974
+
3975
+ class RenderTag extends Tag {
3976
+ constructor(token, remainTokens, liquid, parser) {
3977
+ super(token, remainTokens, liquid);
3978
+ const tokenizer = this.tokenizer;
3979
+ this.file = parseFilePath(tokenizer, this.liquid, parser);
3980
+ this.currentFile = token.file;
3981
+ while (!tokenizer.end()) {
3982
+ tokenizer.skipBlank();
3983
+ const begin = tokenizer.p;
3984
+ const keyword = tokenizer.readIdentifier();
3985
+ if (keyword.content === 'with' || keyword.content === 'for') {
3986
+ tokenizer.skipBlank();
3987
+ // can be normal key/value pair, like "with: true"
3988
+ if (tokenizer.peek() !== ':') {
3989
+ const value = tokenizer.readValue();
3990
+ // can be normal key, like "with,"
3991
+ if (value) {
3992
+ const beforeAs = tokenizer.p;
3993
+ const asStr = tokenizer.readIdentifier();
3994
+ let alias;
3995
+ if (asStr.content === 'as')
3996
+ alias = tokenizer.readIdentifier();
3997
+ else
3998
+ tokenizer.p = beforeAs;
3999
+ this[keyword.content] = { value, alias: alias && alias.content };
4000
+ tokenizer.skipBlank();
4001
+ if (tokenizer.peek() === ',')
4002
+ tokenizer.advance();
4003
+ continue; // matched!
4004
+ }
4005
+ }
4006
+ }
4007
+ /**
4008
+ * restore cursor if with/for not matched
4009
+ */
4010
+ tokenizer.p = begin;
4011
+ break;
4012
+ }
4013
+ this.hash = new Hash(tokenizer, liquid.options.keyValueSeparator);
4014
+ }
4015
+ *render(ctx, emitter) {
4016
+ const { liquid, hash } = this;
4017
+ const filepath = (yield renderFilePath(this['file'], ctx, liquid));
4018
+ assert(filepath, () => `illegal file path "${filepath}"`);
4019
+ const childCtx = ctx.spawn();
4020
+ const scope = childCtx.bottom();
4021
+ __assign(scope, yield hash.render(ctx));
4022
+ if (this['with']) {
4023
+ const { value, alias } = this['with'];
4024
+ scope[alias || filepath] = yield evalToken(value, ctx);
4025
+ }
4026
+ if (this['for']) {
4027
+ const { value, alias } = this['for'];
4028
+ const collection = toEnumerable(yield evalToken(value, ctx));
4029
+ scope['forloop'] = new ForloopDrop(collection.length, value.getText(), alias);
4030
+ for (const item of collection) {
4031
+ scope[alias] = item;
4032
+ const templates = (yield liquid._parsePartialFile(filepath, childCtx.sync, this['currentFile']));
4033
+ yield liquid.renderer.renderTemplates(templates, childCtx, emitter);
4034
+ scope['forloop'].next();
4035
+ }
4036
+ }
4037
+ else {
4038
+ const templates = (yield liquid._parsePartialFile(filepath, childCtx.sync, this['currentFile']));
4039
+ yield liquid.renderer.renderTemplates(templates, childCtx, emitter);
4040
+ }
4041
+ }
4042
+ *children(partials, sync) {
4043
+ if (partials && isString(this['file'])) {
4044
+ return (yield this.liquid._parsePartialFile(this['file'], sync, this['currentFile']));
4045
+ }
4046
+ return [];
4047
+ }
4048
+ partialScope() {
4049
+ if (isString(this['file'])) {
4050
+ const names = Object.keys(this.hash.hash);
4051
+ if (this['with']) {
4052
+ const { value, alias } = this['with'];
4053
+ if (isString(alias)) {
4054
+ names.push([alias, value]);
4055
+ }
4056
+ else if (isString(this.file)) {
4057
+ names.push([this.file, value]);
4058
+ }
4059
+ }
4060
+ if (this['for']) {
4061
+ const { value, alias } = this['for'];
4062
+ if (isString(alias)) {
4063
+ names.push([alias, value]);
4064
+ }
4065
+ else if (isString(this.file)) {
4066
+ names.push([this.file, value]);
4067
+ }
4068
+ }
4069
+ return { name: this['file'], isolated: true, scope: names };
4070
+ }
4071
+ }
4072
+ *arguments() {
4073
+ for (const v of Object.values(this.hash.hash)) {
4074
+ if (isValueToken(v)) {
4075
+ yield v;
4076
+ }
4077
+ }
4078
+ if (this['with']) {
4079
+ const { value } = this['with'];
4080
+ if (isValueToken(value)) {
4081
+ yield value;
4082
+ }
4083
+ }
4084
+ if (this['for']) {
4085
+ const { value } = this['for'];
4086
+ if (isValueToken(value)) {
4087
+ yield value;
4088
+ }
4089
+ }
4090
+ }
4091
+ }
4092
+ /**
4093
+ * @return null for "none",
4094
+ * @return Template[] for quoted with tags and/or filters
4095
+ * @return Token for expression (not quoted)
4096
+ * @throws TypeError if cannot read next token
4097
+ */
4098
+ function parseFilePath(tokenizer, liquid, parser) {
4099
+ if (liquid.options.dynamicPartials) {
4100
+ const file = tokenizer.readValue();
4101
+ tokenizer.assert(file, 'illegal file path');
4102
+ if (file.getText() === 'none')
4103
+ return;
4104
+ if (isQuotedToken(file)) {
4105
+ // for filenames like "files/{{file}}", eval as liquid template
4106
+ const templates = parser.parse(evalQuotedToken(file));
4107
+ return optimize(templates);
4108
+ }
4109
+ return file;
4110
+ }
4111
+ const tokens = [...tokenizer.readFileNameTemplate(liquid.options)];
4112
+ const templates = optimize(parser.parseTokens(tokens));
4113
+ return templates === 'none' ? undefined : templates;
4114
+ }
4115
+ function optimize(templates) {
4116
+ // for filenames like "files/file.liquid", extract the string directly
4117
+ if (templates.length === 1 && isHTMLToken(templates[0].token))
4118
+ return templates[0].token.getContent();
4119
+ return templates;
4120
+ }
4121
+ function* renderFilePath(file, ctx, liquid) {
4122
+ if (typeof file === 'string')
4123
+ return file;
4124
+ if (Array.isArray(file))
4125
+ return liquid.renderer.renderTemplates(file, ctx);
4126
+ return yield evalToken(file, ctx);
4127
+ }
4128
+
4129
+ class IncludeTag extends Tag {
4130
+ constructor(token, remainTokens, liquid, parser) {
4131
+ super(token, remainTokens, liquid);
4132
+ const { tokenizer } = token;
4133
+ this['file'] = parseFilePath(tokenizer, this.liquid, parser);
4134
+ this['currentFile'] = token.file;
4135
+ const begin = tokenizer.p;
4136
+ const withStr = tokenizer.readIdentifier();
4137
+ if (withStr.content === 'with') {
4138
+ tokenizer.skipBlank();
4139
+ if (tokenizer.peek() !== ':') {
4140
+ this.withVar = tokenizer.readValue();
4141
+ }
4142
+ else
4143
+ tokenizer.p = begin;
4144
+ }
4145
+ else
4146
+ tokenizer.p = begin;
4147
+ this.hash = new Hash(tokenizer, liquid.options.jekyllInclude || liquid.options.keyValueSeparator);
4148
+ }
4149
+ *render(ctx, emitter) {
4150
+ const { liquid, hash, withVar } = this;
4151
+ const { renderer } = liquid;
4152
+ const filepath = (yield renderFilePath(this['file'], ctx, liquid));
4153
+ assert(filepath, () => `illegal file path "${filepath}"`);
4154
+ const saved = ctx.saveRegister('blocks', 'blockMode');
4155
+ ctx.setRegister('blocks', {});
4156
+ ctx.setRegister('blockMode', BlockMode.OUTPUT);
4157
+ const scope = (yield hash.render(ctx));
4158
+ if (withVar)
4159
+ scope[filepath] = yield evalToken(withVar, ctx);
4160
+ const templates = (yield liquid._parsePartialFile(filepath, ctx.sync, this['currentFile']));
4161
+ ctx.push(ctx.opts.jekyllInclude ? { include: scope } : scope);
4162
+ yield renderer.renderTemplates(templates, ctx, emitter);
4163
+ ctx.pop();
4164
+ ctx.restoreRegister(saved);
4165
+ }
4166
+ *children(partials, sync) {
4167
+ if (partials && isString(this['file'])) {
4168
+ return (yield this.liquid._parsePartialFile(this['file'], sync, this['currentFile']));
4169
+ }
4170
+ return [];
4171
+ }
4172
+ partialScope() {
4173
+ if (isString(this['file'])) {
4174
+ let names;
4175
+ if (this.liquid.options.jekyllInclude) {
4176
+ names = ['include'];
4177
+ }
4178
+ else {
4179
+ names = Object.keys(this.hash.hash);
4180
+ if (this.withVar) {
4181
+ names.push([this['file'], this.withVar]);
4182
+ }
4183
+ }
4184
+ return { name: this['file'], isolated: false, scope: names };
4185
+ }
4186
+ }
4187
+ *arguments() {
4188
+ yield* Object.values(this.hash.hash).filter(isValueToken);
4189
+ if (isValueToken(this['file'])) {
4190
+ yield this['file'];
4191
+ }
4192
+ if (isValueToken(this.withVar)) {
4193
+ yield this.withVar;
4194
+ }
4195
+ }
4196
+ }
4197
+
4198
+ class DecrementTag extends Tag {
4199
+ constructor(token, remainTokens, liquid) {
4200
+ super(token, remainTokens, liquid);
4201
+ this.identifier = this.tokenizer.readIdentifier();
4202
+ this.variable = this.identifier.content;
4203
+ }
4204
+ render(context, emitter) {
4205
+ const scope = context.environments;
4206
+ if (!isNumber(scope[this.variable])) {
4207
+ scope[this.variable] = 0;
4208
+ }
4209
+ emitter.write(stringify(--scope[this.variable]));
4210
+ }
4211
+ *localScope() {
4212
+ yield this.identifier;
4213
+ }
4214
+ }
4215
+
4216
+ class CycleTag extends Tag {
4217
+ constructor(token, remainTokens, liquid) {
4218
+ super(token, remainTokens, liquid);
4219
+ this.candidates = [];
4220
+ const group = this.tokenizer.readValue();
4221
+ this.tokenizer.skipBlank();
4222
+ if (group) {
4223
+ if (this.tokenizer.peek() === ':') {
4224
+ this.group = group;
4225
+ this.tokenizer.advance();
4226
+ }
4227
+ else
4228
+ this.candidates.push(group);
4229
+ }
4230
+ while (!this.tokenizer.end()) {
4231
+ const value = this.tokenizer.readValue();
4232
+ if (value)
4233
+ this.candidates.push(value);
4234
+ this.tokenizer.readTo(',');
4235
+ }
4236
+ this.tokenizer.assert(this.candidates.length, () => `empty candidates: "${token.getText()}"`);
4237
+ }
4238
+ *render(ctx, emitter) {
4239
+ const group = (yield evalToken(this.group, ctx));
4240
+ const fingerprint = `cycle:${group}:` + this.candidates.join(',');
4241
+ const groups = ctx.getRegister('cycle');
4242
+ let idx = groups[fingerprint];
4243
+ if (idx === undefined) {
4244
+ idx = groups[fingerprint] = 0;
4245
+ }
4246
+ const candidate = this.candidates[idx];
4247
+ idx = (idx + 1) % this.candidates.length;
4248
+ groups[fingerprint] = idx;
4249
+ return yield evalToken(candidate, ctx);
4250
+ }
4251
+ *arguments() {
4252
+ yield* this.candidates;
4253
+ if (this.group) {
4254
+ yield this.group;
4255
+ }
4256
+ }
4257
+ }
4258
+
4259
+ class IfTag extends Tag {
4260
+ constructor(tagToken, remainTokens, liquid, parser) {
4261
+ super(tagToken, remainTokens, liquid);
4262
+ this.branches = [];
4263
+ let p = [];
4264
+ parser.parseStream(remainTokens)
4265
+ .on('start', () => this.branches.push({
4266
+ value: new Value(tagToken.tokenizer.readFilteredValue(), this.liquid),
4267
+ templates: (p = [])
4268
+ }))
4269
+ .on('tag:elsif', (token) => {
4270
+ assert(!this.elseTemplates, 'unexpected elsif after else');
4271
+ this.branches.push({
4272
+ value: new Value(token.tokenizer.readFilteredValue(), this.liquid),
4273
+ templates: (p = [])
4274
+ });
4275
+ })
4276
+ .on('tag:else', tag => {
4277
+ assertEmpty(tag.args);
4278
+ assert(!this.elseTemplates, 'duplicated else');
4279
+ p = this.elseTemplates = [];
4280
+ })
4281
+ .on('tag:endif', function (tag) { assertEmpty(tag.args); this.stop(); })
4282
+ .on('template', (tpl) => p.push(tpl))
4283
+ .on('end', () => { throw new Error(`tag ${tagToken.getText()} not closed`); })
4284
+ .start();
4285
+ }
4286
+ *render(ctx, emitter) {
4287
+ const r = this.liquid.renderer;
4288
+ for (const { value, templates } of this.branches) {
4289
+ const v = yield value.value(ctx, ctx.opts.lenientIf);
4290
+ if (isTruthy(v, ctx)) {
4291
+ yield r.renderTemplates(templates, ctx, emitter);
4292
+ return;
4293
+ }
4294
+ }
4295
+ yield r.renderTemplates(this.elseTemplates || [], ctx, emitter);
4296
+ }
4297
+ *children() {
4298
+ const templates = this.branches.flatMap(b => b.templates);
4299
+ if (this.elseTemplates) {
4300
+ templates.push(...this.elseTemplates);
4301
+ }
4302
+ return templates;
4303
+ }
4304
+ arguments() {
4305
+ return this.branches.map(b => b.value);
4306
+ }
4307
+ }
4308
+
4309
+ class IncrementTag extends Tag {
4310
+ constructor(token, remainTokens, liquid) {
4311
+ super(token, remainTokens, liquid);
4312
+ this.identifier = this.tokenizer.readIdentifier();
4313
+ this.variable = this.identifier.content;
4314
+ }
4315
+ render(context, emitter) {
4316
+ const scope = context.environments;
4317
+ if (!isNumber(scope[this.variable])) {
4318
+ scope[this.variable] = 0;
4319
+ }
4320
+ const val = scope[this.variable];
4321
+ scope[this.variable]++;
4322
+ emitter.write(stringify(val));
4323
+ }
4324
+ *localScope() {
4325
+ yield this.identifier;
4326
+ }
4327
+ }
4328
+
4329
+ class LayoutTag extends Tag {
4330
+ constructor(token, remainTokens, liquid, parser) {
4331
+ super(token, remainTokens, liquid);
4332
+ this.file = parseFilePath(this.tokenizer, this.liquid, parser);
4333
+ this['currentFile'] = token.file;
4334
+ this.args = new Hash(this.tokenizer, liquid.options.keyValueSeparator);
4335
+ this.templates = parser.parseTokens(remainTokens);
4336
+ }
4337
+ *render(ctx, emitter) {
4338
+ const { liquid, args, file } = this;
4339
+ const { renderer } = liquid;
4340
+ if (file === undefined) {
4341
+ ctx.setRegister('blockMode', BlockMode.OUTPUT);
4342
+ yield renderer.renderTemplates(this.templates, ctx, emitter);
4343
+ return;
4344
+ }
4345
+ const filepath = (yield renderFilePath(this.file, ctx, liquid));
4346
+ assert(filepath, () => `illegal file path "${filepath}"`);
4347
+ const templates = (yield liquid._parseLayoutFile(filepath, ctx.sync, this['currentFile']));
4348
+ // render remaining contents and store rendered results
4349
+ ctx.setRegister('blockMode', BlockMode.STORE);
4350
+ const html = yield renderer.renderTemplates(this.templates, ctx);
4351
+ const blocks = ctx.getRegister('blocks');
4352
+ // set whole content to anonymous block if anonymous doesn't specified
4353
+ if (blocks[''] === undefined)
4354
+ blocks[''] = (parent, emitter) => emitter.write(html);
4355
+ ctx.setRegister('blockMode', BlockMode.OUTPUT);
4356
+ // render the layout file use stored blocks
4357
+ ctx.push((yield args.render(ctx)));
4358
+ yield renderer.renderTemplates(templates, ctx, emitter);
4359
+ ctx.pop();
4360
+ }
4361
+ *children(partials) {
4362
+ const templates = this.templates.slice();
4363
+ if (partials && isString(this.file)) {
4364
+ templates.push(...(yield this.liquid._parsePartialFile(this.file, true, this['currentFile'])));
4365
+ }
4366
+ return templates;
4367
+ }
4368
+ *arguments() {
4369
+ for (const v of Object.values(this.args.hash)) {
4370
+ if (isValueToken(v)) {
4371
+ yield v;
4372
+ }
4373
+ }
4374
+ if (isValueToken(this.file)) {
4375
+ yield this.file;
4376
+ }
4377
+ }
4378
+ partialScope() {
4379
+ if (isString(this.file)) {
4380
+ return { name: this.file, isolated: false, scope: Object.keys(this.args.hash) };
4381
+ }
4382
+ }
4383
+ }
4384
+
4385
+ class BlockTag extends Tag {
4386
+ constructor(token, remainTokens, liquid, parser) {
4387
+ super(token, remainTokens, liquid);
4388
+ this.templates = [];
4389
+ const match = /\w+/.exec(token.args);
4390
+ this.block = match ? match[0] : '';
4391
+ while (remainTokens.length) {
4392
+ const token = remainTokens.shift();
4393
+ if (isTagToken(token) && token.name === 'endblock')
4394
+ return;
4395
+ const template = parser.parseToken(token, remainTokens);
4396
+ this.templates.push(template);
4397
+ }
4398
+ throw new Error(`tag ${token.getText()} not closed`);
4399
+ }
4400
+ *render(ctx, emitter) {
4401
+ const blockRender = this.getBlockRender(ctx);
4402
+ if (ctx.getRegister('blockMode') === BlockMode.STORE) {
4403
+ ctx.getRegister('blocks')[this.block] = blockRender;
4404
+ }
4405
+ else {
4406
+ yield blockRender(new BlockDrop(), emitter);
4407
+ }
4408
+ }
4409
+ getBlockRender(ctx) {
4410
+ const { liquid, templates } = this;
4411
+ const renderChild = ctx.getRegister('blocks')[this.block];
4412
+ const renderCurrent = function* (superBlock, emitter) {
4413
+ // add {{ block.super }} support when rendering
4414
+ ctx.push({ block: superBlock });
4415
+ yield liquid.renderer.renderTemplates(templates, ctx, emitter);
4416
+ ctx.pop();
4417
+ };
4418
+ return renderChild
4419
+ ? (superBlock, emitter) => renderChild(new BlockDrop(() => renderCurrent(superBlock, emitter)), emitter)
4420
+ : renderCurrent;
4421
+ }
4422
+ *children() {
4423
+ return this.templates;
4424
+ }
4425
+ blockScope() {
4426
+ return ['block'];
4427
+ }
4428
+ }
4429
+
4430
+ class RawTag extends Tag {
4431
+ constructor(tagToken, remainTokens, liquid) {
4432
+ super(tagToken, remainTokens, liquid);
4433
+ this.tokens = [];
4434
+ while (remainTokens.length) {
4435
+ const token = remainTokens.shift();
4436
+ if (isTagToken(token) && token.name === 'endraw')
4437
+ return;
4438
+ this.tokens.push(token);
4439
+ }
4440
+ throw new Error(`tag ${tagToken.getText()} not closed`);
4441
+ }
4442
+ render() {
4443
+ return this.tokens.map((token) => token.getText()).join('');
4444
+ }
4445
+ }
4446
+
4447
+ class TablerowloopDrop extends ForloopDrop {
4448
+ constructor(length, cols, collection, variable) {
4449
+ super(length, collection, variable);
4450
+ this.length = length;
4451
+ this.cols = cols;
4452
+ }
4453
+ row() {
4454
+ return Math.floor(this.i / this.cols) + 1;
4455
+ }
4456
+ col0() {
4457
+ return (this.i % this.cols);
4458
+ }
4459
+ col() {
4460
+ return this.col0() + 1;
4461
+ }
4462
+ col_first() {
4463
+ return this.col0() === 0;
4464
+ }
4465
+ col_last() {
4466
+ return this.col() === this.cols;
4467
+ }
4468
+ }
4469
+
4470
+ class TablerowTag extends Tag {
4471
+ constructor(tagToken, remainTokens, liquid, parser) {
4472
+ super(tagToken, remainTokens, liquid);
4473
+ const variable = this.tokenizer.readIdentifier();
4474
+ this.tokenizer.skipBlank();
4475
+ const predicate = this.tokenizer.readIdentifier();
4476
+ const collectionToken = this.tokenizer.readValue();
4477
+ if (predicate.content !== 'in' || !collectionToken) {
4478
+ throw new Error(`illegal tag: ${tagToken.getText()}`);
4479
+ }
4480
+ this.variable = variable.content;
4481
+ this.collection = collectionToken;
4482
+ this.args = new Hash(this.tokenizer, liquid.options.keyValueSeparator);
4483
+ this.templates = [];
4484
+ let p;
4485
+ const stream = parser.parseStream(remainTokens)
4486
+ .on('start', () => (p = this.templates))
4487
+ .on('tag:endtablerow', () => stream.stop())
4488
+ .on('template', (tpl) => p.push(tpl))
4489
+ .on('end', () => {
4490
+ throw new Error(`tag ${tagToken.getText()} not closed`);
4491
+ });
4492
+ stream.start();
4493
+ }
4494
+ *render(ctx, emitter) {
4495
+ let collection = toEnumerable(yield evalToken(this.collection, ctx));
4496
+ const args = (yield this.args.render(ctx));
4497
+ const offset = args.offset || 0;
4498
+ const limit = (args.limit === undefined) ? collection.length : args.limit;
4499
+ collection = collection.slice(offset, offset + limit);
4500
+ const cols = args.cols || collection.length;
4501
+ const r = this.liquid.renderer;
4502
+ const tablerowloop = new TablerowloopDrop(collection.length, cols, this.collection.getText(), this.variable);
4503
+ const scope = { tablerowloop };
4504
+ ctx.push(scope);
4505
+ for (let idx = 0; idx < collection.length; idx++, tablerowloop.next()) {
4506
+ scope[this.variable] = collection[idx];
4507
+ if (tablerowloop.col0() === 0) {
4508
+ if (tablerowloop.row() !== 1)
4509
+ emitter.write('</tr>');
4510
+ emitter.write(`<tr class="row${tablerowloop.row()}">`);
4511
+ }
4512
+ emitter.write(`<td class="col${tablerowloop.col()}">`);
4513
+ yield r.renderTemplates(this.templates, ctx, emitter);
4514
+ emitter.write('</td>');
4515
+ }
4516
+ if (collection.length)
4517
+ emitter.write('</tr>');
4518
+ ctx.pop();
4519
+ }
4520
+ *children() {
4521
+ return this.templates;
4522
+ }
4523
+ *arguments() {
4524
+ yield this.collection;
4525
+ for (const v of Object.values(this.args.hash)) {
4526
+ if (isValueToken(v)) {
4527
+ yield v;
4528
+ }
4529
+ }
4530
+ }
4531
+ blockScope() {
4532
+ return [this.variable, 'tablerowloop'];
4533
+ }
4534
+ }
4535
+
4536
+ class UnlessTag extends Tag {
4537
+ constructor(tagToken, remainTokens, liquid, parser) {
4538
+ super(tagToken, remainTokens, liquid);
4539
+ this.branches = [];
4540
+ this.elseTemplates = [];
4541
+ let p = [];
4542
+ let elseCount = 0;
4543
+ parser.parseStream(remainTokens)
4544
+ .on('start', () => this.branches.push({
4545
+ value: new Value(tagToken.tokenizer.readFilteredValue(), this.liquid),
4546
+ test: isFalsy,
4547
+ templates: (p = [])
4548
+ }))
4549
+ .on('tag:elsif', (token) => {
4550
+ if (elseCount > 0) {
4551
+ p = [];
4552
+ return;
4553
+ }
4554
+ this.branches.push({
4555
+ value: new Value(token.tokenizer.readFilteredValue(), this.liquid),
4556
+ test: isTruthy,
4557
+ templates: (p = [])
4558
+ });
4559
+ })
4560
+ .on('tag:else', () => {
4561
+ elseCount++;
4562
+ p = this.elseTemplates;
4563
+ })
4564
+ .on('tag:endunless', function () { this.stop(); })
4565
+ .on('template', (tpl) => {
4566
+ if (p !== this.elseTemplates || elseCount === 1) {
4567
+ p.push(tpl);
4568
+ }
4569
+ })
4570
+ .on('end', () => { throw new Error(`tag ${tagToken.getText()} not closed`); })
4571
+ .start();
4572
+ }
4573
+ *render(ctx, emitter) {
4574
+ const r = this.liquid.renderer;
4575
+ for (const { value, test, templates } of this.branches) {
4576
+ const v = yield value.value(ctx, ctx.opts.lenientIf);
4577
+ if (test(v, ctx)) {
4578
+ yield r.renderTemplates(templates, ctx, emitter);
4579
+ return;
4580
+ }
4581
+ }
4582
+ yield r.renderTemplates(this.elseTemplates, ctx, emitter);
4583
+ }
4584
+ *children() {
4585
+ const children = this.branches.flatMap(b => b.templates);
4586
+ if (this.elseTemplates) {
4587
+ children.push(...this.elseTemplates);
4588
+ }
4589
+ return children;
4590
+ }
4591
+ arguments() {
4592
+ return this.branches.map(b => b.value);
4593
+ }
4594
+ }
4595
+
4596
+ class BreakTag extends Tag {
4597
+ render(ctx, _emitter) {
4598
+ ctx.breakCalled = true;
4599
+ }
4600
+ }
4601
+
4602
+ class ContinueTag extends Tag {
4603
+ render(ctx, _emitter) {
4604
+ ctx.continueCalled = true;
4605
+ }
4606
+ }
4607
+
4608
+ class EchoTag extends Tag {
4609
+ constructor(token, remainTokens, liquid) {
4610
+ super(token, remainTokens, liquid);
4611
+ this.tokenizer.skipBlank();
4612
+ if (!this.tokenizer.end()) {
4613
+ this.value = new Value(this.tokenizer.readFilteredValue(), this.liquid);
4614
+ }
4615
+ }
4616
+ *render(ctx, emitter) {
4617
+ if (!this.value)
4618
+ return;
4619
+ const val = yield this.value.value(ctx, false);
4620
+ emitter.write(val);
4621
+ }
4622
+ *arguments() {
4623
+ if (this.value) {
4624
+ yield this.value;
4625
+ }
4626
+ }
4627
+ }
4628
+
4629
+ class LiquidTag extends Tag {
4630
+ constructor(token, remainTokens, liquid, parser) {
4631
+ super(token, remainTokens, liquid);
4632
+ const tokens = this.tokenizer.readLiquidTagTokens(this.liquid.options);
4633
+ this.templates = parser.parseTokens(tokens);
4634
+ }
4635
+ *render(ctx, emitter) {
4636
+ yield this.liquid.renderer.renderTemplates(this.templates, ctx, emitter);
4637
+ }
4638
+ *children() {
4639
+ return this.templates;
4640
+ }
4641
+ }
4642
+
4643
+ class InlineCommentTag extends Tag {
4644
+ constructor(tagToken, remainTokens, liquid) {
4645
+ super(tagToken, remainTokens, liquid);
4646
+ if (tagToken.args.search(/\n\s*[^#\s]/g) !== -1) {
4647
+ throw new Error('every line of an inline comment must start with a \'#\' character');
4648
+ }
4649
+ }
4650
+ render() { }
4651
+ }
4652
+
4653
+ const tags = {
4654
+ assign: AssignTag,
4655
+ 'for': ForTag,
4656
+ capture: CaptureTag,
4657
+ 'case': CaseTag,
4658
+ comment: CommentTag,
4659
+ include: IncludeTag,
4660
+ render: RenderTag,
4661
+ decrement: DecrementTag,
4662
+ increment: IncrementTag,
4663
+ cycle: CycleTag,
4664
+ 'if': IfTag,
4665
+ layout: LayoutTag,
4666
+ block: BlockTag,
4667
+ raw: RawTag,
4668
+ tablerow: TablerowTag,
4669
+ unless: UnlessTag,
4670
+ 'break': BreakTag,
4671
+ 'continue': ContinueTag,
4672
+ echo: EchoTag,
4673
+ liquid: LiquidTag,
4674
+ '#': InlineCommentTag
4675
+ };
4676
+
4677
+ class Liquid {
4678
+ constructor(opts = {}) {
4679
+ this.renderer = new Render();
4680
+ this.filters = {};
4681
+ this.tags = {};
4682
+ this.options = normalize(opts);
4683
+ // eslint-disable-next-line deprecation/deprecation
4684
+ this.parser = new Parser(this);
4685
+ forOwn(tags, (conf, name) => this.registerTag(name, conf));
4686
+ forOwn(filters, (handler, name) => this.registerFilter(name, handler));
4687
+ }
4688
+ parse(html, filepath) {
4689
+ const parser = new Parser(this);
4690
+ return parser.parse(html, filepath);
4691
+ }
4692
+ _render(tpl, scope, renderOptions) {
4693
+ const ctx = scope instanceof Context ? scope : new Context(scope, this.options, renderOptions);
4694
+ return this.renderer.renderTemplates(tpl, ctx);
4695
+ }
4696
+ async render(tpl, scope, renderOptions) {
4697
+ return toPromise(this._render(tpl, scope, { ...renderOptions, sync: false }));
4698
+ }
4699
+ renderSync(tpl, scope, renderOptions) {
4700
+ return toValueSync(this._render(tpl, scope, { ...renderOptions, sync: true }));
4701
+ }
4702
+ renderToNodeStream(tpl, scope, renderOptions = {}) {
4703
+ const ctx = new Context(scope, this.options, renderOptions);
4704
+ return this.renderer.renderTemplatesToNodeStream(tpl, ctx);
4705
+ }
4706
+ _parseAndRender(html, scope, renderOptions) {
4707
+ const tpl = this.parse(html);
4708
+ return this._render(tpl, scope, renderOptions);
4709
+ }
4710
+ async parseAndRender(html, scope, renderOptions) {
4711
+ return toPromise(this._parseAndRender(html, scope, { ...renderOptions, sync: false }));
4712
+ }
4713
+ parseAndRenderSync(html, scope, renderOptions) {
4714
+ return toValueSync(this._parseAndRender(html, scope, { ...renderOptions, sync: true }));
4715
+ }
4716
+ _parsePartialFile(file, sync, currentFile) {
4717
+ return new Parser(this).parseFile(file, sync, LookupType.Partials, currentFile);
4718
+ }
4719
+ _parseLayoutFile(file, sync, currentFile) {
4720
+ return new Parser(this).parseFile(file, sync, LookupType.Layouts, currentFile);
4721
+ }
4722
+ _parseFile(file, sync, lookupType, currentFile) {
4723
+ return new Parser(this).parseFile(file, sync, lookupType, currentFile);
4724
+ }
4725
+ async parseFile(file, lookupType) {
4726
+ return toPromise(new Parser(this).parseFile(file, false, lookupType));
4727
+ }
4728
+ parseFileSync(file, lookupType) {
4729
+ return toValueSync(new Parser(this).parseFile(file, true, lookupType));
4730
+ }
4731
+ *_renderFile(file, ctx, renderFileOptions) {
4732
+ const templates = (yield this._parseFile(file, renderFileOptions.sync, renderFileOptions.lookupType));
4733
+ return yield this._render(templates, ctx, renderFileOptions);
4734
+ }
4735
+ async renderFile(file, ctx, renderFileOptions) {
4736
+ return toPromise(this._renderFile(file, ctx, { ...renderFileOptions, sync: false }));
4737
+ }
4738
+ renderFileSync(file, ctx, renderFileOptions) {
4739
+ return toValueSync(this._renderFile(file, ctx, { ...renderFileOptions, sync: true }));
4740
+ }
4741
+ async renderFileToNodeStream(file, scope, renderOptions) {
4742
+ const templates = await this.parseFile(file);
4743
+ return this.renderToNodeStream(templates, scope, renderOptions);
4744
+ }
4745
+ _evalValue(str, scope) {
4746
+ const value = new Value(str, this);
4747
+ const ctx = scope instanceof Context ? scope : new Context(scope, this.options);
4748
+ return value.value(ctx);
4749
+ }
4750
+ async evalValue(str, scope) {
4751
+ return toPromise(this._evalValue(str, scope));
4752
+ }
4753
+ evalValueSync(str, scope) {
4754
+ return toValueSync(this._evalValue(str, scope));
4755
+ }
4756
+ registerFilter(name, filter) {
4757
+ this.filters[name] = filter;
4758
+ }
4759
+ registerTag(name, tag) {
4760
+ this.tags[name] = isFunction(tag) ? tag : createTagClass(tag);
4761
+ }
4762
+ plugin(plugin) {
4763
+ return plugin.call(this, Liquid);
4764
+ }
4765
+ express() {
4766
+ const self = this; // eslint-disable-line
4767
+ let firstCall = true;
4768
+ return function (filePath, ctx, callback) {
4769
+ if (firstCall) {
4770
+ firstCall = false;
4771
+ const dirs = normalizeDirectoryList(this.root);
4772
+ self.options.root.unshift(...dirs);
4773
+ self.options.layouts.unshift(...dirs);
4774
+ self.options.partials.unshift(...dirs);
4775
+ }
4776
+ self.renderFile(filePath, ctx).then(html => callback(null, html), callback);
4777
+ };
4778
+ }
4779
+ async analyze(template, options = {}) {
4780
+ return analyze(template, options);
4781
+ }
4782
+ analyzeSync(template, options = {}) {
4783
+ return analyzeSync(template, options);
4784
+ }
4785
+ async parseAndAnalyze(html, filename, options = {}) {
4786
+ return analyze(this.parse(html, filename), options);
4787
+ }
4788
+ parseAndAnalyzeSync(html, filename, options = {}) {
4789
+ return analyzeSync(this.parse(html, filename), options);
4790
+ }
4791
+ /** Return an array of all variables without their properties. */
4792
+ async variables(template, options = {}) {
4793
+ const analysis = await analyze(isString(template) ? this.parse(template) : template, options);
4794
+ return Object.keys(analysis.variables);
4795
+ }
4796
+ /** Return an array of all variables without their properties. */
4797
+ variablesSync(template, options = {}) {
4798
+ const analysis = analyzeSync(isString(template) ? this.parse(template) : template, options);
4799
+ return Object.keys(analysis.variables);
4800
+ }
4801
+ /** Return an array of all variables including their properties/paths. */
4802
+ async fullVariables(template, options = {}) {
4803
+ const analysis = await analyze(isString(template) ? this.parse(template) : template, options);
4804
+ return Array.from(new Set(Object.values(analysis.variables).flatMap((a) => a.map((v) => String(v)))));
4805
+ }
4806
+ /** Return an array of all variables including their properties/paths. */
4807
+ fullVariablesSync(template, options = {}) {
4808
+ const analysis = analyzeSync(isString(template) ? this.parse(template) : template, options);
4809
+ return Array.from(new Set(Object.values(analysis.variables).flatMap((a) => a.map((v) => String(v)))));
4810
+ }
4811
+ /** Return an array of all variables, each as an array of properties/segments. */
4812
+ async variableSegments(template, options = {}) {
4813
+ const analysis = await analyze(isString(template) ? this.parse(template) : template, options);
4814
+ return Array.from(strictUniq(Object.values(analysis.variables).flatMap((a) => a.map((v) => v.toArray()))));
4815
+ }
4816
+ /** Return an array of all variables, each as an array of properties/segments. */
4817
+ variableSegmentsSync(template, options = {}) {
4818
+ const analysis = analyzeSync(isString(template) ? this.parse(template) : template, options);
4819
+ return Array.from(strictUniq(Object.values(analysis.variables).flatMap((a) => a.map((v) => v.toArray()))));
4820
+ }
4821
+ /** Return an array of all expected context variables without their properties. */
4822
+ async globalVariables(template, options = {}) {
4823
+ const analysis = await analyze(isString(template) ? this.parse(template) : template, options);
4824
+ return Object.keys(analysis.globals);
4825
+ }
4826
+ /** Return an array of all expected context variables without their properties. */
4827
+ globalVariablesSync(template, options = {}) {
4828
+ const analysis = analyzeSync(isString(template) ? this.parse(template) : template, options);
4829
+ return Object.keys(analysis.globals);
4830
+ }
4831
+ /** Return an array of all expected context variables including their properties/paths. */
4832
+ async globalFullVariables(template, options = {}) {
4833
+ const analysis = await analyze(isString(template) ? this.parse(template) : template, options);
4834
+ return Array.from(new Set(Object.values(analysis.globals).flatMap((a) => a.map((v) => String(v)))));
4835
+ }
4836
+ /** Return an array of all expected context variables including their properties/paths. */
4837
+ globalFullVariablesSync(template, options = {}) {
4838
+ const analysis = analyzeSync(isString(template) ? this.parse(template) : template, options);
4839
+ return Array.from(new Set(Object.values(analysis.globals).flatMap((a) => a.map((v) => String(v)))));
4840
+ }
4841
+ /** Return an array of all expected context variables, each as an array of properties/segments. */
4842
+ async globalVariableSegments(template, options = {}) {
4843
+ const analysis = await analyze(isString(template) ? this.parse(template) : template, options);
4844
+ return Array.from(strictUniq(Object.values(analysis.globals).flatMap((a) => a.map((v) => v.toArray()))));
4845
+ }
4846
+ /** Return an array of all expected context variables, each as an array of properties/segments. */
4847
+ globalVariableSegmentsSync(template, options = {}) {
4848
+ const analysis = analyzeSync(isString(template) ? this.parse(template) : template, options);
4849
+ return Array.from(strictUniq(Object.values(analysis.globals).flatMap((a) => a.map((v) => v.toArray()))));
4850
+ }
4851
+ }
4852
+
4853
+ /* istanbul ignore file */
4854
+ const version = '10.20.2';
4855
+
4856
+ exports.AssertionError = AssertionError;
4857
+ exports.AssignTag = AssignTag;
4858
+ exports.BlockTag = BlockTag;
4859
+ exports.BreakTag = BreakTag;
4860
+ exports.CaptureTag = CaptureTag;
4861
+ exports.CaseTag = CaseTag;
4862
+ exports.CommentTag = CommentTag;
4863
+ exports.Context = Context;
4864
+ exports.ContinueTag = ContinueTag;
4865
+ exports.CycleTag = CycleTag;
4866
+ exports.DecrementTag = DecrementTag;
4867
+ exports.Drop = Drop;
4868
+ exports.EchoTag = EchoTag;
4869
+ exports.Expression = Expression;
4870
+ exports.Filter = Filter;
4871
+ exports.ForTag = ForTag;
4872
+ exports.Hash = Hash;
4873
+ exports.IfTag = IfTag;
4874
+ exports.IncludeTag = IncludeTag;
4875
+ exports.IncrementTag = IncrementTag;
4876
+ exports.InlineCommentTag = InlineCommentTag;
4877
+ exports.LayoutTag = LayoutTag;
4878
+ exports.Liquid = Liquid;
4879
+ exports.LiquidError = LiquidError;
4880
+ exports.LiquidTag = LiquidTag;
4881
+ exports.Output = Output;
4882
+ exports.ParseError = ParseError;
4883
+ exports.ParseStream = ParseStream;
4884
+ exports.Parser = Parser;
4885
+ exports.RawTag = RawTag;
4886
+ exports.RenderError = RenderError;
4887
+ exports.RenderTag = RenderTag;
4888
+ exports.TablerowTag = TablerowTag;
4889
+ exports.Tag = Tag;
4890
+ exports.TagToken = TagToken;
4891
+ exports.Token = Token;
4892
+ exports.TokenizationError = TokenizationError;
4893
+ exports.Tokenizer = Tokenizer;
4894
+ exports.TypeGuards = typeGuards;
4895
+ exports.UndefinedVariableError = UndefinedVariableError;
4896
+ exports.UnlessTag = UnlessTag;
4897
+ exports.Value = Value;
4898
+ exports.Variable = Variable;
4899
+ exports.analyze = analyze;
4900
+ exports.analyzeSync = analyzeSync;
4901
+ exports.assert = assert;
4902
+ exports.createTrie = createTrie;
4903
+ exports.defaultOperators = defaultOperators;
4904
+ exports.defaultOptions = defaultOptions;
4905
+ exports.evalQuotedToken = evalQuotedToken;
4906
+ exports.evalToken = evalToken;
4907
+ exports.filters = filters;
4908
+ exports.isFalsy = isFalsy;
4909
+ exports.isTruthy = isTruthy;
4910
+ exports.tags = tags;
4911
+ exports.toPromise = toPromise;
4912
+ exports.toValue = toValue;
4913
+ exports.toValueSync = toValueSync;
4914
+ exports.version = version;