livemark 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +115 -4
- package/package.json +2 -1
- package/source/components/Article.tsx +32 -42
- package/source/content-collections.ts +10 -1
- package/source/models/article.ts +1 -0
- package/source/vite.config.ts +14 -6
- package/target/components/Article.js +45 -46
- package/target/content-collections.js +10 -2
- package/target/models/article.d.ts +1 -0
- package/target/models/article.js +1 -1
- package/target/vite.config.js +13 -7
- package/source/routeTree.gen.ts +0 -86
package/README.md
CHANGED
|
@@ -1,7 +1,118 @@
|
|
|
1
1
|
# Livemark
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
[](https://codecov.io/gh/datisthq/livemark)
|
|
5
|
-
[](https://www.npmjs.com/package/livemark)
|
|
3
|
+
Livemark turns plain Markdown into a fast, modern documentation site. Point it at a folder of `.md` files and it gives you a deployable React + Vite site with search, syntax highlighting, blog and changelog sections, dark mode, and a customizable component library — all built in.
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
## What you get
|
|
6
|
+
|
|
7
|
+
- 📝 **Just write Markdown.** GitHub-flavored Markdown works out of the box, with frontmatter, custom heading IDs, footnotes, definition lists, and gemoji.
|
|
8
|
+
- 🎨 **Beautiful code blocks.** Syntax highlighting via [Shiki](https://shiki.style/) with 100+ languages, dual light/dark themes, line highlights, diffs, and TwoSlash type hints.
|
|
9
|
+
- 📊 **Diagrams and math.** [Mermaid](https://mermaid.js.org/) flowcharts and KaTeX equations, theme-aware, zero config.
|
|
10
|
+
- 🧩 **Rich elements.** Callouts, tabs, file trees, cards, columns, badges, package tabs (npm/pnpm/yarn/bun), embeds (YouTube, SoundCloud), and more — all as Markdown directives or MDX components.
|
|
11
|
+
- 📚 **Sections.** First-class support for docs, blog (with tags + RSS), and changelog (local `CHANGELOG.md` or GitHub releases).
|
|
12
|
+
- 🔍 **Search.** Full-text search powered by [Orama](https://oramasearch.com/), keyboard shortcuts, smart table-of-contents.
|
|
13
|
+
- 🌗 **Themable.** Tailwind v4, shadcn-style primitives, dark mode, and per-file overrides via a `.livemark/` folder.
|
|
14
|
+
- ⚡ **Built on TanStack Start.** SSR, prerendering, sitemap, and routing for free.
|
|
15
|
+
|
|
16
|
+
## Quick start
|
|
17
|
+
|
|
18
|
+
You need [Node.js](https://nodejs.org/) 24+ and a package manager (pnpm, npm, yarn, or bun).
|
|
19
|
+
|
|
20
|
+
### Install
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install livemark
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Configure
|
|
27
|
+
|
|
28
|
+
Create `livemark.config.ts` at the root of your project:
|
|
29
|
+
|
|
30
|
+
```ts title="livemark.config.ts"
|
|
31
|
+
import { defineConfig } from "livemark"
|
|
32
|
+
|
|
33
|
+
export default defineConfig({
|
|
34
|
+
title: "My docs",
|
|
35
|
+
description: "Documentation for my project",
|
|
36
|
+
include: ["docs/**/*.md"],
|
|
37
|
+
})
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Add content
|
|
41
|
+
|
|
42
|
+
```text title="docs/"
|
|
43
|
+
docs/
|
|
44
|
+
├── getting-started.md
|
|
45
|
+
└── usage.md
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Each `.md` file supports frontmatter:
|
|
49
|
+
|
|
50
|
+
```md title="docs/getting-started.md"
|
|
51
|
+
---
|
|
52
|
+
title: Getting Started
|
|
53
|
+
description: Set up the project in five minutes.
|
|
54
|
+
icon: rocket
|
|
55
|
+
order: 1
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
# Getting Started
|
|
59
|
+
|
|
60
|
+
Welcome!
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Run
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npx livemark start # dev server with HMR at http://localhost:8000
|
|
67
|
+
npx livemark build # production build to .livemark/build/
|
|
68
|
+
npx livemark preview # serve the production build locally
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
That's the whole loop.
|
|
72
|
+
|
|
73
|
+
## Project structure
|
|
74
|
+
|
|
75
|
+
A typical Livemark site:
|
|
76
|
+
|
|
77
|
+
```text title="my-project/"
|
|
78
|
+
my-project/
|
|
79
|
+
├── livemark.config.ts # configuration
|
|
80
|
+
├── docs/ # markdown content
|
|
81
|
+
├── blog/ # blog posts (optional)
|
|
82
|
+
├── CHANGELOG.md # changelog source (optional)
|
|
83
|
+
└── .livemark/ # overrides + build cache (generated)
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Anything under `.livemark/components/`, `.livemark/elements/`, or `.livemark/styles/` shadows the Livemark default with the same path — so you can customize components, primitives, and base CSS without forking the package. Run `npx livemark escape <path>` to copy a default into `.livemark/` ready to edit.
|
|
87
|
+
|
|
88
|
+
## Customization
|
|
89
|
+
|
|
90
|
+
Livemark is meant to look great with zero configuration and stay out of your way when you need more. Common customizations:
|
|
91
|
+
|
|
92
|
+
- **Site metadata** — title, description, favicon, logo. See the [Site Metadata guide](https://livemark.dev/customization/site-metadata/).
|
|
93
|
+
- **Sections** — split content into Docs / Blog / Changelog with their own URL prefixes. See [Sections](https://livemark.dev/customization/sections/).
|
|
94
|
+
- **Navigation links** — header and sidebar links to anywhere. See [Navigation Links](https://livemark.dev/customization/navigation-links/).
|
|
95
|
+
- **Syntax themes** — Shiki theme per light/dark. See [Syntax Themes](https://livemark.dev/customization/syntax-themes/).
|
|
96
|
+
- **Content patches** — override a markdown file's frontmatter from `livemark.config.ts` without touching the file. See [Content Patches](https://livemark.dev/customization/content-patches/).
|
|
97
|
+
- **File overrides** — replace any built-in component or stylesheet from your project. See [File Overrides](https://livemark.dev/customization/file-overrides/).
|
|
98
|
+
- **Custom routes** — drop a `.tsx` file into `.livemark/routes/` to add a fully custom page. See [Custom Routes](https://livemark.dev/customization/custom-routes/).
|
|
99
|
+
|
|
100
|
+
## Documentation
|
|
101
|
+
|
|
102
|
+
Full documentation lives at **[livemark.dev](https://livemark.dev)**:
|
|
103
|
+
|
|
104
|
+
- [Markdown reference](https://livemark.dev/markdown/) — every Markdown / MDX feature with examples
|
|
105
|
+
- [Customization](https://livemark.dev/customization/) — every knob, with copy-pasteable snippets
|
|
106
|
+
- [Changelog](https://livemark.dev/changelog/) — release notes
|
|
107
|
+
- [Contributing](https://livemark.dev/contributing/) — local setup and PR flow
|
|
108
|
+
|
|
109
|
+
## Resources
|
|
110
|
+
|
|
111
|
+
- **npm**: [npmjs.com/package/livemark](https://www.npmjs.com/package/livemark)
|
|
112
|
+
- **GitHub**: [github.com/datisthq/livemark](https://github.com/datisthq/livemark)
|
|
113
|
+
- **Issues**: [github.com/datisthq/livemark/issues](https://github.com/datisthq/livemark/issues)
|
|
114
|
+
- **Discussions**: [github.com/datisthq/livemark/discussions](https://github.com/datisthq/livemark/discussions)
|
|
115
|
+
|
|
116
|
+
## License
|
|
117
|
+
|
|
118
|
+
MIT — see [LICENSE.md](LICENSE.md).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "livemark",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "Livemark description",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Evgeny Karev",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"files": [
|
|
12
12
|
"target",
|
|
13
13
|
"source",
|
|
14
|
+
"!source/routeTree.gen.ts",
|
|
14
15
|
"skills"
|
|
15
16
|
],
|
|
16
17
|
"type": "module",
|
|
@@ -57,47 +57,6 @@ export function Article(props: { article: ArticleView }) {
|
|
|
57
57
|
: []
|
|
58
58
|
const hasMeta = publishedDate || authors.length > 0 || lastUpdated
|
|
59
59
|
|
|
60
|
-
const H1 = (headingProps: React.HTMLAttributes<HTMLHeadingElement>) => (
|
|
61
|
-
<>
|
|
62
|
-
<h1 {...headingProps}>
|
|
63
|
-
{headingProps.id ? (
|
|
64
|
-
<a href={`#${headingProps.id}`}>{headingProps.children}</a>
|
|
65
|
-
) : (
|
|
66
|
-
headingProps.children
|
|
67
|
-
)}
|
|
68
|
-
</h1>
|
|
69
|
-
{hasMeta && (
|
|
70
|
-
<p className="flex flex-wrap items-center gap-x-3 gap-y-1 text-sm text-muted-foreground !-mt-4 !mb-6">
|
|
71
|
-
{authors.length > 0 && (
|
|
72
|
-
<span className="flex items-center gap-1.5">
|
|
73
|
-
<User className="size-3.5" />
|
|
74
|
-
{authors.join(", ")}
|
|
75
|
-
</span>
|
|
76
|
-
)}
|
|
77
|
-
{publishedDate && (
|
|
78
|
-
<span className="flex items-center gap-1.5">
|
|
79
|
-
<Calendar className="size-3.5" />
|
|
80
|
-
Published {publishedDate}
|
|
81
|
-
</span>
|
|
82
|
-
)}
|
|
83
|
-
{lastUpdated && (
|
|
84
|
-
<span className="flex items-center gap-1.5">
|
|
85
|
-
<History className="size-3.5" />
|
|
86
|
-
Updated {lastUpdated}
|
|
87
|
-
</span>
|
|
88
|
-
)}
|
|
89
|
-
</p>
|
|
90
|
-
)}
|
|
91
|
-
{article.image && (
|
|
92
|
-
<img
|
|
93
|
-
src={article.image}
|
|
94
|
-
alt=""
|
|
95
|
-
className="!mt-0 !mb-6 w-full rounded-xl border shadow-sm"
|
|
96
|
-
/>
|
|
97
|
-
)}
|
|
98
|
-
</>
|
|
99
|
-
)
|
|
100
|
-
|
|
101
60
|
return (
|
|
102
61
|
<TocContext.Provider value={article.tocItems}>
|
|
103
62
|
{article.toc !== false && (
|
|
@@ -113,6 +72,38 @@ export function Article(props: { article: ArticleView }) {
|
|
|
113
72
|
<div className="flex flex-1 gap-10 p-4 pt-8 md:p-10">
|
|
114
73
|
<div className="flex-1 min-w-0 mx-auto max-w-3xl">
|
|
115
74
|
<div className="prose dark:prose-invert max-w-none">
|
|
75
|
+
<h1 id="top">
|
|
76
|
+
<a href="#top">{article.title}</a>
|
|
77
|
+
</h1>
|
|
78
|
+
{hasMeta && (
|
|
79
|
+
<p className="flex flex-wrap items-center gap-x-3 gap-y-1 text-sm text-muted-foreground !-mt-4 !mb-6">
|
|
80
|
+
{authors.length > 0 && (
|
|
81
|
+
<span className="flex items-center gap-1.5">
|
|
82
|
+
<User className="size-3.5" />
|
|
83
|
+
{authors.join(", ")}
|
|
84
|
+
</span>
|
|
85
|
+
)}
|
|
86
|
+
{publishedDate && (
|
|
87
|
+
<span className="flex items-center gap-1.5">
|
|
88
|
+
<Calendar className="size-3.5" />
|
|
89
|
+
Published {publishedDate}
|
|
90
|
+
</span>
|
|
91
|
+
)}
|
|
92
|
+
{lastUpdated && (
|
|
93
|
+
<span className="flex items-center gap-1.5">
|
|
94
|
+
<History className="size-3.5" />
|
|
95
|
+
Updated {lastUpdated}
|
|
96
|
+
</span>
|
|
97
|
+
)}
|
|
98
|
+
</p>
|
|
99
|
+
)}
|
|
100
|
+
{article.image && (
|
|
101
|
+
<img
|
|
102
|
+
src={article.image}
|
|
103
|
+
alt=""
|
|
104
|
+
className="!mt-0 !mb-6 w-full rounded-xl border shadow-sm"
|
|
105
|
+
/>
|
|
106
|
+
)}
|
|
116
107
|
<MDXContent
|
|
117
108
|
code={article.mdx}
|
|
118
109
|
components={{
|
|
@@ -150,7 +141,6 @@ export function Article(props: { article: ArticleView }) {
|
|
|
150
141
|
SoundCloud,
|
|
151
142
|
YouTube,
|
|
152
143
|
...headingComponents,
|
|
153
|
-
h1: H1,
|
|
154
144
|
}}
|
|
155
145
|
/>
|
|
156
146
|
</div>
|
|
@@ -86,6 +86,10 @@ function getLastUpdated(filePath: string) {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
function stripLeadingH1(content: string) {
|
|
90
|
+
return content.replace(/^[ \t]*#\s+[^\n]*\n+/, "")
|
|
91
|
+
}
|
|
92
|
+
|
|
89
93
|
function extractTitle(content: string, path: string) {
|
|
90
94
|
const match = /^#\s+(.+)$/m.exec(content)
|
|
91
95
|
if (match) return match[1]!
|
|
@@ -111,9 +115,14 @@ const articles = defineCollection({
|
|
|
111
115
|
const title = doc.title ?? extractTitle(content, doc._meta.path)
|
|
112
116
|
const icon = doc.icon ?? pickDefaultIcon(doc._meta.path)
|
|
113
117
|
const path = doc.path ?? toPath(doc._meta.filePath)
|
|
118
|
+
// The article's h1 is rendered from `title` by the layout, so strip any
|
|
119
|
+
// leading h1 in the body to avoid two h1s side-by-side (especially when
|
|
120
|
+
// a content patch overrides the title to something different from the
|
|
121
|
+
// body's own heading).
|
|
122
|
+
const bodyContent = stripLeadingH1(content)
|
|
114
123
|
const mdx = await compileMDX(
|
|
115
124
|
context,
|
|
116
|
-
{ ...doc, content },
|
|
125
|
+
{ ...doc, content: bodyContent },
|
|
117
126
|
{
|
|
118
127
|
remarkPlugins: [
|
|
119
128
|
remarkGfm,
|
package/source/models/article.ts
CHANGED
package/source/vite.config.ts
CHANGED
|
@@ -19,8 +19,8 @@ import { OVERRIDE_SUBDIRS } from "./settings.ts"
|
|
|
19
19
|
import { livemark } from "./plugins/vite-livemark.ts"
|
|
20
20
|
|
|
21
21
|
const config = await loadConfig()
|
|
22
|
-
const
|
|
23
|
-
const
|
|
22
|
+
const sourceDir = import.meta.dirname
|
|
23
|
+
const sourceRelative = relative(config.root, sourceDir)
|
|
24
24
|
const overridesRoot = join(config.root, ".livemark")
|
|
25
25
|
|
|
26
26
|
// Seed `.livemark/.gitignore` on first run so Vite's build/cache artifacts
|
|
@@ -33,7 +33,15 @@ if (!existsSync(gitignorePath)) {
|
|
|
33
33
|
|
|
34
34
|
const routeChildren: VirtualRouteNode[] = [route("/$", "$.tsx")]
|
|
35
35
|
if (existsSync(join(overridesRoot, "routes"))) {
|
|
36
|
-
|
|
36
|
+
// physical(dir) resolves `dir` relative to the routes directory
|
|
37
|
+
// (`srcDirectory/routes`). A hardcoded "../../.livemark/routes" only
|
|
38
|
+
// works when source/ sits one level under config.root — it lands at
|
|
39
|
+
// node_modules/.livemark/routes once livemark is installed. Compute
|
|
40
|
+
// the path dynamically from the consumer's actual layout.
|
|
41
|
+
const routesDir = join(sourceDir, "routes")
|
|
42
|
+
routeChildren.push(
|
|
43
|
+
physical(relative(routesDir, join(overridesRoot, "routes"))),
|
|
44
|
+
)
|
|
37
45
|
}
|
|
38
46
|
|
|
39
47
|
export default defineConfig({
|
|
@@ -45,7 +53,7 @@ export default defineConfig({
|
|
|
45
53
|
},
|
|
46
54
|
plugins: [
|
|
47
55
|
livemark({
|
|
48
|
-
defaultsRoot:
|
|
56
|
+
defaultsRoot: sourceDir,
|
|
49
57
|
overridesRoot,
|
|
50
58
|
subdirs: [...OVERRIDE_SUBDIRS],
|
|
51
59
|
configPath: config.configPath,
|
|
@@ -53,10 +61,10 @@ export default defineConfig({
|
|
|
53
61
|
devtools(),
|
|
54
62
|
tailwind(),
|
|
55
63
|
contentCollections({
|
|
56
|
-
configPath: join(
|
|
64
|
+
configPath: join(sourceRelative, "content-collections.ts"),
|
|
57
65
|
}),
|
|
58
66
|
tanstackStart({
|
|
59
|
-
srcDirectory:
|
|
67
|
+
srcDirectory: sourceRelative,
|
|
60
68
|
pages: [{ path: "/" }],
|
|
61
69
|
prerender: { enabled: true, crawlLinks: true },
|
|
62
70
|
sitemap: config.site
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { MDXContent } from "@content-collections/mdx/react";
|
|
3
3
|
import { Calendar, History, User } from "lucide-react";
|
|
4
4
|
import { TocContext } from "../helpers/toc-context.js";
|
|
@@ -44,52 +44,51 @@ export function Article(props) {
|
|
|
44
44
|
: [article.author]
|
|
45
45
|
: [];
|
|
46
46
|
const hasMeta = publishedDate || authors.length > 0 || lastUpdated;
|
|
47
|
-
const H1 = (headingProps) => (_jsxs(_Fragment, { children: [
|
|
48
|
-
_jsx("h1", { ...headingProps, children: headingProps.id ? (_jsx("a", { href: `#${headingProps.id}`, children: headingProps.children })) : (headingProps.children) }), hasMeta && (_jsxs("p", { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-sm text-muted-foreground !-mt-4 !mb-6", children: [authors.length > 0 && (_jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
49
|
-
_jsx(User, { className: "size-3.5" }), authors.join(", ")] })), publishedDate && (_jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
50
|
-
_jsx(Calendar, { className: "size-3.5" }),
|
|
51
|
-
"Published ", publishedDate] })), lastUpdated && (_jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
52
|
-
_jsx(History, { className: "size-3.5" }),
|
|
53
|
-
"Updated ", lastUpdated] }))] })), article.image && (_jsx("img", { src: article.image, alt: "", className: "!mt-0 !mb-6 w-full rounded-xl border shadow-sm" }))] }));
|
|
54
47
|
return (_jsxs(TocContext.Provider, { value: article.tocItems, children: [article.toc !== false && (_jsx(MobileToc, { items: article.tocItems, children: _jsx(PageToolbar, { file: article.file, sourceUrl: article.sourceUrl, sourceAction: article.sourceAction, content: article.content }) })), _jsxs("div", { className: "flex flex-1 gap-10 p-4 pt-8 md:p-10", children: [
|
|
55
48
|
_jsxs("div", { className: "flex-1 min-w-0 mx-auto max-w-3xl", children: [
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
49
|
+
_jsxs("div", { className: "prose dark:prose-invert max-w-none", children: [
|
|
50
|
+
_jsx("h1", { id: "top", children: _jsx("a", { href: "#top", children: article.title }) }), hasMeta && (_jsxs("p", { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-sm text-muted-foreground !-mt-4 !mb-6", children: [authors.length > 0 && (_jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
51
|
+
_jsx(User, { className: "size-3.5" }), authors.join(", ")] })), publishedDate && (_jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
52
|
+
_jsx(Calendar, { className: "size-3.5" }),
|
|
53
|
+
"Published ", publishedDate] })), lastUpdated && (_jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
54
|
+
_jsx(History, { className: "size-3.5" }),
|
|
55
|
+
"Updated ", lastUpdated] }))] })), article.image && (_jsx("img", { src: article.image, alt: "", className: "!mt-0 !mb-6 w-full rounded-xl border shadow-sm" })), _jsx(MDXContent, { code: article.mdx, components: {
|
|
56
|
+
hr: Separator,
|
|
57
|
+
img: ZoomImage,
|
|
58
|
+
pre: CodeBlock,
|
|
59
|
+
table: SortableTable,
|
|
60
|
+
thead: TableHeader,
|
|
61
|
+
tbody: TableBody,
|
|
62
|
+
tr: TableRow,
|
|
63
|
+
th: TableHead,
|
|
64
|
+
td: TableCell,
|
|
65
|
+
a: FootnoteRef,
|
|
66
|
+
Abbr,
|
|
67
|
+
AnsiCode,
|
|
68
|
+
Callout,
|
|
69
|
+
Card,
|
|
70
|
+
Cards,
|
|
71
|
+
Column,
|
|
72
|
+
Columns,
|
|
73
|
+
CodeTabs,
|
|
74
|
+
ContentTab,
|
|
75
|
+
ContentTabs,
|
|
76
|
+
DefinitionDetail,
|
|
77
|
+
DefinitionList,
|
|
78
|
+
DefinitionTerm,
|
|
79
|
+
Details,
|
|
80
|
+
FileTree,
|
|
81
|
+
InlineBadge,
|
|
82
|
+
InlineIcon,
|
|
83
|
+
InlineToc,
|
|
84
|
+
LinkButton,
|
|
85
|
+
Mermaid,
|
|
86
|
+
PackageTabs,
|
|
87
|
+
SoundCloud,
|
|
88
|
+
YouTube,
|
|
89
|
+
...headingComponents,
|
|
90
|
+
} })
|
|
91
|
+
] }), _jsx(PrevNext, { path: article.path }), _jsx(Footer, {})
|
|
93
92
|
] }), article.toc !== false && (_jsx(Toc, { items: article.tocItems, children: _jsx(PageToolbar, { file: article.file, sourceUrl: article.sourceUrl, sourceAction: article.sourceAction, content: article.content }) }))] })
|
|
94
93
|
] }));
|
|
95
94
|
}
|
|
@@ -102,4 +101,4 @@ function formatDate(iso) {
|
|
|
102
101
|
day: "numeric",
|
|
103
102
|
});
|
|
104
103
|
}
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9jb21wb25lbnRzL0FydGljbGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBWSxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFlLENBQUE7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVksQ0FBQTtBQUNqQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBYSxDQUFBO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZ0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYyxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFlLENBQUE7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBbUIsQ0FBQTtBQUMvQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxjQUFjLEdBQ2YsTUFBTSxxQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBZSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVB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STt3Q0FDSixLQUFLO3dDQUNMLE1BQU07d0NBQ04sT0FBTzt3Q0FDUCxRQUFRO3dDQUNSLFVBQVU7d0NBQ1YsV0FBVzt3Q0FDWCxnQkFBZ0I7d0NBQ2hCLGNBQWM7d0NBQ2QsY0FBYzt3Q0FDZCxPQUFPO3dDQUNQLFFBQVE7d0NBQ1IsV0FBVzt3Q0FDWCxVQUFVO3dDQUNWLFNBQVM7d0NBQ1QsVUFBVTt3Q0FDVixPQUFPO3dDQUNQLFdBQVc7d0NBQ1gsVUFBVTt3Q0FDVixPQUFPO3dDQUNQLEdBQUcsaUJBQWlCO3dDQUNwQixFQUFFLEVBQUUsRUFBRTtxQ0FDUCxHQUNELEdBQ0UsRUFDTixLQUFDLFFBQVEsSUFBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksR0FBSSxFQUNoQyxLQUFDLE1BQU0sS0FBRzs0QkFDTixFQUNMLE9BQU8sQ0FBQyxHQUFHLEtBQUssS0FBSyxJQUFJLENBQ3hCLEtBQUMsR0FBRyxJQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxZQUMxQixLQUFDLFdBQVcsSUFDVixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFDbEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQzVCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWSxFQUNsQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sR0FDeEIsR0FDRSxDQUNQLElBQ0c7WUFDYyxDQUN2QixDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEdBQVk7SUFDOUIsSUFBSSxDQUFDLEdBQUc7UUFBRSxPQUFPLFNBQVMsQ0FBQTtJQUMxQixPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRTtRQUMvQyxJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxPQUFPO1FBQ2QsR0FBRyxFQUFFLFNBQVM7S0FDZixDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTURYQ29udGVudCB9IGZyb20gXCJAY29udGVudC1jb2xsZWN0aW9ucy9tZHgvcmVhY3RcIlxuaW1wb3J0IHsgQ2FsZW5kYXIsIEhpc3RvcnksIFVzZXIgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcbmltcG9ydCB0eXBlIHsgQXJ0aWNsZVZpZXcgfSBmcm9tIFwiLi4vbW9kZWxzL2FydGljbGUudHNcIlxuaW1wb3J0IHsgVG9jQ29udGV4dCB9IGZyb20gXCIuLi9oZWxwZXJzL3RvYy1jb250ZXh0LnRzXCJcbmltcG9ydCB7IEFiYnIgfSBmcm9tIFwiLi9BYmJyLnRzeFwiXG5pbXBvcnQgeyBBbnNpQ29kZSB9IGZyb20gXCIuL0Fuc2lDb2RlLnRzeFwiXG5pbXBvcnQgeyBDYWxsb3V0IH0gZnJvbSBcIi4vQ2FsbG91dC50c3hcIlxuaW1wb3J0IHsgQ2FyZCB9IGZyb20gXCIuL0NhcmQudHN4XCJcbmltcG9ydCB7IENhcmRzIH0gZnJvbSBcIi4vQ2FyZHMudHN4XCJcbmltcG9ydCB7IENvZGVCbG9jayB9IGZyb20gXCIuL0NvZGVCbG9jay50c3hcIlxuaW1wb3J0IHsgQ29kZVRhYnMgfSBmcm9tIFwiLi9Db2RlVGFicy50c3hcIlxuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSBcIi4vQ29sdW1uLnRzeFwiXG5pbXBvcnQgeyBDb2x1bW5zIH0gZnJvbSBcIi4vQ29sdW1ucy50c3hcIlxuaW1wb3J0IHsgQ29udGVudFRhYiB9IGZyb20gXCIuL0NvbnRlbnRUYWIudHN4XCJcbmltcG9ydCB7IENvbnRlbnRUYWJzIH0gZnJvbSBcIi4vQ29udGVudFRhYnMudHN4XCJcbmltcG9ydCB7XG4gIERlZmluaXRpb25EZXRhaWwsXG4gIERlZmluaXRpb25MaXN0LFxuICBEZWZpbml0aW9uVGVybSxcbn0gZnJvbSBcIi4vRGVmaW5pdGlvbkxpc3QudHN4XCJcbmltcG9ydCB7IERldGFpbHMgfSBmcm9tIFwiLi9EZXRhaWxzLnRzeFwiXG5pbXBvcnQgeyBGaWxlVHJlZSB9IGZyb20gXCIuL0ZpbGVUcmVlLnRzeFwiXG5pbXBvcnQgeyBGb290ZXIgfSBmcm9tIFwiLi9Gb290ZXIudHN4XCJcbmltcG9ydCB7IEZvb3Rub3RlUmVmIH0gZnJvbSBcIi4vRm9vdG5vdGVSZWYudHN4XCJcbmltcG9ydCB7IGhlYWRpbmdDb21wb25lbnRzIH0gZnJvbSBcIi4vSGVhZGluZy50c3hcIlxuaW1wb3J0IHsgSW5saW5lQmFkZ2UgfSBmcm9tIFwiLi9JbmxpbmVCYWRnZS50c3hcIlxuaW1wb3J0IHsgSW5saW5lSWNvbiB9IGZyb20gXCIuL0lubGluZUljb24udHN4XCJcbmltcG9ydCB7IElubGluZVRvYyB9IGZyb20gXCIuL0lubGluZVRvYy50c3hcIlxuaW1wb3J0IHsgTGlua0J1dHRvbiB9IGZyb20gXCIuL0xpbmtCdXR0b24udHN4XCJcbmltcG9ydCB7IE1lcm1haWQgfSBmcm9tIFwiLi9NZXJtYWlkLnRzeFwiXG5pbXBvcnQgeyBQYWNrYWdlVGFicyB9IGZyb20gXCIuL1BhY2thZ2VUYWJzLnRzeFwiXG5pbXBvcnQgeyBQYWdlVG9vbGJhciB9IGZyb20gXCIuL1BhZ2VUb29sYmFyLnRzeFwiXG5pbXBvcnQgeyBQcmV2TmV4dCB9IGZyb20gXCIuL1ByZXZOZXh0LnRzeFwiXG5pbXBvcnQge1xuICBTb3J0YWJsZVRhYmxlLFxuICBUYWJsZUJvZHksXG4gIFRhYmxlQ2VsbCxcbiAgVGFibGVIZWFkLFxuICBUYWJsZUhlYWRlcixcbiAgVGFibGVSb3csXG59IGZyb20gXCIuL1NvcnRhYmxlVGFibGUudHN4XCJcbmltcG9ydCB7IFNvdW5kQ2xvdWQgfSBmcm9tIFwiLi9Tb3VuZENsb3VkLnRzeFwiXG5pbXBvcnQgeyBNb2JpbGVUb2MsIFRvYyB9IGZyb20gXCIuL1RvYy50c3hcIlxuaW1wb3J0IHsgWW91VHViZSB9IGZyb20gXCIuL1lvdVR1YmUudHN4XCJcbmltcG9ydCB7IFpvb21JbWFnZSB9IGZyb20gXCIuL1pvb21JbWFnZS50c3hcIlxuaW1wb3J0IHsgU2VwYXJhdG9yIH0gZnJvbSBcIi4uL2VsZW1lbnRzL3NlcGFyYXRvci50c3hcIlxuXG4vKiogRnVsbC1wYWdlIGFydGljbGUgbGF5b3V0OiBNRFggY29udGVudCwgdGFibGUgb2YgY29udGVudHMsIHRvb2xiYXIsIHByZXYvbmV4dCwgZm9vdGVyICovXG5leHBvcnQgZnVuY3Rpb24gQXJ0aWNsZShwcm9wczogeyBhcnRpY2xlOiBBcnRpY2xlVmlldyB9KSB7XG4gIGNvbnN0IHsgYXJ0aWNsZSB9ID0gcHJvcHNcbiAgY29uc3QgbGFzdFVwZGF0ZWQgPSBmb3JtYXREYXRlKGFydGljbGUubGFzdFVwZGF0ZWQpXG4gIGNvbnN0IHB1Ymxpc2hlZERhdGUgPSBmb3JtYXREYXRlKGFydGljbGUuZGF0ZSlcbiAgY29uc3QgYXV0aG9ycyA9IGFydGljbGUuYXV0aG9yXG4gICAgPyBBcnJheS5pc0FycmF5KGFydGljbGUuYXV0aG9yKVxuICAgICAgPyBhcnRpY2xlLmF1dGhvclxuICAgICAgOiBbYXJ0aWNsZS5hdXRob3JdXG4gICAgOiBbXVxuICBjb25zdCBoYXNNZXRhID0gcHVibGlzaGVkRGF0ZSB8fCBhdXRob3JzLmxlbmd0aCA+IDAgfHwgbGFzdFVwZGF0ZWRcblxuICBjb25zdCBIMSA9IChoZWFkaW5nUHJvcHM6IFJlYWN0LkhUTUxBdHRyaWJ1dGVzPEhUTUxIZWFkaW5nRWxlbWVudD4pID0+IChcbiAgICA8PlxuICAgICAgPGgxIHsuLi5oZWFkaW5nUHJvcHN9PlxuICAgICAgICB7aGVhZGluZ1Byb3BzLmlkID8gKFxuICAgICAgICAgIDxhIGhyZWY9e2AjJHtoZWFkaW5nUHJvcHMuaWR9YH0+e2hlYWRpbmdQcm9wcy5jaGlsZHJlbn08L2E+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgaGVhZGluZ1Byb3BzLmNoaWxkcmVuXG4gICAgICAgICl9XG4gICAgICA8L2gxPlxuICAgICAge2hhc01ldGEgJiYgKFxuICAgICAgICA8cCBjbGFzc05hbWU9XCJmbGV4IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLXgtMyBnYXAteS0xIHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kICEtbXQtNCAhbWItNlwiPlxuICAgICAgICAgIHthdXRob3JzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNVwiPlxuICAgICAgICAgICAgICA8VXNlciBjbGFzc05hbWU9XCJzaXplLTMuNVwiIC8+XG4gICAgICAgICAgICAgIHthdXRob3JzLmpvaW4oXCIsIFwiKX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtwdWJsaXNoZWREYXRlICYmIChcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjVcIj5cbiAgICAgICAgICAgICAgPENhbGVuZGFyIGNsYXNzTmFtZT1cInNpemUtMy41XCIgLz5cbiAgICAgICAgICAgICAgUHVibGlzaGVkIHtwdWJsaXNoZWREYXRlfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICl9XG4gICAgICAgICAge2xhc3RVcGRhdGVkICYmIChcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjVcIj5cbiAgICAgICAgICAgICAgPEhpc3RvcnkgY2xhc3NOYW1lPVwic2l6ZS0zLjVcIiAvPlxuICAgICAgICAgICAgICBVcGRhdGVkIHtsYXN0VXBkYXRlZH1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICApfVxuICAgICAgICA8L3A+XG4gICAgICApfVxuICAgICAge2FydGljbGUuaW1hZ2UgJiYgKFxuICAgICAgICA8aW1nXG4gICAgICAgICAgc3JjPXthcnRpY2xlLmltYWdlfVxuICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwiIW10LTAgIW1iLTYgdy1mdWxsIHJvdW5kZWQteGwgYm9yZGVyIHNoYWRvdy1zbVwiXG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvPlxuICApXG5cbiAgcmV0dXJuIChcbiAgICA8VG9jQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17YXJ0aWNsZS50b2NJdGVtc30+XG4gICAgICB7YXJ0aWNsZS50b2MgIT09IGZhbHNlICYmIChcbiAgICAgICAgPE1vYmlsZVRvYyBpdGVtcz17YXJ0aWNsZS50b2NJdGVtc30+XG4gICAgICAgICAgPFBhZ2VUb29sYmFyXG4gICAgICAgICAgICBmaWxlPXthcnRpY2xlLmZpbGV9XG4gICAgICAgICAgICBzb3VyY2VVcmw9e2FydGljbGUuc291cmNlVXJsfVxuICAgICAgICAgICAgc291cmNlQWN0aW9uPXthcnRpY2xlLnNvdXJjZUFjdGlvbn1cbiAgICAgICAgICAgIGNvbnRlbnQ9e2FydGljbGUuY29udGVudH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L01vYmlsZVRvYz5cbiAgICAgICl9XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC0xIGdhcC0xMCBwLTQgcHQtOCBtZDpwLTEwXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIG1pbi13LTAgbXgtYXV0byBtYXgtdy0zeGxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInByb3NlIGRhcms6cHJvc2UtaW52ZXJ0IG1heC13LW5vbmVcIj5cbiAgICAgICAgICAgIDxNRFhDb250ZW50XG4gICAgICAgICAgICAgIGNvZGU9e2FydGljbGUubWR4fVxuICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgaHI6IFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICBpbWc6IFpvb21JbWFnZSxcbiAgICAgICAgICAgICAgICBwcmU6IENvZGVCbG9jayxcbiAgICAgICAgICAgICAgICB0YWJsZTogU29ydGFibGVUYWJsZSxcbiAgICAgICAgICAgICAgICB0aGVhZDogVGFibGVIZWFkZXIsXG4gICAgICAgICAgICAgICAgdGJvZHk6IFRhYmxlQm9keSxcbiAgICAgICAgICAgICAgICB0cjogVGFibGVSb3csXG4gICAgICAgICAgICAgICAgdGg6IFRhYmxlSGVhZCxcbiAgICAgICAgICAgICAgICB0ZDogVGFibGVDZWxsLFxuICAgICAgICAgICAgICAgIGE6IEZvb3Rub3RlUmVmLFxuICAgICAgICAgICAgICAgIEFiYnIsXG4gICAgICAgICAgICAgICAgQW5zaUNvZGUsXG4gICAgICAgICAgICAgICAgQ2FsbG91dCxcbiAgICAgICAgICAgICAgICBDYXJkLFxuICAgICAgICAgICAgICAgIENhcmRzLFxuICAgICAgICAgICAgICAgIENvbHVtbixcbiAgICAgICAgICAgICAgICBDb2x1bW5zLFxuICAgICAgICAgICAgICAgIENvZGVUYWJzLFxuICAgICAgICAgICAgICAgIENvbnRlbnRUYWIsXG4gICAgICAgICAgICAgICAgQ29udGVudFRhYnMsXG4gICAgICAgICAgICAgICAgRGVmaW5pdGlvbkRldGFpbCxcbiAgICAgICAgICAgICAgICBEZWZpbml0aW9uTGlzdCxcbiAgICAgICAgICAgICAgICBEZWZpbml0aW9uVGVybSxcbiAgICAgICAgICAgICAgICBEZXRhaWxzLFxuICAgICAgICAgICAgICAgIEZpbGVUcmVlLFxuICAgICAgICAgICAgICAgIElubGluZUJhZGdlLFxuICAgICAgICAgICAgICAgIElubGluZUljb24sXG4gICAgICAgICAgICAgICAgSW5saW5lVG9jLFxuICAgICAgICAgICAgICAgIExpbmtCdXR0b24sXG4gICAgICAgICAgICAgICAgTWVybWFpZCxcbiAgICAgICAgICAgICAgICBQYWNrYWdlVGFicyxcbiAgICAgICAgICAgICAgICBTb3VuZENsb3VkLFxuICAgICAgICAgICAgICAgIFlvdVR1YmUsXG4gICAgICAgICAgICAgICAgLi4uaGVhZGluZ0NvbXBvbmVudHMsXG4gICAgICAgICAgICAgICAgaDE6IEgxLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8UHJldk5leHQgcGF0aD17YXJ0aWNsZS5wYXRofSAvPlxuICAgICAgICAgIDxGb290ZXIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIHthcnRpY2xlLnRvYyAhPT0gZmFsc2UgJiYgKFxuICAgICAgICAgIDxUb2MgaXRlbXM9e2FydGljbGUudG9jSXRlbXN9PlxuICAgICAgICAgICAgPFBhZ2VUb29sYmFyXG4gICAgICAgICAgICAgIGZpbGU9e2FydGljbGUuZmlsZX1cbiAgICAgICAgICAgICAgc291cmNlVXJsPXthcnRpY2xlLnNvdXJjZVVybH1cbiAgICAgICAgICAgICAgc291cmNlQWN0aW9uPXthcnRpY2xlLnNvdXJjZUFjdGlvbn1cbiAgICAgICAgICAgICAgY29udGVudD17YXJ0aWNsZS5jb250ZW50fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1RvYz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvVG9jQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5mdW5jdGlvbiBmb3JtYXREYXRlKGlzbz86IHN0cmluZykge1xuICBpZiAoIWlzbykgcmV0dXJuIHVuZGVmaW5lZFxuICByZXR1cm4gbmV3IERhdGUoaXNvKS50b0xvY2FsZURhdGVTdHJpbmcoXCJlbi1VU1wiLCB7XG4gICAgeWVhcjogXCJudW1lcmljXCIsXG4gICAgbW9udGg6IFwic2hvcnRcIixcbiAgICBkYXk6IFwibnVtZXJpY1wiLFxuICB9KVxufVxuIl19
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9jb21wb25lbnRzL0FydGljbGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBWSxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFlLENBQUE7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVksQ0FBQTtBQUNqQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBYSxDQUFBO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZ0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYyxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFlLENBQUE7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBbUIsQ0FBQTtBQUMvQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxjQUFjLEdBQ2YsTUFBTSxxQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBZSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVB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Q0FDVCxVQUFVOzRDQUNWLE9BQU87NENBQ1AsV0FBVzs0Q0FDWCxVQUFVOzRDQUNWLE9BQU87NENBQ1AsR0FBRyxpQkFBaUI7eUNBQ3JCLEdBQ0Q7b0NBQ0UsRUFDTixLQUFDLFFBQVEsSUFBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksR0FBSSxFQUNoQyxLQUFDLE1BQU0sS0FBRzs0QkFDTixFQUNMLE9BQU8sQ0FBQyxHQUFHLEtBQUssS0FBSyxJQUFJLENBQ3hCLEtBQUMsR0FBRyxJQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxZQUMxQixLQUFDLFdBQVcsSUFDVixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFDbEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQzVCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWSxFQUNsQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sR0FDeEIsR0FDRSxDQUNQLElBQ0c7WUFDYyxDQUN2QixDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEdBQVk7SUFDOUIsSUFBSSxDQUFDLEdBQUc7UUFBRSxPQUFPLFNBQVMsQ0FBQTtJQUMxQixPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRTtRQUMvQyxJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxPQUFPO1FBQ2QsR0FBRyxFQUFFLFNBQVM7S0FDZixDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTURYQ29udGVudCB9IGZyb20gXCJAY29udGVudC1jb2xsZWN0aW9ucy9tZHgvcmVhY3RcIlxuaW1wb3J0IHsgQ2FsZW5kYXIsIEhpc3RvcnksIFVzZXIgfSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcbmltcG9ydCB0eXBlIHsgQXJ0aWNsZVZpZXcgfSBmcm9tIFwiLi4vbW9kZWxzL2FydGljbGUudHNcIlxuaW1wb3J0IHsgVG9jQ29udGV4dCB9IGZyb20gXCIuLi9oZWxwZXJzL3RvYy1jb250ZXh0LnRzXCJcbmltcG9ydCB7IEFiYnIgfSBmcm9tIFwiLi9BYmJyLnRzeFwiXG5pbXBvcnQgeyBBbnNpQ29kZSB9IGZyb20gXCIuL0Fuc2lDb2RlLnRzeFwiXG5pbXBvcnQgeyBDYWxsb3V0IH0gZnJvbSBcIi4vQ2FsbG91dC50c3hcIlxuaW1wb3J0IHsgQ2FyZCB9IGZyb20gXCIuL0NhcmQudHN4XCJcbmltcG9ydCB7IENhcmRzIH0gZnJvbSBcIi4vQ2FyZHMudHN4XCJcbmltcG9ydCB7IENvZGVCbG9jayB9IGZyb20gXCIuL0NvZGVCbG9jay50c3hcIlxuaW1wb3J0IHsgQ29kZVRhYnMgfSBmcm9tIFwiLi9Db2RlVGFicy50c3hcIlxuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSBcIi4vQ29sdW1uLnRzeFwiXG5pbXBvcnQgeyBDb2x1bW5zIH0gZnJvbSBcIi4vQ29sdW1ucy50c3hcIlxuaW1wb3J0IHsgQ29udGVudFRhYiB9IGZyb20gXCIuL0NvbnRlbnRUYWIudHN4XCJcbmltcG9ydCB7IENvbnRlbnRUYWJzIH0gZnJvbSBcIi4vQ29udGVudFRhYnMudHN4XCJcbmltcG9ydCB7XG4gIERlZmluaXRpb25EZXRhaWwsXG4gIERlZmluaXRpb25MaXN0LFxuICBEZWZpbml0aW9uVGVybSxcbn0gZnJvbSBcIi4vRGVmaW5pdGlvbkxpc3QudHN4XCJcbmltcG9ydCB7IERldGFpbHMgfSBmcm9tIFwiLi9EZXRhaWxzLnRzeFwiXG5pbXBvcnQgeyBGaWxlVHJlZSB9IGZyb20gXCIuL0ZpbGVUcmVlLnRzeFwiXG5pbXBvcnQgeyBGb290ZXIgfSBmcm9tIFwiLi9Gb290ZXIudHN4XCJcbmltcG9ydCB7IEZvb3Rub3RlUmVmIH0gZnJvbSBcIi4vRm9vdG5vdGVSZWYudHN4XCJcbmltcG9ydCB7IGhlYWRpbmdDb21wb25lbnRzIH0gZnJvbSBcIi4vSGVhZGluZy50c3hcIlxuaW1wb3J0IHsgSW5saW5lQmFkZ2UgfSBmcm9tIFwiLi9JbmxpbmVCYWRnZS50c3hcIlxuaW1wb3J0IHsgSW5saW5lSWNvbiB9IGZyb20gXCIuL0lubGluZUljb24udHN4XCJcbmltcG9ydCB7IElubGluZVRvYyB9IGZyb20gXCIuL0lubGluZVRvYy50c3hcIlxuaW1wb3J0IHsgTGlua0J1dHRvbiB9IGZyb20gXCIuL0xpbmtCdXR0b24udHN4XCJcbmltcG9ydCB7IE1lcm1haWQgfSBmcm9tIFwiLi9NZXJtYWlkLnRzeFwiXG5pbXBvcnQgeyBQYWNrYWdlVGFicyB9IGZyb20gXCIuL1BhY2thZ2VUYWJzLnRzeFwiXG5pbXBvcnQgeyBQYWdlVG9vbGJhciB9IGZyb20gXCIuL1BhZ2VUb29sYmFyLnRzeFwiXG5pbXBvcnQgeyBQcmV2TmV4dCB9IGZyb20gXCIuL1ByZXZOZXh0LnRzeFwiXG5pbXBvcnQge1xuICBTb3J0YWJsZVRhYmxlLFxuICBUYWJsZUJvZHksXG4gIFRhYmxlQ2VsbCxcbiAgVGFibGVIZWFkLFxuICBUYWJsZUhlYWRlcixcbiAgVGFibGVSb3csXG59IGZyb20gXCIuL1NvcnRhYmxlVGFibGUudHN4XCJcbmltcG9ydCB7IFNvdW5kQ2xvdWQgfSBmcm9tIFwiLi9Tb3VuZENsb3VkLnRzeFwiXG5pbXBvcnQgeyBNb2JpbGVUb2MsIFRvYyB9IGZyb20gXCIuL1RvYy50c3hcIlxuaW1wb3J0IHsgWW91VHViZSB9IGZyb20gXCIuL1lvdVR1YmUudHN4XCJcbmltcG9ydCB7IFpvb21JbWFnZSB9IGZyb20gXCIuL1pvb21JbWFnZS50c3hcIlxuaW1wb3J0IHsgU2VwYXJhdG9yIH0gZnJvbSBcIi4uL2VsZW1lbnRzL3NlcGFyYXRvci50c3hcIlxuXG4vKiogRnVsbC1wYWdlIGFydGljbGUgbGF5b3V0OiBNRFggY29udGVudCwgdGFibGUgb2YgY29udGVudHMsIHRvb2xiYXIsIHByZXYvbmV4dCwgZm9vdGVyICovXG5leHBvcnQgZnVuY3Rpb24gQXJ0aWNsZShwcm9wczogeyBhcnRpY2xlOiBBcnRpY2xlVmlldyB9KSB7XG4gIGNvbnN0IHsgYXJ0aWNsZSB9ID0gcHJvcHNcbiAgY29uc3QgbGFzdFVwZGF0ZWQgPSBmb3JtYXREYXRlKGFydGljbGUubGFzdFVwZGF0ZWQpXG4gIGNvbnN0IHB1Ymxpc2hlZERhdGUgPSBmb3JtYXREYXRlKGFydGljbGUuZGF0ZSlcbiAgY29uc3QgYXV0aG9ycyA9IGFydGljbGUuYXV0aG9yXG4gICAgPyBBcnJheS5pc0FycmF5KGFydGljbGUuYXV0aG9yKVxuICAgICAgPyBhcnRpY2xlLmF1dGhvclxuICAgICAgOiBbYXJ0aWNsZS5hdXRob3JdXG4gICAgOiBbXVxuICBjb25zdCBoYXNNZXRhID0gcHVibGlzaGVkRGF0ZSB8fCBhdXRob3JzLmxlbmd0aCA+IDAgfHwgbGFzdFVwZGF0ZWRcblxuICByZXR1cm4gKFxuICAgIDxUb2NDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXthcnRpY2xlLnRvY0l0ZW1zfT5cbiAgICAgIHthcnRpY2xlLnRvYyAhPT0gZmFsc2UgJiYgKFxuICAgICAgICA8TW9iaWxlVG9jIGl0ZW1zPXthcnRpY2xlLnRvY0l0ZW1zfT5cbiAgICAgICAgICA8UGFnZVRvb2xiYXJcbiAgICAgICAgICAgIGZpbGU9e2FydGljbGUuZmlsZX1cbiAgICAgICAgICAgIHNvdXJjZVVybD17YXJ0aWNsZS5zb3VyY2VVcmx9XG4gICAgICAgICAgICBzb3VyY2VBY3Rpb249e2FydGljbGUuc291cmNlQWN0aW9ufVxuICAgICAgICAgICAgY29udGVudD17YXJ0aWNsZS5jb250ZW50fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvTW9iaWxlVG9jPlxuICAgICAgKX1cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LTEgZ2FwLTEwIHAtNCBwdC04IG1kOnAtMTBcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4LTEgbWluLXctMCBteC1hdXRvIG1heC13LTN4bFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHJvc2UgZGFyazpwcm9zZS1pbnZlcnQgbWF4LXctbm9uZVwiPlxuICAgICAgICAgICAgPGgxIGlkPVwidG9wXCI+XG4gICAgICAgICAgICAgIDxhIGhyZWY9XCIjdG9wXCI+e2FydGljbGUudGl0bGV9PC9hPlxuICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICAgIHtoYXNNZXRhICYmIChcbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgaXRlbXMtY2VudGVyIGdhcC14LTMgZ2FwLXktMSB0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCAhLW10LTQgIW1iLTZcIj5cbiAgICAgICAgICAgICAgICB7YXV0aG9ycy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjVcIj5cbiAgICAgICAgICAgICAgICAgICAgPFVzZXIgY2xhc3NOYW1lPVwic2l6ZS0zLjVcIiAvPlxuICAgICAgICAgICAgICAgICAgICB7YXV0aG9ycy5qb2luKFwiLCBcIil9XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7cHVibGlzaGVkRGF0ZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41XCI+XG4gICAgICAgICAgICAgICAgICAgIDxDYWxlbmRhciBjbGFzc05hbWU9XCJzaXplLTMuNVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIFB1Ymxpc2hlZCB7cHVibGlzaGVkRGF0ZX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHtsYXN0VXBkYXRlZCAmJiAoXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41XCI+XG4gICAgICAgICAgICAgICAgICAgIDxIaXN0b3J5IGNsYXNzTmFtZT1cInNpemUtMy41XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgVXBkYXRlZCB7bGFzdFVwZGF0ZWR9XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHthcnRpY2xlLmltYWdlICYmIChcbiAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIHNyYz17YXJ0aWNsZS5pbWFnZX1cbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIiFtdC0wICFtYi02IHctZnVsbCByb3VuZGVkLXhsIGJvcmRlciBzaGFkb3ctc21cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxNRFhDb250ZW50XG4gICAgICAgICAgICAgIGNvZGU9e2FydGljbGUubWR4fVxuICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgaHI6IFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICBpbWc6IFpvb21JbWFnZSxcbiAgICAgICAgICAgICAgICBwcmU6IENvZGVCbG9jayxcbiAgICAgICAgICAgICAgICB0YWJsZTogU29ydGFibGVUYWJsZSxcbiAgICAgICAgICAgICAgICB0aGVhZDogVGFibGVIZWFkZXIsXG4gICAgICAgICAgICAgICAgdGJvZHk6IFRhYmxlQm9keSxcbiAgICAgICAgICAgICAgICB0cjogVGFibGVSb3csXG4gICAgICAgICAgICAgICAgdGg6IFRhYmxlSGVhZCxcbiAgICAgICAgICAgICAgICB0ZDogVGFibGVDZWxsLFxuICAgICAgICAgICAgICAgIGE6IEZvb3Rub3RlUmVmLFxuICAgICAgICAgICAgICAgIEFiYnIsXG4gICAgICAgICAgICAgICAgQW5zaUNvZGUsXG4gICAgICAgICAgICAgICAgQ2FsbG91dCxcbiAgICAgICAgICAgICAgICBDYXJkLFxuICAgICAgICAgICAgICAgIENhcmRzLFxuICAgICAgICAgICAgICAgIENvbHVtbixcbiAgICAgICAgICAgICAgICBDb2x1bW5zLFxuICAgICAgICAgICAgICAgIENvZGVUYWJzLFxuICAgICAgICAgICAgICAgIENvbnRlbnRUYWIsXG4gICAgICAgICAgICAgICAgQ29udGVudFRhYnMsXG4gICAgICAgICAgICAgICAgRGVmaW5pdGlvbkRldGFpbCxcbiAgICAgICAgICAgICAgICBEZWZpbml0aW9uTGlzdCxcbiAgICAgICAgICAgICAgICBEZWZpbml0aW9uVGVybSxcbiAgICAgICAgICAgICAgICBEZXRhaWxzLFxuICAgICAgICAgICAgICAgIEZpbGVUcmVlLFxuICAgICAgICAgICAgICAgIElubGluZUJhZGdlLFxuICAgICAgICAgICAgICAgIElubGluZUljb24sXG4gICAgICAgICAgICAgICAgSW5saW5lVG9jLFxuICAgICAgICAgICAgICAgIExpbmtCdXR0b24sXG4gICAgICAgICAgICAgICAgTWVybWFpZCxcbiAgICAgICAgICAgICAgICBQYWNrYWdlVGFicyxcbiAgICAgICAgICAgICAgICBTb3VuZENsb3VkLFxuICAgICAgICAgICAgICAgIFlvdVR1YmUsXG4gICAgICAgICAgICAgICAgLi4uaGVhZGluZ0NvbXBvbmVudHMsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxQcmV2TmV4dCBwYXRoPXthcnRpY2xlLnBhdGh9IC8+XG4gICAgICAgICAgPEZvb3RlciAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2FydGljbGUudG9jICE9PSBmYWxzZSAmJiAoXG4gICAgICAgICAgPFRvYyBpdGVtcz17YXJ0aWNsZS50b2NJdGVtc30+XG4gICAgICAgICAgICA8UGFnZVRvb2xiYXJcbiAgICAgICAgICAgICAgZmlsZT17YXJ0aWNsZS5maWxlfVxuICAgICAgICAgICAgICBzb3VyY2VVcmw9e2FydGljbGUuc291cmNlVXJsfVxuICAgICAgICAgICAgICBzb3VyY2VBY3Rpb249e2FydGljbGUuc291cmNlQWN0aW9ufVxuICAgICAgICAgICAgICBjb250ZW50PXthcnRpY2xlLmNvbnRlbnR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVG9jPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9Ub2NDb250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmZ1bmN0aW9uIGZvcm1hdERhdGUoaXNvPzogc3RyaW5nKSB7XG4gIGlmICghaXNvKSByZXR1cm4gdW5kZWZpbmVkXG4gIHJldHVybiBuZXcgRGF0ZShpc28pLnRvTG9jYWxlRGF0ZVN0cmluZyhcImVuLVVTXCIsIHtcbiAgICB5ZWFyOiBcIm51bWVyaWNcIixcbiAgICBtb250aDogXCJzaG9ydFwiLFxuICAgIGRheTogXCJudW1lcmljXCIsXG4gIH0pXG59XG4iXX0=
|
|
@@ -76,6 +76,9 @@ function getLastUpdated(filePath) {
|
|
|
76
76
|
return undefined;
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
+
function stripLeadingH1(content) {
|
|
80
|
+
return content.replace(/^[ \t]*#\s+[^\n]*\n+/, "");
|
|
81
|
+
}
|
|
79
82
|
function extractTitle(content, path) {
|
|
80
83
|
const match = /^#\s+(.+)$/m.exec(content);
|
|
81
84
|
if (match)
|
|
@@ -99,7 +102,12 @@ const articles = defineCollection({
|
|
|
99
102
|
const title = doc.title ?? extractTitle(content, doc._meta.path);
|
|
100
103
|
const icon = doc.icon ?? pickDefaultIcon(doc._meta.path);
|
|
101
104
|
const path = doc.path ?? toPath(doc._meta.filePath);
|
|
102
|
-
|
|
105
|
+
// The article's h1 is rendered from `title` by the layout, so strip any
|
|
106
|
+
// leading h1 in the body to avoid two h1s side-by-side (especially when
|
|
107
|
+
// a content patch overrides the title to something different from the
|
|
108
|
+
// body's own heading).
|
|
109
|
+
const bodyContent = stripLeadingH1(content);
|
|
110
|
+
const mdx = await compileMDX(context, { ...doc, content: bodyContent }, {
|
|
103
111
|
remarkPlugins: [
|
|
104
112
|
remarkGfm,
|
|
105
113
|
remarkGemoji,
|
|
@@ -189,4 +197,4 @@ export default defineConfig({
|
|
|
189
197
|
// @ts-expect-error tsgo picks wrong overload when rehype-slug augments unified types
|
|
190
198
|
content: [articles],
|
|
191
199
|
});
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1jb2xsZWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9jb250ZW50LWNvbGxlY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNyRCxPQUFPLFdBQVcsTUFBTSxpQkFBaUIsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN2RCxPQUFPLFdBQVcsTUFBTSxjQUFjLENBQUE7QUFDdEMsT0FBTyxVQUFVLE1BQU0sYUFBYSxDQUFBO0FBQ3BDLE9BQU8sb0JBQW9CLE1BQU0sd0JBQXdCLENBQUE7QUFDekQsT0FBTyxlQUFlLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLFVBQVUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzNELE9BQU8sT0FBTyxNQUFNLHVCQUF1QixDQUFBO0FBQzNDLE9BQU8scUJBQXFCLE1BQU0sdUNBQXVDLENBQUE7QUFDekUsT0FBTyxFQUFF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LFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDcEMsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDN0MsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdEQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUs7WUFDckIsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDcEQsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUNiLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTixJQUFJLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFdBQVc7WUFDWCxLQUFLO1lBQ0wsS0FBSztZQUNMLElBQUk7WUFDSixJQUFJO1lBQ0osUUFBUTtZQUNSLFVBQVU7WUFDVixHQUFHO1NBQ0osQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUE7QUFFRixlQUFlLFlBQVksQ0FBQztJQUMxQixxRkFBcUY7SUFDckYsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO0NBQ3BCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgeyBiYXNlbmFtZSwgcmVsYXRpdmUsIHJlc29sdmUgfSBmcm9tIFwibm9kZTpwYXRoXCJcbmltcG9ydCB7IGRlZmluZUNvbGxlY3Rpb24sIGRlZmluZUNvbmZpZyB9IGZyb20gXCJAY29udGVudC1jb2xsZWN0aW9ucy9jb3JlXCJcbmltcG9ydCB7IGNvbXBpbGVNRFggfSBmcm9tIFwiQGNvbnRlbnQtY29sbGVjdGlvbnMvbWR4XCJcbmltcG9ydCByZWh5cGVTaGlraSBmcm9tIFwiQHNoaWtpanMvcmVoeXBlXCJcbmltcG9ydCB7IHRyYW5zZm9ybWVyVHdvc2xhc2ggfSBmcm9tIFwiQHNoaWtpanMvdHdvc2xhc2hcIlxuaW1wb3J0IHJlaHlwZUthdGV4IGZyb20gXCJyZWh5cGUta2F0ZXhcIlxuaW1wb3J0IHJlaHlwZVNsdWcgZnJvbSBcInJlaHlwZS1zbHVnXCJcbmltcG9ydCByZW1hcmtEZWZpbml0aW9uTGlzdCBmcm9tIFwicmVtYXJrLWRlZmluaXRpb24tbGlzdFwiXG5pbXBvcnQgcmVtYXJrRGlyZWN0aXZlIGZyb20gXCJyZW1hcmstZGlyZWN0aXZlXCJcbmltcG9ydCByZW1hcmtHZW1vamkgZnJvbSBcInJlbWFyay1nZW1vamlcIlxuaW1wb3J0IHJlbWFya0dmbSBmcm9tIFwicmVtYXJrLWdmbVwiXG5pbXBvcnQgcmVtYXJrTWF0aCBmcm9tIFwicmVtYXJrLW1hdGhcIlxuaW1wb3J0IHsgbG9hZENvbmZpZyB9IGZyb20gXCIuL2FjdGlvbnMvY29uZmlnL2xvYWQudHNcIlxuaW1wb3J0IHsgYnVpbGRDaGFuZ2Vsb2csIGNhY2hlSW5jbHVkZUdsb2IgfSBmcm9tIFwiLi9hY3Rpb25zL2NoYW5nZWxvZy9idWlsZC50c1wiXG5pbXBvcnQgeyBBcnRpY2xlIH0gZnJvbSBcIi4vbW9kZWxzL2FydGljbGUudHNcIlxuaW1wb3J0IHsgcGlja0RlZmF1bHRJY29uIH0gZnJvbSBcIi4vaGVscGVycy9hcnRpY2xlLWljb24udHNcIlxuaW1wb3J0IHNsdWdpZnkgZnJvbSBcIkBzaW5kcmVzb3JodXMvc2x1Z2lmeVwiXG5pbXBvcnQgcmVtYXJrQ3VzdG9tSGVhZGluZ0lkIGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWN1c3RvbS1oZWFkaW5nLWlkLnRzXCJcbmltcG9ydCB7IHJlbWFya0NhbGxvdXQgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1jYWxsb3V0LnRzXCJcbmltcG9ydCB7IHJlbWFya0NhcmQgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1jYXJkLnRzXCJcbmltcG9ydCB7IHJlbWFya0NvbHVtbnMgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1jb2x1bW5zLnRzXCJcbmltcG9ydCB7IHJlbWFya1RhYiB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLXRhYi50c1wiXG5pbXBvcnQgeyByZW1hcmtCYWRnZSB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWJhZGdlLnRzXCJcbmltcG9ydCB7IHJlbWFya0J1dHRvbiB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWJ1dHRvbi50c1wiXG5pbXBvcnQgeyByZW1hcmtBYmJyIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstYWJici50c1wiXG5pbXBvcnQgeyByZW1hcmtEZWZsaXN0IH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstZGVmbGlzdC50c1wiXG5pbXBvcnQgeyByZW1hcmtEZXRhaWxzIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstZGV0YWlscy50c1wiXG5pbXBvcnQgeyByZW1hcmtGaWxldHJlZSB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWZpbGV0cmVlLnRzXCJcbmltcG9ydCB7IHJlbWFya0ljb24gfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1pY29uLnRzXCJcbmltcG9ydCB7IHJlbWFya0NvZGVUYWJzIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstY29kZS10YWJzLnRzXCJcbmltcG9ydCB7IHJlbWFya0dpdGh1YkNhbGxvdXQgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1naXRodWItY2FsbG91dC50c1wiXG5pbXBvcnQgeyByZW1hcmtJbWFnZSB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWltYWdlLnRzXCJcbmltcG9ydCB7IHJlbWFya01lZGlhIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstbWVkaWEudHNcIlxuaW1wb3J0IHsgcmVtYXJrQW5zaSB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWFuc2kudHNcIlxuaW1wb3J0IHsgcmVtYXJrTWVybWFpZCB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLW1lcm1haWQudHNcIlxuaW1wb3J0IHsgcmVtYXJrVG9jIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstdG9jLnRzXCJcbmltcG9ydCB7IHJlbWFya05wbSB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLW5wbS50c1wiXG5pbXBvcnQgeyByZW1hcmtTdGVwcyB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLXN0ZXBzLnRzXCJcbmltcG9ydCB7XG4gIHRyYW5zZm9ybWVyTGluZUhpZ2hsaWdodCxcbiAgdHJhbnNmb3JtZXJOb3RhdGlvbnMsXG59IGZyb20gXCIuL3BsdWdpbnMvc2hpa2ktbGluZS1oaWdobGlnaHQudHNcIlxuaW1wb3J0IHsgcmVoeXBlSW5saW5lQ29kZSB9IGZyb20gXCIuL3BsdWdpbnMvcmVoeXBlLWlubGluZS1jb2RlLnRzXCJcbmltcG9ydCB7IHJlaHlwZVRhc2tMaXN0QTExeSB9IGZyb20gXCIuL3BsdWdpbnMvcmVoeXBlLXRhc2stbGlzdC1hMTF5LnRzXCJcbmltcG9ydCB7IHRyYW5zZm9ybWVySWNvbiB9IGZyb20gXCIuL3BsdWdpbnMvc2hpa2ktaWNvbi50c1wiXG5pbXBvcnQgeyByZXNvbHZlQXNzZXRQYXRoIH0gZnJvbSBcIi4vaGVscGVycy9yZXNvbHZlLWFzc2V0LXBhdGgudHNcIlxuaW1wb3J0IHsgcmVzb2x2ZUluY2x1ZGVzIH0gZnJvbSBcIi4vaGVscGVycy9yZXNvbHZlLWluY2x1ZGVzLnRzXCJcbmltcG9ydCB7IGV4dHJhY3RTZWFyY2hUZXh0IH0gZnJvbSBcIi4vaGVscGVycy9zZWFyY2gtdGV4dC50c1wiXG5pbXBvcnQgeyBleHRyYWN0VG9jIH0gZnJvbSBcIi4vaGVscGVycy90b2MudHNcIlxuXG5jb25zdCBjb25maWcgPSBhd2FpdCBsb2FkQ29uZmlnKClcblxuY29uc3QgY2hhbmdlbG9nU2VjdGlvbnMgPVxuICBjb25maWcuc2VjdGlvbnM/LmZpbHRlcihzID0+IHMudHlwZSA9PT0gXCJjaGFuZ2Vsb2dcIikgPz8gW11cbmZvciAoY29uc3Qgc2VjdGlvbiBvZiBjaGFuZ2Vsb2dTZWN0aW9ucykge1xuICBhd2FpdCBidWlsZENoYW5nZWxvZyhzZWN0aW9uLCBjb25maWcpXG59XG5cbmNvbnN0IGNvbmZpZ0luY2x1ZGUgPSBBcnJheS5pc0FycmF5KGNvbmZpZy5pbmNsdWRlKVxuICA/IGNvbmZpZy5pbmNsdWRlXG4gIDogW2NvbmZpZy5pbmNsdWRlXVxuY29uc3QgaW5jbHVkZSA9IGNoYW5nZWxvZ1NlY3Rpb25zLmxlbmd0aFxuICA/IFsuLi5jb25maWdJbmNsdWRlLCBjYWNoZUluY2x1ZGVHbG9iKCldXG4gIDogY29uZmlnSW5jbHVkZVxuXG4vLyBjb250ZW50LWNvbGxlY3Rpb25zIGNvbXBpbGVzIHRoaXMgZmlsZSB0byAuY29udGVudC1jb2xsZWN0aW9ucy9jYWNoZS87XG4vLyBnb2luZyB1cCAyIGxldmVscyByZWNvbnN0cnVjdHMgdGhlIGJhc2VEaXJlY3RvcnkgaXQgdXNlcyBmb3IgcGF0aCByZXNvbHV0aW9uXG5jb25zdCBiYXNlRGlyID0gcmVzb2x2ZShpbXBvcnQubWV0YS5kaXJuYW1lLCBcIi4uLy4uXCIpXG5jb25zdCBkaXJlY3RvcnkgPSByZWxhdGl2ZShiYXNlRGlyLCBjb25maWcucm9vdCkgfHwgXCIuXCJcblxuZnVuY3Rpb24gdG9QYXRoKGZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgY29uc3QgbmFtZSA9IGJhc2VuYW1lKGZpbGVQYXRoKS5yZXBsYWNlKC9cXC5cXHcrJC8sIFwiXCIpXG4gIHJldHVybiBzbHVnaWZ5KG5hbWUpXG59XG5cbmZ1bmN0aW9uIGdldExhc3RVcGRhdGVkKGZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBleGVjU3luYyhgZ2l0IGxvZyAtMSAtLWZvcm1hdD0lY0kgLS0gXCIke2ZpbGVQYXRofVwiYCwge1xuICAgICAgY3dkOiBjb25maWcucm9vdCxcbiAgICAgIGVuY29kaW5nOiBcInV0Zi04XCIsXG4gICAgfSkudHJpbSgpXG4gICAgcmV0dXJuIHRpbWVzdGFtcCB8fCB1bmRlZmluZWRcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUaXRsZShjb250ZW50OiBzdHJpbmcsIHBhdGg6IHN0cmluZykge1xuICBjb25zdCBtYXRjaCA9IC9eI1xccysoLispJC9tLmV4ZWMoY29udGVudClcbiAgaWYgKG1hdGNoKSByZXR1cm4gbWF0Y2hbMV0hXG4gIHJldHVybiAoXG4gICAgcGF0aFxuICAgICAgLnNwbGl0KFwiL1wiKVxuICAgICAgLnBvcCgpXG4gICAgICA/LnJlcGxhY2UoL1xcLlxcdyskLywgXCJcIikgPz8gcGF0aFxuICApXG59XG5cbmNvbnN0IGFydGljbGVzID0gZGVmaW5lQ29sbGVjdGlvbih7XG4gIG5hbWU6IFwiYXJ0aWNsZXNcIixcbiAgZGlyZWN0b3J5LFxuICBpbmNsdWRlLFxuICBleGNsdWRlOiBjb25maWcuZXhjbHVkZSxcbiAgc2NoZW1hOiBBcnRpY2xlLFxuICB0cmFuc2Zvcm06IGFzeW5jIChkb2N1bWVudCwgY29udGV4dCkgPT4ge1xuICAgIGNvbnN0IHBhdGNoID0gY29uZmlnLnBhdGNoZXM/LmZpbmQocCA9PiBwLmZpbGUgPT09IGRvY3VtZW50Ll9tZXRhLmZpbGVQYXRoKVxuICAgIGNvbnN0IGRvYyA9IHBhdGNoID8geyAuLi5kb2N1bWVudCwgLi4ucGF0Y2guYXJ0aWNsZSB9IDogZG9jdW1lbnRcbiAgICBjb25zdCBmaWxlUGF0aCA9IHJlc29sdmUoY29uZmlnLnJvb3QsIGRvYy5fbWV0YS5maWxlUGF0aClcbiAgICBjb25zdCBjb250ZW50ID0gcmVzb2x2ZUluY2x1ZGVzKGRvYy5jb250ZW50LCBmaWxlUGF0aClcbiAgICBjb25zdCB0aXRsZSA9IGRvYy50aXRsZSA/PyBleHRyYWN0VGl0bGUoY29udGVudCwgZG9jLl9tZXRhLnBhdGgpXG4gICAgY29uc3QgaWNvbiA9IGRvYy5pY29uID8/IHBpY2tEZWZhdWx0SWNvbihkb2MuX21ldGEucGF0aClcbiAgICBjb25zdCBwYXRoID0gZG9jLnBhdGggPz8gdG9QYXRoKGRvYy5fbWV0YS5maWxlUGF0aClcbiAgICBjb25zdCBtZHggPSBhd2FpdCBjb21waWxlTURYKFxuICAgICAgY29udGV4dCxcbiAgICAgIHsgLi4uZG9jLCBjb250ZW50IH0sXG4gICAgICB7XG4gICAgICAgIHJlbWFya1BsdWdpbnM6IFtcbiAgICAgICAgICByZW1hcmtHZm0sXG4gICAgICAgICAgcmVtYXJrR2Vtb2ppLFxuICAgICAgICAgIHJlbWFya0RlZmluaXRpb25MaXN0LFxuICAgICAgICAgIHJlbWFya0RlZmxpc3QsXG4gICAgICAgICAgcmVtYXJrTWF0aCxcbiAgICAgICAgICByZW1hcmtEaXJlY3RpdmUsXG4gICAgICAgICAgcmVtYXJrQ2FsbG91dCxcbiAgICAgICAgICByZW1hcmtDYXJkLFxuICAgICAgICAgIHJlbWFya0NvbHVtbnMsXG4gICAgICAgICAgcmVtYXJrVGFiLFxuICAgICAgICAgIHJlbWFya0RldGFpbHMsXG4gICAgICAgICAgcmVtYXJrRmlsZXRyZWUsXG4gICAgICAgICAgcmVtYXJrSWNvbixcbiAgICAgICAgICByZW1hcmtCYWRnZSxcbiAgICAgICAgICByZW1hcmtCdXR0b24sXG4gICAgICAgICAgcmVtYXJrQWJicixcbiAgICAgICAgICByZW1hcmtHaXRodWJDYWxsb3V0LFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIHJlbWFya0ltYWdlLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBmaWxlUGF0aDogcmVzb2x2ZShjb25maWcucm9vdCwgZG9jLl9tZXRhLmZpbGVQYXRoKSxcbiAgICAgICAgICAgICAgcm9vdDogY29uZmlnLnJvb3QsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVtYXJrQW5zaSxcbiAgICAgICAgICByZW1hcmtNZXJtYWlkLFxuICAgICAgICAgIHJlbWFya01lZGlhLFxuICAgICAgICAgIHJlbWFya1RvYyxcbiAgICAgICAgICByZW1hcmtOcG0sXG4gICAgICAgICAgcmVtYXJrQ29kZVRhYnMsXG4gICAgICAgICAgcmVtYXJrU3RlcHMsXG4gICAgICAgICAgcmVtYXJrQ3VzdG9tSGVhZGluZ0lkLFxuICAgICAgICBdLFxuICAgICAgICByZWh5cGVQbHVnaW5zOiBbXG4gICAgICAgICAgW1xuICAgICAgICAgICAgcmVoeXBlU2hpa2ksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRoZW1lczoge1xuICAgICAgICAgICAgICAgIGxpZ2h0OiBjb25maWcuY29kZVRoZW1lTGlnaHQsXG4gICAgICAgICAgICAgICAgZGFyazogY29uZmlnLmNvZGVUaGVtZURhcmssXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIC8vIERhcmtlbiBjYXRwcHVjY2luLWxhdHRlJ3MgZ3JlZW4gKHRoZSBjb2xvdXIgdXNlZCBmb3Igc3RyaW5ncyBhbmRcbiAgICAgICAgICAgICAgLy8gc29tZSBjb21tZW50cykg4oCUIHRoZSB0aGVtZSBkZWZhdWx0ICM0MEEwMkIgbGFuZHMgYXQgMy4yOjEgb24gdGhlXG4gICAgICAgICAgICAgIC8vIGNvZGUtYmxvY2sgYmFja2dyb3VuZCwgYmVsb3cgdGhlIFdDQUcgQUEgNC41OjEgdGhyZXNob2xkLlxuICAgICAgICAgICAgICBjb2xvclJlcGxhY2VtZW50czoge1xuICAgICAgICAgICAgICAgIFwiY2F0cHB1Y2Npbi1sYXR0ZVwiOiB7XG4gICAgICAgICAgICAgICAgICBcIiM0MGEwMmJcIjogXCIjMmE3ZTE2XCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtZXJzOiBbXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtZXJUd29zbGFzaCh7IGV4cGxpY2l0VHJpZ2dlcjogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1lckljb24oKSxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1lck5vdGF0aW9ucygpLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybWVyTGluZUhpZ2hsaWdodCgpLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBwYXJzZU1ldGFTdHJpbmc6IChtZXRhOiBzdHJpbmcpID0+ICh7IFwiZGF0YS1tZXRhXCI6IG1ldGEgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVoeXBlSW5saW5lQ29kZSxcbiAgICAgICAgICByZWh5cGVTbHVnLFxuICAgICAgICAgIHJlaHlwZUthdGV4LFxuICAgICAgICAgIHJlaHlwZVRhc2tMaXN0QTExeSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgKVxuICAgIGNvbnN0IHRvY0l0ZW1zID0gZXh0cmFjdFRvYyhjb250ZW50KVxuICAgIGNvbnN0IHNlYXJjaFRleHQgPSBleHRyYWN0U2VhcmNoVGV4dChjb250ZW50KVxuICAgIGNvbnN0IGxhc3RVcGRhdGVkID0gZ2V0TGFzdFVwZGF0ZWQoZG9jLl9tZXRhLmZpbGVQYXRoKVxuICAgIGNvbnN0IGltYWdlID0gZG9jLmltYWdlXG4gICAgICA/IHJlc29sdmVBc3NldFBhdGgoZG9jLmltYWdlLCBmaWxlUGF0aCwgY29uZmlnLnJvb3QpXG4gICAgICA6IHVuZGVmaW5lZFxuICAgIHJldHVybiB7XG4gICAgICAuLi5kb2MsXG4gICAgICBmaWxlOiBkb2MuX21ldGEuZmlsZVBhdGgsXG4gICAgICBsYXN0VXBkYXRlZCxcbiAgICAgIGltYWdlLFxuICAgICAgdGl0bGUsXG4gICAgICBpY29uLFxuICAgICAgcGF0aCxcbiAgICAgIHRvY0l0ZW1zLFxuICAgICAgc2VhcmNoVGV4dCxcbiAgICAgIG1keCxcbiAgICB9XG4gIH0sXG59KVxuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIHRzZ28gcGlja3Mgd3Jvbmcgb3ZlcmxvYWQgd2hlbiByZWh5cGUtc2x1ZyBhdWdtZW50cyB1bmlmaWVkIHR5cGVzXG4gIGNvbnRlbnQ6IFthcnRpY2xlc10sXG59KVxuIl19
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1jb2xsZWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZS9jb250ZW50LWNvbGxlY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNyRCxPQUFPLFdBQVcsTUFBTSxpQkFBaUIsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN2RCxPQUFPLFdBQVcsTUFBTSxjQUFjLENBQUE7QUFDdEMsT0FBTyxVQUFVLE1BQU0sYUFBYSxDQUFBO0FBQ3BDLE9BQU8sb0JBQW9CLE1BQU0sd0JBQXdCLENBQUE7QUFDekQsT0FBTyxlQUFlLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLFVBQVUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzNELE9BQU8sT0FBTyxNQUFNLHVCQUF1QixDQUFBO0FBQzNDLE9BQU8scUJBQXFCLE1BQU0sdUNBQXVDLENBQUE7QUFDekUsT0FBTyxFQUFF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b0IsRUFBRTs0QkFDdEIsd0JBQXdCLEVBQUU7eUJBQzNCO3dCQUNELGVBQWUsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztxQkFDM0Q7aUJBQ0Y7Z0JBQ0QsZ0JBQWdCO2dCQUNoQixVQUFVO2dCQUNWLFdBQVc7Z0JBQ1gsa0JBQWtCO2FBQ25CO1NBQ0YsQ0FDRixDQUFBO1FBQ0QsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQzdDLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3RELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLO1lBQ3JCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ3BELENBQUMsQ0FBQyxTQUFTLENBQUE7UUFDYixPQUFPO1lBQ0wsR0FBRyxHQUFHO1lBQ04sSUFBSSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUN4QixXQUFXO1lBQ1gsS0FBSztZQUNMLEtBQUs7WUFDTCxJQUFJO1lBQ0osSUFBSTtZQUNKLFFBQVE7WUFDUixVQUFVO1lBQ1YsR0FBRztTQUNKLENBQUE7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFBO0FBRUYsZUFBZSxZQUFZLENBQUM7SUFDMUIscUZBQXFGO0lBQ3JGLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztDQUNwQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJub2RlOmNoaWxkX3Byb2Nlc3NcIlxuaW1wb3J0IHsgYmFzZW5hbWUsIHJlbGF0aXZlLCByZXNvbHZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgeyBkZWZpbmVDb2xsZWN0aW9uLCBkZWZpbmVDb25maWcgfSBmcm9tIFwiQGNvbnRlbnQtY29sbGVjdGlvbnMvY29yZVwiXG5pbXBvcnQgeyBjb21waWxlTURYIH0gZnJvbSBcIkBjb250ZW50LWNvbGxlY3Rpb25zL21keFwiXG5pbXBvcnQgcmVoeXBlU2hpa2kgZnJvbSBcIkBzaGlraWpzL3JlaHlwZVwiXG5pbXBvcnQgeyB0cmFuc2Zvcm1lclR3b3NsYXNoIH0gZnJvbSBcIkBzaGlraWpzL3R3b3NsYXNoXCJcbmltcG9ydCByZWh5cGVLYXRleCBmcm9tIFwicmVoeXBlLWthdGV4XCJcbmltcG9ydCByZWh5cGVTbHVnIGZyb20gXCJyZWh5cGUtc2x1Z1wiXG5pbXBvcnQgcmVtYXJrRGVmaW5pdGlvbkxpc3QgZnJvbSBcInJlbWFyay1kZWZpbml0aW9uLWxpc3RcIlxuaW1wb3J0IHJlbWFya0RpcmVjdGl2ZSBmcm9tIFwicmVtYXJrLWRpcmVjdGl2ZVwiXG5pbXBvcnQgcmVtYXJrR2Vtb2ppIGZyb20gXCJyZW1hcmstZ2Vtb2ppXCJcbmltcG9ydCByZW1hcmtHZm0gZnJvbSBcInJlbWFyay1nZm1cIlxuaW1wb3J0IHJlbWFya01hdGggZnJvbSBcInJlbWFyay1tYXRoXCJcbmltcG9ydCB7IGxvYWRDb25maWcgfSBmcm9tIFwiLi9hY3Rpb25zL2NvbmZpZy9sb2FkLnRzXCJcbmltcG9ydCB7IGJ1aWxkQ2hhbmdlbG9nLCBjYWNoZUluY2x1ZGVHbG9iIH0gZnJvbSBcIi4vYWN0aW9ucy9jaGFuZ2Vsb2cvYnVpbGQudHNcIlxuaW1wb3J0IHsgQXJ0aWNsZSB9IGZyb20gXCIuL21vZGVscy9hcnRpY2xlLnRzXCJcbmltcG9ydCB7IHBpY2tEZWZhdWx0SWNvbiB9IGZyb20gXCIuL2hlbHBlcnMvYXJ0aWNsZS1pY29uLnRzXCJcbmltcG9ydCBzbHVnaWZ5IGZyb20gXCJAc2luZHJlc29yaHVzL3NsdWdpZnlcIlxuaW1wb3J0IHJlbWFya0N1c3RvbUhlYWRpbmdJZCBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1jdXN0b20taGVhZGluZy1pZC50c1wiXG5pbXBvcnQgeyByZW1hcmtDYWxsb3V0IH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstY2FsbG91dC50c1wiXG5pbXBvcnQgeyByZW1hcmtDYXJkIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstY2FyZC50c1wiXG5pbXBvcnQgeyByZW1hcmtDb2x1bW5zIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstY29sdW1ucy50c1wiXG5pbXBvcnQgeyByZW1hcmtUYWIgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay10YWIudHNcIlxuaW1wb3J0IHsgcmVtYXJrQmFkZ2UgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1iYWRnZS50c1wiXG5pbXBvcnQgeyByZW1hcmtCdXR0b24gfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1idXR0b24udHNcIlxuaW1wb3J0IHsgcmVtYXJrQWJiciB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWFiYnIudHNcIlxuaW1wb3J0IHsgcmVtYXJrRGVmbGlzdCB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWRlZmxpc3QudHNcIlxuaW1wb3J0IHsgcmVtYXJrRGV0YWlscyB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWRldGFpbHMudHNcIlxuaW1wb3J0IHsgcmVtYXJrRmlsZXRyZWUgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1maWxldHJlZS50c1wiXG5pbXBvcnQgeyByZW1hcmtJY29uIH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstaWNvbi50c1wiXG5pbXBvcnQgeyByZW1hcmtDb2RlVGFicyB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLWNvZGUtdGFicy50c1wiXG5pbXBvcnQgeyByZW1hcmtHaXRodWJDYWxsb3V0IH0gZnJvbSBcIi4vcGx1Z2lucy9yZW1hcmstZ2l0aHViLWNhbGxvdXQudHNcIlxuaW1wb3J0IHsgcmVtYXJrSW1hZ2UgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1pbWFnZS50c1wiXG5pbXBvcnQgeyByZW1hcmtNZWRpYSB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLW1lZGlhLnRzXCJcbmltcG9ydCB7IHJlbWFya0Fuc2kgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1hbnNpLnRzXCJcbmltcG9ydCB7IHJlbWFya01lcm1haWQgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1tZXJtYWlkLnRzXCJcbmltcG9ydCB7IHJlbWFya1RvYyB9IGZyb20gXCIuL3BsdWdpbnMvcmVtYXJrLXRvYy50c1wiXG5pbXBvcnQgeyByZW1hcmtOcG0gfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1ucG0udHNcIlxuaW1wb3J0IHsgcmVtYXJrU3RlcHMgfSBmcm9tIFwiLi9wbHVnaW5zL3JlbWFyay1zdGVwcy50c1wiXG5pbXBvcnQge1xuICB0cmFuc2Zvcm1lckxpbmVIaWdobGlnaHQsXG4gIHRyYW5zZm9ybWVyTm90YXRpb25zLFxufSBmcm9tIFwiLi9wbHVnaW5zL3NoaWtpLWxpbmUtaGlnaGxpZ2h0LnRzXCJcbmltcG9ydCB7IHJlaHlwZUlubGluZUNvZGUgfSBmcm9tIFwiLi9wbHVnaW5zL3JlaHlwZS1pbmxpbmUtY29kZS50c1wiXG5pbXBvcnQgeyByZWh5cGVUYXNrTGlzdEExMXkgfSBmcm9tIFwiLi9wbHVnaW5zL3JlaHlwZS10YXNrLWxpc3QtYTExeS50c1wiXG5pbXBvcnQgeyB0cmFuc2Zvcm1lckljb24gfSBmcm9tIFwiLi9wbHVnaW5zL3NoaWtpLWljb24udHNcIlxuaW1wb3J0IHsgcmVzb2x2ZUFzc2V0UGF0aCB9IGZyb20gXCIuL2hlbHBlcnMvcmVzb2x2ZS1hc3NldC1wYXRoLnRzXCJcbmltcG9ydCB7IHJlc29sdmVJbmNsdWRlcyB9IGZyb20gXCIuL2hlbHBlcnMvcmVzb2x2ZS1pbmNsdWRlcy50c1wiXG5pbXBvcnQgeyBleHRyYWN0U2VhcmNoVGV4dCB9IGZyb20gXCIuL2hlbHBlcnMvc2VhcmNoLXRleHQudHNcIlxuaW1wb3J0IHsgZXh0cmFjdFRvYyB9IGZyb20gXCIuL2hlbHBlcnMvdG9jLnRzXCJcblxuY29uc3QgY29uZmlnID0gYXdhaXQgbG9hZENvbmZpZygpXG5cbmNvbnN0IGNoYW5nZWxvZ1NlY3Rpb25zID1cbiAgY29uZmlnLnNlY3Rpb25zPy5maWx0ZXIocyA9PiBzLnR5cGUgPT09IFwiY2hhbmdlbG9nXCIpID8/IFtdXG5mb3IgKGNvbnN0IHNlY3Rpb24gb2YgY2hhbmdlbG9nU2VjdGlvbnMpIHtcbiAgYXdhaXQgYnVpbGRDaGFuZ2Vsb2coc2VjdGlvbiwgY29uZmlnKVxufVxuXG5jb25zdCBjb25maWdJbmNsdWRlID0gQXJyYXkuaXNBcnJheShjb25maWcuaW5jbHVkZSlcbiAgPyBjb25maWcuaW5jbHVkZVxuICA6IFtjb25maWcuaW5jbHVkZV1cbmNvbnN0IGluY2x1ZGUgPSBjaGFuZ2Vsb2dTZWN0aW9ucy5sZW5ndGhcbiAgPyBbLi4uY29uZmlnSW5jbHVkZSwgY2FjaGVJbmNsdWRlR2xvYigpXVxuICA6IGNvbmZpZ0luY2x1ZGVcblxuLy8gY29udGVudC1jb2xsZWN0aW9ucyBjb21waWxlcyB0aGlzIGZpbGUgdG8gLmNvbnRlbnQtY29sbGVjdGlvbnMvY2FjaGUvO1xuLy8gZ29pbmcgdXAgMiBsZXZlbHMgcmVjb25zdHJ1Y3RzIHRoZSBiYXNlRGlyZWN0b3J5IGl0IHVzZXMgZm9yIHBhdGggcmVzb2x1dGlvblxuY29uc3QgYmFzZURpciA9IHJlc29sdmUoaW1wb3J0Lm1ldGEuZGlybmFtZSwgXCIuLi8uLlwiKVxuY29uc3QgZGlyZWN0b3J5ID0gcmVsYXRpdmUoYmFzZURpciwgY29uZmlnLnJvb3QpIHx8IFwiLlwiXG5cbmZ1bmN0aW9uIHRvUGF0aChmaWxlUGF0aDogc3RyaW5nKSB7XG4gIGNvbnN0IG5hbWUgPSBiYXNlbmFtZShmaWxlUGF0aCkucmVwbGFjZSgvXFwuXFx3KyQvLCBcIlwiKVxuICByZXR1cm4gc2x1Z2lmeShuYW1lKVxufVxuXG5mdW5jdGlvbiBnZXRMYXN0VXBkYXRlZChmaWxlUGF0aDogc3RyaW5nKSB7XG4gIHRyeSB7XG4gICAgY29uc3QgdGltZXN0YW1wID0gZXhlY1N5bmMoYGdpdCBsb2cgLTEgLS1mb3JtYXQ9JWNJIC0tIFwiJHtmaWxlUGF0aH1cImAsIHtcbiAgICAgIGN3ZDogY29uZmlnLnJvb3QsXG4gICAgICBlbmNvZGluZzogXCJ1dGYtOFwiLFxuICAgIH0pLnRyaW0oKVxuICAgIHJldHVybiB0aW1lc3RhbXAgfHwgdW5kZWZpbmVkXG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxufVxuXG5mdW5jdGlvbiBzdHJpcExlYWRpbmdIMShjb250ZW50OiBzdHJpbmcpIHtcbiAgcmV0dXJuIGNvbnRlbnQucmVwbGFjZSgvXlsgXFx0XSojXFxzK1teXFxuXSpcXG4rLywgXCJcIilcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFRpdGxlKGNvbnRlbnQ6IHN0cmluZywgcGF0aDogc3RyaW5nKSB7XG4gIGNvbnN0IG1hdGNoID0gL14jXFxzKyguKykkL20uZXhlYyhjb250ZW50KVxuICBpZiAobWF0Y2gpIHJldHVybiBtYXRjaFsxXSFcbiAgcmV0dXJuIChcbiAgICBwYXRoXG4gICAgICAuc3BsaXQoXCIvXCIpXG4gICAgICAucG9wKClcbiAgICAgID8ucmVwbGFjZSgvXFwuXFx3KyQvLCBcIlwiKSA/PyBwYXRoXG4gIClcbn1cblxuY29uc3QgYXJ0aWNsZXMgPSBkZWZpbmVDb2xsZWN0aW9uKHtcbiAgbmFtZTogXCJhcnRpY2xlc1wiLFxuICBkaXJlY3RvcnksXG4gIGluY2x1ZGUsXG4gIGV4Y2x1ZGU6IGNvbmZpZy5leGNsdWRlLFxuICBzY2hlbWE6IEFydGljbGUsXG4gIHRyYW5zZm9ybTogYXN5bmMgKGRvY3VtZW50LCBjb250ZXh0KSA9PiB7XG4gICAgY29uc3QgcGF0Y2ggPSBjb25maWcucGF0Y2hlcz8uZmluZChwID0+IHAuZmlsZSA9PT0gZG9jdW1lbnQuX21ldGEuZmlsZVBhdGgpXG4gICAgY29uc3QgZG9jID0gcGF0Y2ggPyB7IC4uLmRvY3VtZW50LCAuLi5wYXRjaC5hcnRpY2xlIH0gOiBkb2N1bWVudFxuICAgIGNvbnN0IGZpbGVQYXRoID0gcmVzb2x2ZShjb25maWcucm9vdCwgZG9jLl9tZXRhLmZpbGVQYXRoKVxuICAgIGNvbnN0IGNvbnRlbnQgPSByZXNvbHZlSW5jbHVkZXMoZG9jLmNvbnRlbnQsIGZpbGVQYXRoKVxuICAgIGNvbnN0IHRpdGxlID0gZG9jLnRpdGxlID8/IGV4dHJhY3RUaXRsZShjb250ZW50LCBkb2MuX21ldGEucGF0aClcbiAgICBjb25zdCBpY29uID0gZG9jLmljb24gPz8gcGlja0RlZmF1bHRJY29uKGRvYy5fbWV0YS5wYXRoKVxuICAgIGNvbnN0IHBhdGggPSBkb2MucGF0aCA/PyB0b1BhdGgoZG9jLl9tZXRhLmZpbGVQYXRoKVxuICAgIC8vIFRoZSBhcnRpY2xlJ3MgaDEgaXMgcmVuZGVyZWQgZnJvbSBgdGl0bGVgIGJ5IHRoZSBsYXlvdXQsIHNvIHN0cmlwIGFueVxuICAgIC8vIGxlYWRpbmcgaDEgaW4gdGhlIGJvZHkgdG8gYXZvaWQgdHdvIGgxcyBzaWRlLWJ5LXNpZGUgKGVzcGVjaWFsbHkgd2hlblxuICAgIC8vIGEgY29udGVudCBwYXRjaCBvdmVycmlkZXMgdGhlIHRpdGxlIHRvIHNvbWV0aGluZyBkaWZmZXJlbnQgZnJvbSB0aGVcbiAgICAvLyBib2R5J3Mgb3duIGhlYWRpbmcpLlxuICAgIGNvbnN0IGJvZHlDb250ZW50ID0gc3RyaXBMZWFkaW5nSDEoY29udGVudClcbiAgICBjb25zdCBtZHggPSBhd2FpdCBjb21waWxlTURYKFxuICAgICAgY29udGV4dCxcbiAgICAgIHsgLi4uZG9jLCBjb250ZW50OiBib2R5Q29udGVudCB9LFxuICAgICAge1xuICAgICAgICByZW1hcmtQbHVnaW5zOiBbXG4gICAgICAgICAgcmVtYXJrR2ZtLFxuICAgICAgICAgIHJlbWFya0dlbW9qaSxcbiAgICAgICAgICByZW1hcmtEZWZpbml0aW9uTGlzdCxcbiAgICAgICAgICByZW1hcmtEZWZsaXN0LFxuICAgICAgICAgIHJlbWFya01hdGgsXG4gICAgICAgICAgcmVtYXJrRGlyZWN0aXZlLFxuICAgICAgICAgIHJlbWFya0NhbGxvdXQsXG4gICAgICAgICAgcmVtYXJrQ2FyZCxcbiAgICAgICAgICByZW1hcmtDb2x1bW5zLFxuICAgICAgICAgIHJlbWFya1RhYixcbiAgICAgICAgICByZW1hcmtEZXRhaWxzLFxuICAgICAgICAgIHJlbWFya0ZpbGV0cmVlLFxuICAgICAgICAgIHJlbWFya0ljb24sXG4gICAgICAgICAgcmVtYXJrQmFkZ2UsXG4gICAgICAgICAgcmVtYXJrQnV0dG9uLFxuICAgICAgICAgIHJlbWFya0FiYnIsXG4gICAgICAgICAgcmVtYXJrR2l0aHViQ2FsbG91dCxcbiAgICAgICAgICBbXG4gICAgICAgICAgICByZW1hcmtJbWFnZSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZmlsZVBhdGg6IHJlc29sdmUoY29uZmlnLnJvb3QsIGRvYy5fbWV0YS5maWxlUGF0aCksXG4gICAgICAgICAgICAgIHJvb3Q6IGNvbmZpZy5yb290LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlbWFya0Fuc2ksXG4gICAgICAgICAgcmVtYXJrTWVybWFpZCxcbiAgICAgICAgICByZW1hcmtNZWRpYSxcbiAgICAgICAgICByZW1hcmtUb2MsXG4gICAgICAgICAgcmVtYXJrTnBtLFxuICAgICAgICAgIHJlbWFya0NvZGVUYWJzLFxuICAgICAgICAgIHJlbWFya1N0ZXBzLFxuICAgICAgICAgIHJlbWFya0N1c3RvbUhlYWRpbmdJZCxcbiAgICAgICAgXSxcbiAgICAgICAgcmVoeXBlUGx1Z2luczogW1xuICAgICAgICAgIFtcbiAgICAgICAgICAgIHJlaHlwZVNoaWtpLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aGVtZXM6IHtcbiAgICAgICAgICAgICAgICBsaWdodDogY29uZmlnLmNvZGVUaGVtZUxpZ2h0LFxuICAgICAgICAgICAgICAgIGRhcms6IGNvbmZpZy5jb2RlVGhlbWVEYXJrLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAvLyBEYXJrZW4gY2F0cHB1Y2Npbi1sYXR0ZSdzIGdyZWVuICh0aGUgY29sb3VyIHVzZWQgZm9yIHN0cmluZ3MgYW5kXG4gICAgICAgICAgICAgIC8vIHNvbWUgY29tbWVudHMpIOKAlCB0aGUgdGhlbWUgZGVmYXVsdCAjNDBBMDJCIGxhbmRzIGF0IDMuMjoxIG9uIHRoZVxuICAgICAgICAgICAgICAvLyBjb2RlLWJsb2NrIGJhY2tncm91bmQsIGJlbG93IHRoZSBXQ0FHIEFBIDQuNToxIHRocmVzaG9sZC5cbiAgICAgICAgICAgICAgY29sb3JSZXBsYWNlbWVudHM6IHtcbiAgICAgICAgICAgICAgICBcImNhdHBwdWNjaW4tbGF0dGVcIjoge1xuICAgICAgICAgICAgICAgICAgXCIjNDBhMDJiXCI6IFwiIzJhN2UxNlwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHRyYW5zZm9ybWVyczogW1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybWVyVHdvc2xhc2goeyBleHBsaWNpdFRyaWdnZXI6IHRydWUgfSksXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtZXJJY29uKCksXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtZXJOb3RhdGlvbnMoKSxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1lckxpbmVIaWdobGlnaHQoKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcGFyc2VNZXRhU3RyaW5nOiAobWV0YTogc3RyaW5nKSA9PiAoeyBcImRhdGEtbWV0YVwiOiBtZXRhIH0pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlaHlwZUlubGluZUNvZGUsXG4gICAgICAgICAgcmVoeXBlU2x1ZyxcbiAgICAgICAgICByZWh5cGVLYXRleCxcbiAgICAgICAgICByZWh5cGVUYXNrTGlzdEExMXksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIClcbiAgICBjb25zdCB0b2NJdGVtcyA9IGV4dHJhY3RUb2MoY29udGVudClcbiAgICBjb25zdCBzZWFyY2hUZXh0ID0gZXh0cmFjdFNlYXJjaFRleHQoY29udGVudClcbiAgICBjb25zdCBsYXN0VXBkYXRlZCA9IGdldExhc3RVcGRhdGVkKGRvYy5fbWV0YS5maWxlUGF0aClcbiAgICBjb25zdCBpbWFnZSA9IGRvYy5pbWFnZVxuICAgICAgPyByZXNvbHZlQXNzZXRQYXRoKGRvYy5pbWFnZSwgZmlsZVBhdGgsIGNvbmZpZy5yb290KVxuICAgICAgOiB1bmRlZmluZWRcbiAgICByZXR1cm4ge1xuICAgICAgLi4uZG9jLFxuICAgICAgZmlsZTogZG9jLl9tZXRhLmZpbGVQYXRoLFxuICAgICAgbGFzdFVwZGF0ZWQsXG4gICAgICBpbWFnZSxcbiAgICAgIHRpdGxlLFxuICAgICAgaWNvbixcbiAgICAgIHBhdGgsXG4gICAgICB0b2NJdGVtcyxcbiAgICAgIHNlYXJjaFRleHQsXG4gICAgICBtZHgsXG4gICAgfVxuICB9LFxufSlcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciB0c2dvIHBpY2tzIHdyb25nIG92ZXJsb2FkIHdoZW4gcmVoeXBlLXNsdWcgYXVnbWVudHMgdW5pZmllZCB0eXBlc1xuICBjb250ZW50OiBbYXJ0aWNsZXNdLFxufSlcbiJdfQ==
|
package/target/models/article.js
CHANGED
|
@@ -18,4 +18,4 @@ export const Article = z.object({
|
|
|
18
18
|
sourceUrl: nonEmptyString.optional(),
|
|
19
19
|
sourceAction: z.enum(["edit", "view"]).default("edit"),
|
|
20
20
|
});
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9tb2RlbHMvYXJ0aWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUtwRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM5QixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNuQixLQUFLLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUNoQyxLQUFLLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUNoQyxXQUFXLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUN0QyxJQUFJLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUMvQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixJQUFJLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUMvQixLQUFLLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUNoQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDbEMsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzlCLEtBQUssRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO0lBQ2hDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNyRSxJQUFJLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUMvQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0NBQ3ZELENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCJcbmltcG9ydCB7IG5vbkVtcHR5U3RyaW5nIH0gZnJvbSBcIi4uL2hlbHBlcnMvbW9kZWwudHNcIlxuaW1wb3J0IHR5cGUgeyBUb2NJdGVtIH0gZnJvbSBcIi4vdG9jLnRzXCJcblxuLyoqIEZyb250bWF0dGVyIHNjaGVtYSBmb3IgYSBtYXJrZG93biBhcnRpY2xlLiAqL1xuZXhwb3J0IHR5cGUgQXJ0aWNsZSA9IHouaW5mZXI8dHlwZW9mIEFydGljbGU+
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NvdXJjZS9tb2RlbHMvYXJ0aWNsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUtwRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM5QixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNuQixLQUFLLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUNoQyxLQUFLLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUNoQyxXQUFXLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUN0QyxJQUFJLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUMvQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixJQUFJLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUMvQixLQUFLLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUNoQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDbEMsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzlCLEtBQUssRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO0lBQ2hDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNyRSxJQUFJLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUMvQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0NBQ3ZELENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCJcbmltcG9ydCB7IG5vbkVtcHR5U3RyaW5nIH0gZnJvbSBcIi4uL2hlbHBlcnMvbW9kZWwudHNcIlxuaW1wb3J0IHR5cGUgeyBUb2NJdGVtIH0gZnJvbSBcIi4vdG9jLnRzXCJcblxuLyoqIEZyb250bWF0dGVyIHNjaGVtYSBmb3IgYSBtYXJrZG93biBhcnRpY2xlLiAqL1xuZXhwb3J0IHR5cGUgQXJ0aWNsZSA9IHouaW5mZXI8dHlwZW9mIEFydGljbGU+XG5leHBvcnQgY29uc3QgQXJ0aWNsZSA9IHoub2JqZWN0KHtcbiAgY29udGVudDogei5zdHJpbmcoKSxcbiAgdGl0bGU6IG5vbkVtcHR5U3RyaW5nLm9wdGlvbmFsKCksXG4gIGxhYmVsOiBub25FbXB0eVN0cmluZy5vcHRpb25hbCgpLFxuICBkZXNjcmlwdGlvbjogbm9uRW1wdHlTdHJpbmcub3B0aW9uYWwoKSxcbiAgaWNvbjogbm9uRW1wdHlTdHJpbmcub3B0aW9uYWwoKSxcbiAgb3JkZXI6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgcGF0aDogbm9uRW1wdHlTdHJpbmcub3B0aW9uYWwoKSxcbiAgZ3JvdXA6IG5vbkVtcHR5U3RyaW5nLm9wdGlvbmFsKCksXG4gIHNpZGViYXI6IHouYm9vbGVhbigpLmRlZmF1bHQodHJ1ZSksXG4gIHRvYzogei5ib29sZWFuKCkuZGVmYXVsdCh0cnVlKSxcbiAgaW1hZ2U6IG5vbkVtcHR5U3RyaW5nLm9wdGlvbmFsKCksXG4gIGF1dGhvcjogei51bmlvbihbbm9uRW1wdHlTdHJpbmcsIHouYXJyYXkobm9uRW1wdHlTdHJpbmcpXSkub3B0aW9uYWwoKSxcbiAgZGF0ZTogbm9uRW1wdHlTdHJpbmcub3B0aW9uYWwoKSxcbiAgdGFnczogei5hcnJheShub25FbXB0eVN0cmluZykub3B0aW9uYWwoKSxcbiAgc291cmNlVXJsOiBub25FbXB0eVN0cmluZy5vcHRpb25hbCgpLFxuICBzb3VyY2VBY3Rpb246IHouZW51bShbXCJlZGl0XCIsIFwidmlld1wiXSkuZGVmYXVsdChcImVkaXRcIiksXG59KVxuXG4vKiogUHJvY2Vzc2VkIGFydGljbGUgcmVhZHkgZm9yIHBhZ2UgcmVuZGVyaW5nIChyZXN1bHQgb2YgY29udGVudC1jb2xsZWN0aW9ucyB0cmFuc2Zvcm0pLiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlVmlldyB7XG4gIHBhdGg6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIGNvbnRlbnQ6IHN0cmluZ1xuICBmaWxlOiBzdHJpbmdcbiAgbWR4OiBzdHJpbmdcbiAgdG9jSXRlbXM6IFRvY0l0ZW1bXVxuICB0b2M/OiBib29sZWFuXG4gIGxhc3RVcGRhdGVkPzogc3RyaW5nXG4gIHNpZGViYXI/OiBib29sZWFuXG4gIGltYWdlPzogc3RyaW5nXG4gIGF1dGhvcj86IHN0cmluZyB8IHN0cmluZ1tdXG4gIGRhdGU/OiBzdHJpbmdcbiAgdGFncz86IHN0cmluZ1tdXG4gIHNvdXJjZVVybD86IHN0cmluZ1xuICBzb3VyY2VBY3Rpb24/OiBcImVkaXRcIiB8IFwidmlld1wiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJ0aWNsZU5vZGUge1xuICBwYXRoOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBsYWJlbD86IHN0cmluZ1xuICBpY29uOiBzdHJpbmdcbiAgY2hpbGRyZW46IEFydGljbGVOb2RlW11cbn1cblxuLyoqXG4gKiBBIGNvbnRpZ3VvdXMgc2VjdGlvbiBvZiByb290IGFydGljbGVzIHNoYXJpbmcgdGhlIHNhbWUgYGdyb3VwYCBsYWJlbC5cbiAqIGBuYW1lOiB1bmRlZmluZWRgIHJlcHJlc2VudHMgdGhlIGxlYWRpbmcgdW5ncm91cGVkIHNlY3Rpb24gKGF0IG1vc3Qgb25lKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcnRpY2xlR3JvdXAge1xuICBuYW1lPzogc3RyaW5nXG4gIG5vZGVzOiBBcnRpY2xlTm9kZVtdXG59XG4iXX0=
|
package/target/vite.config.js
CHANGED
|
@@ -13,8 +13,8 @@ import { WebsiteConfig } from "./models/config.js";
|
|
|
13
13
|
import { OVERRIDE_SUBDIRS } from "./settings.js";
|
|
14
14
|
import { livemark } from "./plugins/vite-livemark.js";
|
|
15
15
|
const config = await loadConfig();
|
|
16
|
-
const
|
|
17
|
-
const
|
|
16
|
+
const sourceDir = import.meta.dirname;
|
|
17
|
+
const sourceRelative = relative(config.root, sourceDir);
|
|
18
18
|
const overridesRoot = join(config.root, ".livemark");
|
|
19
19
|
// Seed `.livemark/.gitignore` on first run so Vite's build/cache artifacts
|
|
20
20
|
// never get committed by accident.
|
|
@@ -25,7 +25,13 @@ if (!existsSync(gitignorePath)) {
|
|
|
25
25
|
}
|
|
26
26
|
const routeChildren = [route("/$", "$.tsx")];
|
|
27
27
|
if (existsSync(join(overridesRoot, "routes"))) {
|
|
28
|
-
|
|
28
|
+
// physical(dir) resolves `dir` relative to the routes directory
|
|
29
|
+
// (`srcDirectory/routes`). A hardcoded "../../.livemark/routes" only
|
|
30
|
+
// works when source/ sits one level under config.root — it lands at
|
|
31
|
+
// node_modules/.livemark/routes once livemark is installed. Compute
|
|
32
|
+
// the path dynamically from the consumer's actual layout.
|
|
33
|
+
const routesDir = join(sourceDir, "routes");
|
|
34
|
+
routeChildren.push(physical(relative(routesDir, join(overridesRoot, "routes"))));
|
|
29
35
|
}
|
|
30
36
|
export default defineConfig({
|
|
31
37
|
root: config.root,
|
|
@@ -36,7 +42,7 @@ export default defineConfig({
|
|
|
36
42
|
},
|
|
37
43
|
plugins: [
|
|
38
44
|
livemark({
|
|
39
|
-
defaultsRoot:
|
|
45
|
+
defaultsRoot: sourceDir,
|
|
40
46
|
overridesRoot,
|
|
41
47
|
subdirs: [...OVERRIDE_SUBDIRS],
|
|
42
48
|
configPath: config.configPath,
|
|
@@ -44,10 +50,10 @@ export default defineConfig({
|
|
|
44
50
|
devtools(),
|
|
45
51
|
tailwind(),
|
|
46
52
|
contentCollections({
|
|
47
|
-
configPath: join(
|
|
53
|
+
configPath: join(sourceRelative, "content-collections.ts"),
|
|
48
54
|
}),
|
|
49
55
|
tanstackStart({
|
|
50
|
-
srcDirectory:
|
|
56
|
+
srcDirectory: sourceRelative,
|
|
51
57
|
pages: [{ path: "/" }],
|
|
52
58
|
prerender: { enabled: true, crawlLinks: true },
|
|
53
59
|
sitemap: config.site
|
|
@@ -61,4 +67,4 @@ export default defineConfig({
|
|
|
61
67
|
svgr(),
|
|
62
68
|
],
|
|
63
69
|
});
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2Uvdml0ZS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sa0JBQWtCLE1BQU0sMkJBQTJCLENBQUE7QUFDMUQsT0FBTyxRQUFRLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNqRSxPQUFPLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSwrQkFBK0IsQ0FBQTtBQUN0QyxPQUFPLEtBQUssTUFBTSxzQkFBc0IsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25DLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUVyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsRUFBRSxDQUFBO0FBQ2pDLE1BQU0sU0FBUyxHQUFHLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUNyQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUN2RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQTtBQUVwRCwyRUFBMkU7QUFDM0UsbUNBQW1DO0FBQ25DLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUE7QUFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO0lBQy9CLFNBQVMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUM3QyxhQUFhLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUE7QUFDbEQsQ0FBQztBQUVELE1BQU0sYUFBYSxHQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtBQUNoRSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5QyxnRUFBZ0U7SUFDaEUscUVBQXFFO0lBQ3JFLG9FQUFvRTtJQUNwRSxvRUFBb0U7SUFDcEUsMERBQTBEO0lBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDM0MsYUFBYSxDQUFDLElBQUksQ0FDaEIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQzdELENBQUE7QUFDSCxDQUFDO0FBRUQsZUFBZSxZQUFZLENBQUM7SUFDMUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDO0lBQ25ELEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRTtJQUNwQyxNQUFNLEVBQUU7UUFDTix3QkFBd0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDdEU7SUFDRCxPQUFPLEVBQUU7UUFDUCxRQUFRLENBQUM7WUFDUCxZQUFZLEVBQUUsU0FBUztZQUN2QixhQUFhO1lBQ2IsT0FBTyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztZQUM5QixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7U0FDOUIsQ0FBQztRQUNGLFFBQVEsRUFBRTtRQUNWLFFBQVEsRUFBRTtRQUNWLGtCQUFrQixDQUFDO1lBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLHdCQUF3QixDQUFDO1NBQzNELENBQUM7UUFDRixhQUFhLENBQUM7WUFDWixZQUFZLEVBQUUsY0FBYztZQUM1QixLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUN0QixTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7WUFDOUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUNsQixDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUN0QyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQ3RCLE1BQU0sRUFBRTtnQkFDTixrQkFBa0IsRUFBRSxTQUFTLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQzthQUMzRDtTQUNGLENBQUM7UUFDRixLQUFLLEVBQUU7UUFDUCxJQUFJLEVBQUU7S0FDUDtDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMsIG1rZGlyU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCJcbmltcG9ydCB7IGpvaW4sIHJlbGF0aXZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgY29udGVudENvbGxlY3Rpb25zIGZyb20gXCJAY29udGVudC1jb2xsZWN0aW9ucy92aXRlXCJcbmltcG9ydCB0YWlsd2luZCBmcm9tIFwiQHRhaWx3aW5kY3NzL3ZpdGVcIlxuaW1wb3J0IHsgZGV2dG9vbHMgfSBmcm9tIFwiQHRhbnN0YWNrL2RldnRvb2xzLXZpdGVcIlxuaW1wb3J0IHsgdGFuc3RhY2tTdGFydCB9IGZyb20gXCJAdGFuc3RhY2svcmVhY3Qtc3RhcnQvcGx1Z2luL3ZpdGVcIlxuaW1wb3J0IHtcbiAgcGh5c2ljYWwsXG4gIHJvb3RSb3V0ZSxcbiAgcm91dGUsXG4gIHR5cGUgVmlydHVhbFJvdXRlTm9kZSxcbn0gZnJvbSBcIkB0YW5zdGFjay92aXJ0dWFsLWZpbGUtcm91dGVzXCJcbmltcG9ydCByZWFjdCBmcm9tIFwiQHZpdGVqcy9wbHVnaW4tcmVhY3RcIlxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIlxuaW1wb3J0IHN2Z3IgZnJvbSBcInZpdGUtcGx1Z2luLXN2Z3JcIlxuaW1wb3J0IHsgbG9hZENvbmZpZyB9IGZyb20gXCIuL2FjdGlvbnMvY29uZmlnL2xvYWQudHNcIlxuaW1wb3J0IHsgV2Vic2l0ZUNvbmZpZyB9IGZyb20gXCIuL21vZGVscy9jb25maWcudHNcIlxuaW1wb3J0IHsgT1ZFUlJJREVfU1VCRElSUyB9IGZyb20gXCIuL3NldHRpbmdzLnRzXCJcbmltcG9ydCB7IGxpdmVtYXJrIH0gZnJvbSBcIi4vcGx1Z2lucy92aXRlLWxpdmVtYXJrLnRzXCJcblxuY29uc3QgY29uZmlnID0gYXdhaXQgbG9hZENvbmZpZygpXG5jb25zdCBzb3VyY2VEaXIgPSBpbXBvcnQubWV0YS5kaXJuYW1lXG5jb25zdCBzb3VyY2VSZWxhdGl2ZSA9IHJlbGF0aXZlKGNvbmZpZy5yb290LCBzb3VyY2VEaXIpXG5jb25zdCBvdmVycmlkZXNSb290ID0gam9pbihjb25maWcucm9vdCwgXCIubGl2ZW1hcmtcIilcblxuLy8gU2VlZCBgLmxpdmVtYXJrLy5naXRpZ25vcmVgIG9uIGZpcnN0IHJ1biBzbyBWaXRlJ3MgYnVpbGQvY2FjaGUgYXJ0aWZhY3RzXG4vLyBuZXZlciBnZXQgY29tbWl0dGVkIGJ5IGFjY2lkZW50LlxuY29uc3QgZ2l0aWdub3JlUGF0aCA9IGpvaW4ob3ZlcnJpZGVzUm9vdCwgXCIuZ2l0aWdub3JlXCIpXG5pZiAoIWV4aXN0c1N5bmMoZ2l0aWdub3JlUGF0aCkpIHtcbiAgbWtkaXJTeW5jKG92ZXJyaWRlc1Jvb3QsIHsgcmVjdXJzaXZlOiB0cnVlIH0pXG4gIHdyaXRlRmlsZVN5bmMoZ2l0aWdub3JlUGF0aCwgXCIvYnVpbGRcXG4vY2FjaGVcXG5cIilcbn1cblxuY29uc3Qgcm91dGVDaGlsZHJlbjogVmlydHVhbFJvdXRlTm9kZVtdID0gW3JvdXRlKFwiLyRcIiwgXCIkLnRzeFwiKV1cbmlmIChleGlzdHNTeW5jKGpvaW4ob3ZlcnJpZGVzUm9vdCwgXCJyb3V0ZXNcIikpKSB7XG4gIC8vIHBoeXNpY2FsKGRpcikgcmVzb2x2ZXMgYGRpcmAgcmVsYXRpdmUgdG8gdGhlIHJvdXRlcyBkaXJlY3RvcnlcbiAgLy8gKGBzcmNEaXJlY3Rvcnkvcm91dGVzYCkuIEEgaGFyZGNvZGVkIFwiLi4vLi4vLmxpdmVtYXJrL3JvdXRlc1wiIG9ubHlcbiAgLy8gd29ya3Mgd2hlbiBzb3VyY2UvIHNpdHMgb25lIGxldmVsIHVuZGVyIGNvbmZpZy5yb290IOKAlCBpdCBsYW5kcyBhdFxuICAvLyBub2RlX21vZHVsZXMvLmxpdmVtYXJrL3JvdXRlcyBvbmNlIGxpdmVtYXJrIGlzIGluc3RhbGxlZC4gQ29tcHV0ZVxuICAvLyB0aGUgcGF0aCBkeW5hbWljYWxseSBmcm9tIHRoZSBjb25zdW1lcidzIGFjdHVhbCBsYXlvdXQuXG4gIGNvbnN0IHJvdXRlc0RpciA9IGpvaW4oc291cmNlRGlyLCBcInJvdXRlc1wiKVxuICByb3V0ZUNoaWxkcmVuLnB1c2goXG4gICAgcGh5c2ljYWwocmVsYXRpdmUocm91dGVzRGlyLCBqb2luKG92ZXJyaWRlc1Jvb3QsIFwicm91dGVzXCIpKSksXG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcbiAgcm9vdDogY29uZmlnLnJvb3QsXG4gIHB1YmxpY0Rpcjogam9pbihjb25maWcucm9vdCwgXCIubGl2ZW1hcmtcIiwgXCJwdWJsaWNcIiksXG4gIGJ1aWxkOiB7IG91dERpcjogXCIubGl2ZW1hcmsvYnVpbGRcIiB9LFxuICBkZWZpbmU6IHtcbiAgICBcImltcG9ydC5tZXRhLmVudi5DT05GSUdcIjogSlNPTi5zdHJpbmdpZnkoV2Vic2l0ZUNvbmZpZy5wYXJzZShjb25maWcpKSxcbiAgfSxcbiAgcGx1Z2luczogW1xuICAgIGxpdmVtYXJrKHtcbiAgICAgIGRlZmF1bHRzUm9vdDogc291cmNlRGlyLFxuICAgICAgb3ZlcnJpZGVzUm9vdCxcbiAgICAgIHN1YmRpcnM6IFsuLi5PVkVSUklERV9TVUJESVJTXSxcbiAgICAgIGNvbmZpZ1BhdGg6IGNvbmZpZy5jb25maWdQYXRoLFxuICAgIH0pLFxuICAgIGRldnRvb2xzKCksXG4gICAgdGFpbHdpbmQoKSxcbiAgICBjb250ZW50Q29sbGVjdGlvbnMoe1xuICAgICAgY29uZmlnUGF0aDogam9pbihzb3VyY2VSZWxhdGl2ZSwgXCJjb250ZW50LWNvbGxlY3Rpb25zLnRzXCIpLFxuICAgIH0pLFxuICAgIHRhbnN0YWNrU3RhcnQoe1xuICAgICAgc3JjRGlyZWN0b3J5OiBzb3VyY2VSZWxhdGl2ZSxcbiAgICAgIHBhZ2VzOiBbeyBwYXRoOiBcIi9cIiB9XSxcbiAgICAgIHByZXJlbmRlcjogeyBlbmFibGVkOiB0cnVlLCBjcmF3bExpbmtzOiB0cnVlIH0sXG4gICAgICBzaXRlbWFwOiBjb25maWcuc2l0ZVxuICAgICAgICA/IHsgZW5hYmxlZDogdHJ1ZSwgaG9zdDogY29uZmlnLnNpdGUgfVxuICAgICAgICA6IHsgZW5hYmxlZDogZmFsc2UgfSxcbiAgICAgIHJvdXRlcjoge1xuICAgICAgICB2aXJ0dWFsUm91dGVDb25maWc6IHJvb3RSb3V0ZShcIl9fcm9vdC50c3hcIiwgcm91dGVDaGlsZHJlbiksXG4gICAgICB9LFxuICAgIH0pLFxuICAgIHJlYWN0KCksXG4gICAgc3ZncigpLFxuICBdLFxufSlcbiJdfQ==
|
package/source/routeTree.gen.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
// @ts-nocheck
|
|
4
|
-
|
|
5
|
-
// noinspection JSUnusedGlobalSymbols
|
|
6
|
-
|
|
7
|
-
// This file was automatically generated by TanStack Router.
|
|
8
|
-
// You should NOT make any changes in this file as it will be overwritten.
|
|
9
|
-
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
|
|
10
|
-
|
|
11
|
-
import { Route as rootRouteImport } from './routes/__root'
|
|
12
|
-
import { Route as splatRouteImport } from './routes/$'
|
|
13
|
-
import { Route as IndexRouteImport } from './../.livemark/routes/index'
|
|
14
|
-
|
|
15
|
-
const splatRoute = splatRouteImport.update({
|
|
16
|
-
id: '/$',
|
|
17
|
-
path: '/$',
|
|
18
|
-
getParentRoute: () => rootRouteImport,
|
|
19
|
-
} as any)
|
|
20
|
-
const IndexRoute = IndexRouteImport.update({
|
|
21
|
-
id: '/',
|
|
22
|
-
path: '/',
|
|
23
|
-
getParentRoute: () => rootRouteImport,
|
|
24
|
-
} as any)
|
|
25
|
-
|
|
26
|
-
export interface FileRoutesByFullPath {
|
|
27
|
-
'/': typeof IndexRoute
|
|
28
|
-
'/$': typeof splatRoute
|
|
29
|
-
}
|
|
30
|
-
export interface FileRoutesByTo {
|
|
31
|
-
'/': typeof IndexRoute
|
|
32
|
-
'/$': typeof splatRoute
|
|
33
|
-
}
|
|
34
|
-
export interface FileRoutesById {
|
|
35
|
-
__root__: typeof rootRouteImport
|
|
36
|
-
'/': typeof IndexRoute
|
|
37
|
-
'/$': typeof splatRoute
|
|
38
|
-
}
|
|
39
|
-
export interface FileRouteTypes {
|
|
40
|
-
fileRoutesByFullPath: FileRoutesByFullPath
|
|
41
|
-
fullPaths: '/' | '/$'
|
|
42
|
-
fileRoutesByTo: FileRoutesByTo
|
|
43
|
-
to: '/' | '/$'
|
|
44
|
-
id: '__root__' | '/' | '/$'
|
|
45
|
-
fileRoutesById: FileRoutesById
|
|
46
|
-
}
|
|
47
|
-
export interface RootRouteChildren {
|
|
48
|
-
IndexRoute: typeof IndexRoute
|
|
49
|
-
splatRoute: typeof splatRoute
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
declare module '@tanstack/react-router' {
|
|
53
|
-
interface FileRoutesByPath {
|
|
54
|
-
'/$': {
|
|
55
|
-
id: '/$'
|
|
56
|
-
path: '/$'
|
|
57
|
-
fullPath: '/$'
|
|
58
|
-
preLoaderRoute: typeof splatRouteImport
|
|
59
|
-
parentRoute: typeof rootRouteImport
|
|
60
|
-
}
|
|
61
|
-
'/': {
|
|
62
|
-
id: '/'
|
|
63
|
-
path: '/'
|
|
64
|
-
fullPath: '/'
|
|
65
|
-
preLoaderRoute: typeof IndexRouteImport
|
|
66
|
-
parentRoute: typeof rootRouteImport
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
const rootRouteChildren: RootRouteChildren = {
|
|
72
|
-
IndexRoute: IndexRoute,
|
|
73
|
-
splatRoute: splatRoute,
|
|
74
|
-
}
|
|
75
|
-
export const routeTree = rootRouteImport
|
|
76
|
-
._addFileChildren(rootRouteChildren)
|
|
77
|
-
._addFileTypes<FileRouteTypes>()
|
|
78
|
-
|
|
79
|
-
import type { getRouter } from './router.tsx'
|
|
80
|
-
import type { createStart } from '@tanstack/react-start'
|
|
81
|
-
declare module '@tanstack/react-start' {
|
|
82
|
-
interface Register {
|
|
83
|
-
ssr: true
|
|
84
|
-
router: Awaited<ReturnType<typeof getRouter>>
|
|
85
|
-
}
|
|
86
|
-
}
|