diff --git a/blog/ascii.md b/blog/ascii.md
new file mode 100644
index 00000000..80e62ca3
--- /dev/null
+++ b/blog/ascii.md
@@ -0,0 +1,66 @@
+import CodeBlock from '@theme/CodeBlock';
+import Example from '@site/static/d2/ascii-ex.d2';
+
+# ASCII output
+
+In the latest release of D2 (0.7.1), we introduce ASCII outputs.
+
+Any output file with extension `txt` will use the ASCII renderer to write to it.
+
+```shell
+d2 in.d2 out.txt
+```
+
+
+
+Here is an example of their rendering from the [D2 Vim extension](https://github.com/terrastruct/d2-vim). The user opens a `.d2` file and opens a preview window, which updates upon every save.
+
+
+
+## Code documentation
+
+Perhaps the most useful place for ASCII diagrams is in the source code comments. Small
+simple diagrams next to functions or classes can serve to be much clearer than describing
+a flow.
+
+Here again the Vim extension demonstrates a functionality to write some d2 code and
+replace the selection with the ASCII render.
+
+
+
+## Unicode and standard ASCII
+
+The default character set of ASCII renders is unicode, which has nicer box-drawing
+characters. If you'd like true ASCII for maximum portability, you can specify this with
+the flag `--ascii-mode=standard`.
+
+## Limitations
+
+:::info Alpha
+Note that the ASCII renderer should be considered in alpha stage. There will be many
+corner cases, areas of improvements, and outright bugs. If you enjoy using it, we'd
+appreciate you taking the time to file any issues you run into:
+[https://github.com/terrastruct/d2/issues](https://github.com/terrastruct/d2/issues).
+:::
+
+The ASCII renderer is a downscale of the layout determined by the ELK layout engine with
+some post-processing to further compact it.
+
+- No styles are supported
+ - Some will never be, e.g. `animated` and `font` don't make sense in ASCII.
+ - Some may in the future with limited scope, e.g. colors when rendered to terminal.
+ - By extension, themes are moot
+ - Some should be considered TODOs, e.g. `double-border` and `multiple`
+- Uneven spacing
+ - Sometimes the downscaling results in a box with uneven spacing, e.g. a rectangle with
+width 5 and the label is 2 chars. Due to discrete coordinate space in ASCII renders, some
+outputs may look less even than their SVG counterparts.
+
+## Try it yourself
+
+This is live now in the D2 Playground. Try opening the below code block (click top right
+of it).
+
+
+ {Example}
+
diff --git a/ci/examples/examples.sh b/ci/examples/examples.sh
index 0b83442a..95dcaef0 100755
--- a/ci/examples/examples.sh
+++ b/ci/examples/examples.sh
@@ -9,7 +9,16 @@ main() {
# Create temp directory for extracted files
temp_dir=$(mktemp -d)
- trap "rm -rf $temp_dir" EXIT
+
+ # Create temp directory for generated SVGs when no args provided
+ if [ $# -eq 0 ]; then
+ temp_output_dir=$(mktemp -d)
+ trap "rm -rf $temp_dir $temp_output_dir" EXIT
+ output_dir="$temp_output_dir"
+ else
+ trap "rm -rf $temp_dir" EXIT
+ output_dir="./static/img/examples"
+ fi
# Parse txtar file
current_file=""
@@ -68,12 +77,18 @@ main() {
bigheader "$output_name"
# Generate SVG with appropriate layout
- runjob sh_c D2_LAYOUT=$layout d2 --theme=0 -c --pad 10 "$d2_file" "./static/img/examples/$output_name.svg2" &
+ runjob sh_c D2_LAYOUT=$layout d2 --omit-version --theme=0 -c --pad 10 "$d2_file" "$output_dir/$output_name.svg2" &
done
done
waitjobs
+ # If no args provided, replace the examples directory with temp directory contents
+ if [ $# -eq 0 ]; then
+ rm -rf ./static/img/examples/*
+ cp "$temp_output_dir"/* ./static/img/examples/
+ fi
+
# Generate the examples pages
generate_examples_pages
}
diff --git a/ci/render.sh b/ci/render.sh
index 0d2201bd..bd6843eb 100755
--- a/ci/render.sh
+++ b/ci/render.sh
@@ -4,44 +4,54 @@ set -eu
cd -- "$(dirname "$0")/.."
_normal() {
- sh_c d2 --dark-theme=200 -c --pad 0 ./static/d2/${ex}.d2 ./static/img/generated/${ex}.svg2
+ sh_c d2 --omit-version --dark-theme=200 -c --pad 0 ./static/d2/${ex}.d2 ${output_dir}/${ex}.svg2
}
+
_bespoke() {
- sh_c d2 --theme=300 --dark-theme=200 -l elk -c --pad 0 ./static/bespoke-d2/terminal-theme.d2 ./static/img/generated/terminal-theme.svg2
- sh_c d2 --theme=300 --dark-theme=200 -l elk -c --pad 0 ./static/bespoke-d2/theme-override.d2 ./static/img/generated/theme-override.svg2
- sh_c d2 --animate-interval=1400 -l elk -c --pad 0 ./static/bespoke-d2/animated.d2 ./static/img/generated/animated.svg2
- sh_c d2 --animate-interval=1400 -c --pad 0 ./static/bespoke-d2/chicken.d2 ./static/img/generated/chicken.svg2
- sh_c d2 --pad 50 ./static/bespoke-d2/tiktok.d2 ./static/img/generated/tiktok.pdf
- sh_c d2 --pad 0 ./static/bespoke-d2/cat.d2 ./static/img/generated/cat.pdf
- sh_c d2 --pad 50 ./static/bespoke-d2/lotr.d2 ./static/img/generated/lotr.pdf
+ sh_c d2 --omit-version --theme=300 --dark-theme=200 -l elk -c --pad 0 ./static/bespoke-d2/terminal-theme.d2 ${output_dir}/terminal-theme.svg2
+ sh_c d2 --omit-version --theme=300 --dark-theme=200 -l elk -c --pad 0 ./static/bespoke-d2/theme-override.d2 ${output_dir}/theme-override.svg2
+ sh_c d2 --omit-version --animate-interval=1400 -l elk -c --pad 0 ./static/bespoke-d2/animated.d2 ${output_dir}/animated.svg2
+ sh_c d2 --omit-version --animate-interval=1400 -c --pad 0 ./static/bespoke-d2/chicken.d2 ${output_dir}/chicken.svg2
+ sh_c d2 --omit-version --pad 50 ./static/bespoke-d2/tiktok.d2 ${output_dir}/tiktok.pdf
+ sh_c d2 --omit-version --pad 0 ./static/bespoke-d2/cat.d2 ${output_dir}/cat.pdf
+ sh_c d2 --omit-version --pad 50 ./static/bespoke-d2/lotr.d2 ${output_dir}/lotr.pdf
- sh_c d2 --pad 50 ./static/bespoke-d2/c4-code.d2 ./static/img/generated/c4.pdf
+ sh_c d2 --omit-version --pad 50 ./static/bespoke-d2/c4-code.d2 ${output_dir}/c4.pdf
- sh_c d2 --animate-interval=1600 -c --pad 50 -l elk ./static/bespoke-d2/tax.d2 ./static/img/generated/tax.svg2
- sh_c d2 --animate-interval=1600 -c --pad 0 -l elk ./static/bespoke-d2/pizza.d2 ./static/img/generated/pizza.svg2
- sh_c d2 --animate-interval=1600 -c --pad 0 -l elk ./static/bespoke-d2/johnwick.d2 ./static/img/generated/johnwick.svg2
+ sh_c d2 --omit-version --animate-interval=1600 -c --pad 50 -l elk ./static/bespoke-d2/tax.d2 ${output_dir}/tax.svg2
+ sh_c d2 --omit-version --animate-interval=1600 -c --pad 0 -l elk ./static/bespoke-d2/pizza.d2 ${output_dir}/pizza.svg2
+ sh_c d2 --omit-version --animate-interval=1600 -c --pad 0 -l elk ./static/bespoke-d2/johnwick.d2 ${output_dir}/johnwick.svg2
- sh_c d2 --animate-interval=400 -c --pad 0 ./static/bespoke-d2/grid-row-dominant.d2 ./static/img/generated/grid-row-dominant.svg2
- sh_c d2 --animate-interval=400 -c --pad 0 ./static/bespoke-d2/grid-column-dominant.d2 ./static/img/generated/grid-column-dominant.svg2
+ sh_c d2 --omit-version --animate-interval=400 -c --pad 0 ./static/bespoke-d2/grid-row-dominant.d2 ${output_dir}/grid-row-dominant.svg2
+ sh_c d2 --omit-version --animate-interval=400 -c --pad 0 ./static/bespoke-d2/grid-column-dominant.d2 ${output_dir}/grid-column-dominant.svg2
- sh_c d2 ./static/bespoke-d2/cult.d2 ./static/img/generated/cult.pptx
- sh_c d2 ./static/bespoke-d2/wcc.d2 ./static/img/generated/wcc.pptx
+ sh_c d2 --omit-version ./static/bespoke-d2/cult.d2 ${output_dir}/cult.pptx
+ sh_c d2 --omit-version ./static/bespoke-d2/wcc.d2 ${output_dir}/wcc.pptx
- sh_c d2 ./static/bespoke-d2/imports-nested.d2 ./static/img/generated/imports-nested.pdf
+ sh_c d2 --omit-version ./static/bespoke-d2/imports-nested.d2 ${output_dir}/imports-nested.pdf
- sh_c d2 ./static/bespoke-d2/triple-glob.d2 ./static/img/generated/triple-glob.pdf
+ sh_c d2 --omit-version ./static/bespoke-d2/triple-glob.d2 ${output_dir}/triple-glob.pdf
- sh_c d2 --sketch ./static/bespoke-d2/grid-nested-connections.d2 ./static/img/generated/grid-nested-connections.svg2
+ sh_c d2 --omit-version --sketch ./static/bespoke-d2/grid-nested-connections.d2 ${output_dir}/grid-nested-connections.svg2
- sh_c d2 --dark-theme=200 -l elk -c --pad 0 ./static/bespoke-d2/classes-3.d2 ./static/img/generated/classes-3.svg2
+ sh_c d2 --omit-version --dark-theme=200 -l elk -c --pad 0 ./static/bespoke-d2/classes-3.d2 ${output_dir}/classes-3.svg2
- sh_c d2 -c --pad 50 ./static/bespoke-d2/styles-animated.d2 ./static/img/generated/styles-animated.svg2
+ sh_c d2 --omit-version -c --pad 50 ./static/bespoke-d2/styles-animated.d2 ${output_dir}/styles-animated.svg2
}
main() {
job_parseflags "$@"
+ # Set up output directory - use temp dir if no args, direct output if filtered
+ if [ $# -eq 0 ]; then
+ temp_output_dir=$(mktemp -d)
+ trap "rm -rf $temp_output_dir" EXIT
+ output_dir="$temp_output_dir"
+ else
+ output_dir="./static/img/generated"
+ fi
+
for ex in ./static/d2/*.d2; do
ex=${ex#./static/d2/}
ex=${ex%.d2}
@@ -58,6 +68,12 @@ main() {
runjob _bespoke &
fi
waitjobs
+
+ # If no args provided, replace the generated directory with temp directory contents
+ if [ $# -eq 0 ]; then
+ rm -rf ./static/img/generated/*
+ cp "$temp_output_dir"/* ./static/img/generated/
+ fi
}
main "$@"
diff --git a/docs/tour/connections.md b/docs/tour/connections.md
index 23dc1b04..51a42aab 100644
--- a/docs/tour/connections.md
+++ b/docs/tour/connections.md
@@ -113,6 +113,7 @@ To override the default arrowhead shape or give a label next to arrowheads, defi
- Can be further styled as `style.filled: true`.
- `cf-one`, `cf-one-required` (cf stands for crows foot)
- `cf-many`, `cf-many-required`
+- `cross`
:::
:::info
diff --git a/docs/tour/exports.md b/docs/tour/exports.md
index 473a2629..9970461a 100644
--- a/docs/tour/exports.md
+++ b/docs/tour/exports.md
@@ -8,6 +8,7 @@ On the CLI, you may export `.d2` into
* [PDF](#pdf)
* [PPTX](#pptx)
* [GIF](#gif)
+* [ASCII](#ascii)
* [Stdout](#stdout)
## SVG
@@ -102,6 +103,60 @@ For example, show two Scenarios, show a couple of steps. Something that the audi
digest in a loop that lasts a couple of seconds without needing to flip through it
manually.
+## ASCII
+
+:::warning Beta
+ASCII outputs are new as of 0.7.1. They are to be considered in beta, and many diagrams
+may not render correctly.
+:::
+
+ASCII exports render diagrams as text-based art, perfect for documentation, terminals, and environments where graphical formats aren't suitable. D2 automatically detects the `.txt` file extension and renders in ASCII format.
+
+```shell
+d2 in.d2 out.txt
+```
+
+### Character sets
+
+D2 supports two ASCII character modes:
+
+#### Extended mode (default)
+Uses Unicode box-drawing characters for cleaner output:
+
+```shell
+d2 in.d2 out.txt
+```
+
+```
+┌───────┐ ┌───────┐
+│ Hello │──────▶│ World │
+└───────┘ └───────┘
+```
+
+#### Standard mode
+Uses basic ASCII characters for maximum compatibility:
+
+```shell
+d2 --ascii-mode standard in.d2 out.txt
+```
+
+```
++-------+ +-------+
+| Hello |------>| World |
++-------+ +-------+
+```
+
+### Notes
+
+- Renders only with ELK and TALA, due to curved lines not rendering well in ASCII. If
+ Dagre (or unspecified) is chosen, it will render in ELK.
+- Some shapes are supported, like Person, but some shapes are hard to represent cleanly in
+ ASCII. It's best to avoid using these shapes when the output is ASCII, but if it can't
+ be avoided, in these cases, an icon on the top-left corner represents what the shape is
+ meant to be.
+- Many styles are moot in ASCII, such as shadow or multiple or animated. It's best to keep
+ it as simple box and arrow type diagrams.
+
## Stdout
D2 accepts `-` in place of the input and/or output arguments. SVG is used as the format
diff --git a/docs/tour/fonts.md b/docs/tour/fonts.md
index 88eddb86..d4897f9a 100644
--- a/docs/tour/fonts.md
+++ b/docs/tour/fonts.md
@@ -29,7 +29,16 @@ one but not all of the fonts, it will fall back to Source Sans Pro for the missi
For example, if you give a `--font-regular`, `--font-bold`, and `--font-semibold`, then the
italic will remain as Source Sans Pro Italic.
-:::info
-Do you want to customize the fonts for code or sketch mode? Please raise an Issue on
-GitHub. We'll support this if there's demand.
-:::
+## Mono fonts
+
+If you'd like to customize the mono fonts:
+
+- `--font-regular`
+- `--font-italic`
+- `--font-bold`
+- `--fond-semibold`
+
+## Sketch font
+
+In sketch mode, if you supply a font, it will replace the default hand-drawn font family
+instead of Source Sans Pro.
diff --git a/docs/tour/legend.md b/docs/tour/legend.md
index ec8d9fdd..2948705a 100644
--- a/docs/tour/legend.md
+++ b/docs/tour/legend.md
@@ -23,3 +23,17 @@ of shapes to exclude them from the legend.
+
+## Rename "legend"
+
+You may rename "legend" by simply giving it a label. This is particularly useful for
+non-English diagrams.
+
+```d2
+vars: {
+ d2-legend: "凡例" {
+ # Legend items...
+ }
+}
+# Rest of diagram...
+```
diff --git a/docs/tour/man.md b/docs/tour/man.md
index ad6e5074..fb787f75 100644
--- a/docs/tour/man.md
+++ b/docs/tour/man.md
@@ -65,6 +65,11 @@ OPTIONS
-s, --sketch false
Renders the diagram to look like it was sketched by hand.
+ --ascii-mode extended
+ Character set to use for ASCII output (.txt extension or
+ --stdout-format ascii). Options: standard (basic ASCII) or
+ extended (Unicode box-drawing characters).
+
--center flag
Center the SVG in the containing viewbox, such as your
browser screen.
@@ -145,7 +150,7 @@ OPTIONS
--stdout-format string
Set the output format when writing to stdout. Supported
- formats are: png, svg. Only used when output is set to stdout
+ formats are: png, svg, ascii. Only used when output is set to stdout
(-).
--no-xml-tag false
@@ -236,6 +241,9 @@ ENVIRONMENT VARIABLES
D2_STDOUT_FORMAT
See --stdout-format flag.
+ D2_ASCII_MODE
+ See --ascii-mode flag.
+
D2_NO_XML_TAG
See --no-xml-tag flag.
diff --git a/docs/tour/positions.md b/docs/tour/positions.md
index 0b2e4fba..26b752b9 100644
--- a/docs/tour/positions.md
+++ b/docs/tour/positions.md
@@ -4,6 +4,8 @@ import NearConstant from '@site/static/d2/near-constant.d2';
import NearContainer from '@site/static/d2/near-container.d2';
import NearExplanation from '@site/static/d2/near-explanation.d2';
import NearLabelIcon from '@site/static/d2/near-label-icon.d2';
+import BorderLabel from '@site/static/d2/border-label.d2';
+import TooltipNear from '@site/static/d2/tooltip-near.d2';
# Positions
@@ -62,7 +64,7 @@ The `near` can be nested to `label` and `icon` to specify their positions.
-:::info Extra values
+### Outside and border
When positioning labels and icons, in addition to the values that `near` can take
elsewhere, an `outside-` prefix can be added to specify positioning outside the bounding
@@ -76,8 +78,25 @@ box of the shape.
Note that `outside-left-center` is a different order than `center-left`.
-:::
+You can also add `border-x` prefix to specify the label being on the border.
+
+
+ {BorderLabel}
+
+
+
+
+## Tooltip near
+
+Usually, `tooltip` is a on-hover effect. However, if you specify a `near` field, it will
+permanently show.
+
+
+ {TooltipNear}
+
+
+
## Near objects
diff --git a/docs/tour/text.md b/docs/tour/text.md
index 793a0368..79ab2dcd 100644
--- a/docs/tour/text.md
+++ b/docs/tour/text.md
@@ -81,7 +81,14 @@ Change `md` to a programming language for code blocks
:::info Supported syntax highlighting languages
See the [Chroma library](https://github.com/alecthomas/chroma?tab=readme-ov-file#supported-languages) for a full list of supported languages.
-D2 also provides convenient short aliases: `md` → `markdown`, `tex` → `latex`, `js` → `javascript`, `go` → `golang`, `py` → `python`, `rb` → `ruby`, `ts` → `typescript`.
+D2 also provides convenient short aliases:
+- `md` → `markdown`
+- `tex` → `latex`
+- `js` → `javascript`
+- `go` → `golang`
+- `py` → `python`
+- `rb` → `ruby`
+- `ts` → `typescript`
If a language isn't recognized, D2 will fall back to plain text rendering without syntax highlighting.
:::
diff --git a/src/theme/CodeBlock/index.js b/src/theme/CodeBlock/index.js
index ffc80048..7245a376 100644
--- a/src/theme/CodeBlock/index.js
+++ b/src/theme/CodeBlock/index.js
@@ -179,6 +179,9 @@ export default function D2CodeBlock(props) {
if (props.layout) {
playgroundURL.searchParams.set("layout", props.layout);
}
+ if (props.ascii) {
+ playgroundURL.searchParams.set("ascii", "1");
+ }
window.open(playgroundURL, "_blank");
}}
>
diff --git a/static/blog/ascii/preview.gif b/static/blog/ascii/preview.gif
new file mode 100644
index 00000000..2fbae7a0
Binary files /dev/null and b/static/blog/ascii/preview.gif differ
diff --git a/static/blog/ascii/replace.gif b/static/blog/ascii/replace.gif
new file mode 100644
index 00000000..d66c8f1c
Binary files /dev/null and b/static/blog/ascii/replace.gif differ
diff --git a/static/blog/dark_mode/render.sh b/static/blog/dark_mode/render.sh
index 7a09a0fe..cefcbebd 100755
--- a/static/blog/dark_mode/render.sh
+++ b/static/blog/dark_mode/render.sh
@@ -1,6 +1,6 @@
cd $(git rev-parse --show-toplevel)
-d2 --dark-theme=200 -l elk --pad 20 ./static/blog/dark_mode/main.d2 ./static/blog/dark_mode/main.svg2
+d2 --omit-version --dark-theme=200 -l elk --pad 20 ./static/blog/dark_mode/main.d2 ./static/blog/dark_mode/main.svg2
-d2 -l elk --pad 20 ./static/blog/dark_mode/perma.d2 ./static/blog/dark_mode/permalight.png
-d2 --theme=200 -l elk --pad 20 ./static/blog/dark_mode/perma.d2 ./static/blog/dark_mode/permadark.png
+d2 --omit-version -l elk --pad 20 ./static/blog/dark_mode/perma.d2 ./static/blog/dark_mode/permalight.png
+d2 --omit-version --theme=200 -l elk --pad 20 ./static/blog/dark_mode/perma.d2 ./static/blog/dark_mode/permadark.png
diff --git a/static/blog/sketch/render.sh b/static/blog/sketch/render.sh
index c5304135..68ba1787 100755
--- a/static/blog/sketch/render.sh
+++ b/static/blog/sketch/render.sh
@@ -1,5 +1,5 @@
cd $(git rev-parse --show-toplevel)
-d2 -l elk --pad 20 --sketch ./static/blog/sketch/main.d2 ./static/blog/sketch/main.svg2
+d2 --omit-version -l elk --pad 20 --sketch ./static/blog/sketch/main.d2 ./static/blog/sketch/main.svg2
-d2 --pad 20 --sketch ./static/blog/sketch/animated.d2 ./static/blog/sketch/animated.svg2
+d2 --omit-version --pad 20 --sketch ./static/blog/sketch/animated.d2 ./static/blog/sketch/animated.svg2
diff --git a/static/d2/ascii-ex.d2 b/static/d2/ascii-ex.d2
new file mode 100644
index 00000000..6610c774
--- /dev/null
+++ b/static/d2/ascii-ex.d2
@@ -0,0 +1,34 @@
+LangUnits: {
+ RegexVal: {
+ ds
+ }
+ SQLSelect: {
+ ds
+ }
+ PythonTr: {
+ ds
+ }
+ langunit: {
+ "... ds"
+ }
+}
+
+LangUnits <- ExperimentHost.Dataset: "load dataset"
+Dataset UI -> LangUnits: "manage datasets"
+
+Dataset UI
+
+ExperimentHost: {
+ Experiment
+ Dataset
+}
+ExperimentHost.Experiment -> Experiment
+
+Experiment.ModelConfigurations
+Experiment.LangUnit
+
+Experiment.ModelConfigurations -> ModelConfiguration
+
+ModelConfiguration.Prompting
+ModelConfiguration.Model
+ModelConfiguration.LangUnit
diff --git a/static/d2/border-label.d2 b/static/d2/border-label.d2
new file mode 100644
index 00000000..44e1732d
--- /dev/null
+++ b/static/d2/border-label.d2
@@ -0,0 +1,28 @@
+style.fill: "#222a25"
+env: Your environment {
+ # --- Outside label ---
+ label.near: outside-bottom-center
+ style.fill: "#222a25"
+ style.stroke-dash: 2
+ style.double-border: false
+ style.stroke: "#1e402d"
+ style.font-color: "#3ddb89"
+ app: Your applicaton {
+ # --- Border label ---
+ label.near: border-top-center
+ style.stroke: "#3d9069"
+ style.fill: "#222a25"
+ style.font-color: "#63c08c"
+
+ *.style.stroke: "#adf1c6"
+ *.style.fill: "#306a4a"
+ *.style.font-color: "#eef9f3"
+ Workflow
+ SDK
+ Workers
+ Workflow -> SDK: hello {
+ style.stroke: "#fbfdfd"
+ style.font-color: "#adf1c6"
+ }
+ }
+}
diff --git a/static/d2/tooltip-near.d2 b/static/d2/tooltip-near.d2
new file mode 100644
index 00000000..bae6e113
--- /dev/null
+++ b/static/d2/tooltip-near.d2
@@ -0,0 +1,11 @@
+ci-runner
+codedeploy: {
+ tooltip: |md
+ God has abandoned this pipeline
+ |
+ tooltip.near: center-left
+}
+aws instance
+
+ci-runner -> codedeploy -> aws instance: safe deploy
+ci-runner -> aws instance: direct deploy
diff --git a/static/img/examples/example-bank-securities-dagre.svg2 b/static/img/examples/example-bank-securities-dagre.svg2
index e09da511..aa9257d8 100644
--- a/static/img/examples/example-bank-securities-dagre.svg2
+++ b/static/img/examples/example-bank-securities-dagre.svg2
@@ -1,4 +1,4 @@
-bank Corporate Equities Securities Finance Risk Funds Fixed Income Data Source tco: 100,000 owner: Lakshmi Risk Global tco: 600,000 owner: Wendy Credit guard tco: 100,000 owner: Lakshmi Seven heaven tco: 100,000 owner: Tomos Apac Ace tco: 400,000 owner: Wendy Risk Global tco: 900,000 owner: Tomos Zone out tco: 500,000 owner: Wendy Credit guard tco: 700,000 owner: India Ark Crypto tco: 1,500,000 owner: Wendy Data Solar tco: 1,200,000 owner: Deepak Seven heaven tco: 0 owner: Joesph Crypto Bot tco: 1,100,000 owner: Wendy Risk Global tco: 500,000 owner: Joesph ARC3 tco: 600,000 owner: Wendy Acmaze tco: 100,000 owner: Tomos client master greeks allocations trades orders greeks orders orders greeks allocations trades security reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/examples/example-bank-securities-elk.svg2 b/static/img/examples/example-bank-securities-elk.svg2
index 9e4b1e65..656b267d 100644
--- a/static/img/examples/example-bank-securities-elk.svg2
+++ b/static/img/examples/example-bank-securities-elk.svg2
@@ -1,4 +1,4 @@
-bank Corporate Equities Securities Finance Risk Funds Fixed Income Data Source tco: 100,000 owner: Lakshmi Risk Global tco: 600,000 owner: Wendy Credit guard tco: 100,000 owner: Lakshmi Seven heaven tco: 100,000 owner: Tomos Apac Ace tco: 400,000 owner: Wendy Risk Global tco: 900,000 owner: Tomos Zone out tco: 500,000 owner: Wendy Credit guard tco: 700,000 owner: India Ark Crypto tco: 1,500,000 owner: Wendy Data Solar tco: 1,200,000 owner: Deepak Seven heaven tco: 0 owner: Joesph Crypto Bot tco: 1,100,000 owner: Wendy Risk Global tco: 500,000 owner: Joesph ARC3 tco: 600,000 owner: Wendy Acmaze tco: 100,000 owner: Tomos client master greeks allocations trades orders greeks orders orders greeks allocations trades security reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/examples/example-bank-securities-tala.svg2 b/static/img/examples/example-bank-securities-tala.svg2
index ef3bf46c..0ac7d701 100644
--- a/static/img/examples/example-bank-securities-tala.svg2
+++ b/static/img/examples/example-bank-securities-tala.svg2
@@ -1,4 +1,4 @@
-bank Corporate Equities Securities Finance Risk Funds Fixed Income Data Source tco: 100,000 owner: Lakshmi Risk Global tco: 600,000 owner: Wendy Credit guard tco: 100,000 owner: Lakshmi Seven heaven tco: 100,000 owner: Tomos Apac Ace tco: 400,000 owner: Wendy Risk Global tco: 900,000 owner: Tomos Zone out tco: 500,000 owner: Wendy Credit guard tco: 700,000 owner: India Ark Crypto tco: 1,500,000 owner: Wendy Data Solar tco: 1,200,000 owner: Deepak Seven heaven tco: 0 owner: Joesph Crypto Bot tco: 1,100,000 owner: Wendy Risk Global tco: 500,000 owner: Joesph ARC3 tco: 600,000 owner: Wendy Acmaze tco: 100,000 owner: Tomos client master greeks allocations trades orders greeks orders orders greeks allocations trades security reference
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/examples/example-basic-dagre.svg2 b/static/img/examples/example-basic-dagre.svg2
deleted file mode 100644
index 22ac3a64..00000000
--- a/static/img/examples/example-basic-dagre.svg2
+++ /dev/null
@@ -1,97 +0,0 @@
-x y z
-
-
-
-
-
diff --git a/static/img/examples/example-basic-elk.svg2 b/static/img/examples/example-basic-elk.svg2
deleted file mode 100644
index a751a208..00000000
--- a/static/img/examples/example-basic-elk.svg2
+++ /dev/null
@@ -1,97 +0,0 @@
-x y z
-
-
-
-
-
diff --git a/static/img/examples/example-basic-tala.svg2 b/static/img/examples/example-basic-tala.svg2
deleted file mode 100644
index 146bc1d1..00000000
--- a/static/img/examples/example-basic-tala.svg2
+++ /dev/null
@@ -1,97 +0,0 @@
-x y z
-
-
-
-
-
diff --git a/static/img/examples/example-classes-dagre.svg2 b/static/img/examples/example-classes-dagre.svg2
deleted file mode 100644
index 506dd234..00000000
--- a/static/img/examples/example-classes-dagre.svg2
+++ /dev/null
@@ -1,95 +0,0 @@
-User - id int - name string + getName() string
-
-
-
diff --git a/static/img/examples/example-classes-elk.svg2 b/static/img/examples/example-classes-elk.svg2
deleted file mode 100644
index d40f0cff..00000000
--- a/static/img/examples/example-classes-elk.svg2
+++ /dev/null
@@ -1,95 +0,0 @@
-User - id int - name string + getName() string
-
-
-
diff --git a/static/img/examples/example-classes-tala.svg2 b/static/img/examples/example-classes-tala.svg2
deleted file mode 100644
index 506dd234..00000000
--- a/static/img/examples/example-classes-tala.svg2
+++ /dev/null
@@ -1,95 +0,0 @@
-User - id int - name string + getName() string
-
-
-
diff --git a/static/img/examples/example-containers-dagre.svg2 b/static/img/examples/example-containers-dagre.svg2
deleted file mode 100644
index 1383a0d2..00000000
--- a/static/img/examples/example-containers-dagre.svg2
+++ /dev/null
@@ -1,104 +0,0 @@
-aws ec2 rds
-
-
-
-
-
diff --git a/static/img/examples/example-containers-elk.svg2 b/static/img/examples/example-containers-elk.svg2
deleted file mode 100644
index b30c9f73..00000000
--- a/static/img/examples/example-containers-elk.svg2
+++ /dev/null
@@ -1,104 +0,0 @@
-aws ec2 rds
-
-
-
-
-
diff --git a/static/img/examples/example-game-state-sequence-dagre.svg2 b/static/img/examples/example-game-state-sequence-dagre.svg2
index fb199f51..eaa44d0c 100644
--- a/static/img/examples/example-game-state-sequence-dagre.svg2
+++ b/static/img/examples/example-game-state-sequence-dagre.svg2
@@ -1,4 +1,4 @@
-User Session Lua SetupFight() Create clean fight state Trigger OnPlayerTurn PlayerCastHand() etc. Trigger OnDamage etc. FinishPlayerTurn() Trigger OnTurn Update and remove status effects Trigger OnPlayerTurn Init Repeat
-
-
-
@@ -110,6 +107,4 @@
-
-
diff --git a/static/img/examples/example-game-state-sequence-elk.svg2 b/static/img/examples/example-game-state-sequence-elk.svg2
index fb199f51..eaa44d0c 100644
--- a/static/img/examples/example-game-state-sequence-elk.svg2
+++ b/static/img/examples/example-game-state-sequence-elk.svg2
@@ -1,4 +1,4 @@
-User Session Lua SetupFight() Create clean fight state Trigger OnPlayerTurn PlayerCastHand() etc. Trigger OnDamage etc. FinishPlayerTurn() Trigger OnTurn Update and remove status effects Trigger OnPlayerTurn Init Repeat
-
-
-
@@ -110,6 +107,4 @@
-
-
diff --git a/static/img/examples/example-game-state-sequence-tala.svg2 b/static/img/examples/example-game-state-sequence-tala.svg2
index fb199f51..eaa44d0c 100644
--- a/static/img/examples/example-game-state-sequence-tala.svg2
+++ b/static/img/examples/example-game-state-sequence-tala.svg2
@@ -1,4 +1,4 @@
-User Session Lua SetupFight() Create clean fight state Trigger OnPlayerTurn PlayerCastHand() etc. Trigger OnDamage etc. FinishPlayerTurn() Trigger OnTurn Update and remove status effects Trigger OnPlayerTurn Init Repeat
-
-
-
@@ -110,6 +107,4 @@
-
-
diff --git a/static/img/examples/example-golang-queue-dagre.svg2 b/static/img/examples/example-golang-queue-dagre.svg2
index dfb1f8d9..1927e135 100644
--- a/static/img/examples/example-golang-queue-dagre.svg2
+++ b/static/img/examples/example-golang-queue-dagre.svg2
@@ -1,4 +1,4 @@
-a b c d e f
-
-
-
-
-
-
-
-
diff --git a/static/img/examples/example-grid-elk.svg2 b/static/img/examples/example-grid-elk.svg2
deleted file mode 100644
index 1394c487..00000000
--- a/static/img/examples/example-grid-elk.svg2
+++ /dev/null
@@ -1,100 +0,0 @@
-a b c d e f
-
-
-
-
-
-
-
-
diff --git a/static/img/examples/example-grid-tala.svg2 b/static/img/examples/example-grid-tala.svg2
deleted file mode 100644
index 1394c487..00000000
--- a/static/img/examples/example-grid-tala.svg2
+++ /dev/null
@@ -1,100 +0,0 @@
-a b c d e f
-
-
-
-
-
-
-
-
diff --git a/static/img/examples/example-hello-dagre.svg2 b/static/img/examples/example-hello-dagre.svg2
deleted file mode 100644
index 22ac3a64..00000000
--- a/static/img/examples/example-hello-dagre.svg2
+++ /dev/null
@@ -1,97 +0,0 @@
-x y z
-
-
-
-
-
diff --git a/static/img/examples/example-hello-elk.svg2 b/static/img/examples/example-hello-elk.svg2
deleted file mode 100644
index a751a208..00000000
--- a/static/img/examples/example-hello-elk.svg2
+++ /dev/null
@@ -1,97 +0,0 @@
-x y z
-
-
-
-
-
diff --git a/static/img/examples/example-hello-tala.svg2 b/static/img/examples/example-hello-tala.svg2
deleted file mode 100644
index 146bc1d1..00000000
--- a/static/img/examples/example-hello-tala.svg2
+++ /dev/null
@@ -1,97 +0,0 @@
-x y z
-
-
-
-
-
diff --git a/static/img/examples/example-lambda-infra-dagre.svg2 b/static/img/examples/example-lambda-infra-dagre.svg2
index 1852ad52..a6309539 100644
--- a/static/img/examples/example-lambda-infra-dagre.svg2
+++ b/static/img/examples/example-lambda-infra-dagre.svg2
@@ -1,4 +1,4 @@
-server database cache client
-
-
-
-
-
-
diff --git a/static/img/examples/example-network-elk.svg2 b/static/img/examples/example-network-elk.svg2
deleted file mode 100644
index e61cf98f..00000000
--- a/static/img/examples/example-network-elk.svg2
+++ /dev/null
@@ -1,98 +0,0 @@
-server database cache client
-
-
-
-
-
-
diff --git a/static/img/examples/example-network-tala.svg2 b/static/img/examples/example-network-tala.svg2
deleted file mode 100644
index 0b675260..00000000
--- a/static/img/examples/example-network-tala.svg2
+++ /dev/null
@@ -1,98 +0,0 @@
-server database cache client
-
-
-
-
-
-
diff --git a/static/img/examples/example-ok-tala-tala.svg2 b/static/img/examples/example-ok-tala-tala.svg2
deleted file mode 100644
index ef5655dc..00000000
--- a/static/img/examples/example-ok-tala-tala.svg2
+++ /dev/null
@@ -1,95 +0,0 @@
-bb
-
-
-
diff --git a/static/img/examples/example-sequence-dagre.svg2 b/static/img/examples/example-sequence-dagre.svg2
deleted file mode 100644
index c1fc892c..00000000
--- a/static/img/examples/example-sequence-dagre.svg2
+++ /dev/null
@@ -1,108 +0,0 @@
-User API Database Request Query Response Result
-
-
-
-
-
-
-
-
-
diff --git a/static/img/examples/example-sequence-elk.svg2 b/static/img/examples/example-sequence-elk.svg2
deleted file mode 100644
index c1fc892c..00000000
--- a/static/img/examples/example-sequence-elk.svg2
+++ /dev/null
@@ -1,108 +0,0 @@
-User API Database Request Query Response Result
-
-
-
-
-
-
-
-
-
diff --git a/static/img/examples/example-sequence-tala.svg2 b/static/img/examples/example-sequence-tala.svg2
deleted file mode 100644
index c1fc892c..00000000
--- a/static/img/examples/example-sequence-tala.svg2
+++ /dev/null
@@ -1,108 +0,0 @@
-User API Database Request Query Response Result
-
-
-
-
-
-
-
-
-
diff --git a/static/img/examples/example-stripe-tala-tala.svg2 b/static/img/examples/example-stripe-tala-tala.svg2
index b939c8b1..283caa7d 100644
--- a/static/img/examples/example-stripe-tala-tala.svg2
+++ b/static/img/examples/example-stripe-tala-tala.svg2
@@ -1,4 +1,4 @@
-backend_server local_server ssh_server other_server 启动阶段 启动成功运行阶段 ssh_login ssh 登录成功 sftp_copy 辅助转发服务器 ssh 启动转发服务器 请求udp packet udp forward 发送给 udp client udp 转发给 udp server 发送ok字符串给 udp的请求端 发送给 ssh 所在的 udp forawrd 返回udp 请求回复 一次交互完成
-
-
-
-
-
-
@@ -120,5 +114,4 @@
-
diff --git a/static/img/examples/example-udp-tunnel-elk.svg2 b/static/img/examples/example-udp-tunnel-elk.svg2
index 71923427..5262c950 100644
--- a/static/img/examples/example-udp-tunnel-elk.svg2
+++ b/static/img/examples/example-udp-tunnel-elk.svg2
@@ -1,4 +1,4 @@
-backend_server local_server ssh_server other_server 启动阶段 启动成功运行阶段 ssh_login ssh 登录成功 sftp_copy 辅助转发服务器 ssh 启动转发服务器 请求udp packet udp forward 发送给 udp client udp 转发给 udp server 发送ok字符串给 udp的请求端 发送给 ssh 所在的 udp forawrd 返回udp 请求回复 一次交互完成
-
-
-
-
-
-
@@ -120,5 +114,4 @@
-
diff --git a/static/img/examples/example-udp-tunnel-tala.svg2 b/static/img/examples/example-udp-tunnel-tala.svg2
index 71923427..5262c950 100644
--- a/static/img/examples/example-udp-tunnel-tala.svg2
+++ b/static/img/examples/example-udp-tunnel-tala.svg2
@@ -1,4 +1,4 @@
-backend_server local_server ssh_server other_server 启动阶段 启动成功运行阶段 ssh_login ssh 登录成功 sftp_copy 辅助转发服务器 ssh 启动转发服务器 请求udp packet udp forward 发送给 udp client udp 转发给 udp server 发送ok字符串给 udp的请求端 发送给 ssh 所在的 udp forawrd 返回udp 请求回复 一次交互完成
-
-
-
-
-
-
@@ -120,5 +114,4 @@
-
diff --git a/static/img/examples/example-yes-dagre.svg2 b/static/img/examples/example-yes-dagre.svg2
deleted file mode 100644
index d819251a..00000000
--- a/static/img/examples/example-yes-dagre.svg2
+++ /dev/null
@@ -1,104 +0,0 @@
-k s fine
-
-
-
-
-
diff --git a/static/img/examples/example-yes-elk.svg2 b/static/img/examples/example-yes-elk.svg2
deleted file mode 100644
index 94266bc0..00000000
--- a/static/img/examples/example-yes-elk.svg2
+++ /dev/null
@@ -1,104 +0,0 @@
-k s fine
-
-
-
-
-
diff --git a/static/img/examples/example-yes-tala.svg2 b/static/img/examples/example-yes-tala.svg2
deleted file mode 100644
index 0381eb98..00000000
--- a/static/img/examples/example-yes-tala.svg2
+++ /dev/null
@@ -1,104 +0,0 @@
-k s fine
-
-
-
-
-
diff --git a/static/img/generated/animated.svg2 b/static/img/generated/animated.svg2
index 8b932435..d30b10f7 100644
--- a/static/img/generated/animated.svg2
+++ b/static/img/generated/animated.svg2
@@ -1,4 +1,4 @@
-Normal deployment local github aws code dev master builders s3 ec2 workflows commit merge trigger upload and run upload binaries pull binaries
-
-
-
-
-
-
-
-
-
-
-
@@ -878,17 +867,6 @@
Hotfix deployment local github aws code dev master builders s3 ec2 workflows merge trigger upload binaries pull binaries commit upload and run
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/generated/ascii-ex.svg2 b/static/img/generated/ascii-ex.svg2
new file mode 100644
index 00000000..d3e0c7e4
--- /dev/null
+++ b/static/img/generated/ascii-ex.svg2
@@ -0,0 +1,182 @@
+LangUnits ExperimentHost Dataset UI Experiment ModelConfiguration RegexVal SQLSelect PythonTr langunit Dataset Experiment ModelConfigurations LangUnit Prompting Model LangUnit ds ds ds ... ds load dataset manage datasets
+
+
+
+
diff --git a/static/img/generated/border-label.svg2 b/static/img/generated/border-label.svg2
new file mode 100644
index 00000000..fbeda867
--- /dev/null
+++ b/static/img/generated/border-label.svg2
@@ -0,0 +1,182 @@
+Your environment Your applicaton Workflow SDK Workers hello
+
+
+
+
diff --git a/static/img/generated/c4-code1.svg2 b/static/img/generated/c4-code1.svg2
index d13206a7..81ecbda9 100644
--- a/static/img/generated/c4-code1.svg2
+++ b/static/img/generated/c4-code1.svg2
@@ -1,4 +1,4 @@
-ATM Banking System
-
[Software System]
-Allows customers to perform financial transactions via physical terminals.
-
Fraud Detection System
-
[Software System]
-Monitors transactions for suspicious activity using ML algorithms.
-
Customer Service Portal
-
[Software System]
-Tools for customer service representatives to assist clients.
-
Notification System
-
[Container: Java]
-Sends alerts and notifications to customers via multiple channels.
-
Payment Gateway
-
[Container: Python & Django]
-Processes payments and interfaces with external payment networks.
-
Backup System
-
[Container: Azure Cloud Storage]
-Automated backup of critical banking data.
-
Administrative Portal
-
[Container: React]
-Administrative interface for system maintenance and user management.
-
Security System
-
[Software System]
-Manages authentication, authorization, and security policies.
-
-
- Reporting Engine
-
[Container: Python & Pandas]
-Generates reports and analytics for internal stakeholders.
-
Logging Service
-
[Container: ELK Stack]
-Centralized logging for auditing and debugging purposes.
-
Compliance System
-
[Software System]
-Ensures banking activities comply with regulations.
-
Customer Chatbot
-
[Container: Node.js & NLP]
-AI-powered chat interface for customer support.
-
KYC Verification
-
[Software System]
-Know Your Customer identity verification process.
-
Loan Processing System
-
[Container: Java EE]
-Handles loan applications and approval workflows.
-
Investment Platform
-
[Software System]
-Provides trading and investment capabilities to customers.
-
Account Management
-
[Container: Java & Spring Boot]
-Core functions for creating and managing customer accounts.
-
Bill Payment Service
-
[Container: Node.js]
-Allows customers to schedule and pay bills electronically.
-
Transaction Processor
-
[Container: Scala]
-High-performance engine for processing financial transactions.
-
Data Warehouse
-
[Container: Snowflake]
-Enterprise data repository for analytics and business intelligence.
-
Mobile Banking API
-
[Container: GraphQL & Node.js]
-API gateway specifically optimized for mobile client applications.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/generated/c4-tags2.svg2 b/static/img/generated/c4-tags2.svg2
index 00478dbc..94523d72 100644
--- a/static/img/generated/c4-tags2.svg2
+++ b/static/img/generated/c4-tags2.svg2
@@ -1,4 +1,4 @@
-Internet Banking System
+
Internet Banking System
[Software System]
-
E-mail System
+E-mail System
[Software System]
The internal Microsoft Exchange e-mail system.
-
Mainframe Banking System
+Mainframe Banking System
[Software System]
Stores all of the core banking information about customers, accounts, transactions, etc.
-
Single-Page Application
+Single-Page Application
[Container: JavaScript and Angular]
Provides all of the Internet banking functionality to customers via their web browser.
-
Mobile App
+Mobile App
[Container: Xamarin]
Provides a limited subset of the Internet banking functionality to customers via their mobile device.
-
API Application
+API Application
[Container: Java and Spring MVC]
Provides Internet banking functionality via a JSON/HTTPS API.
-
Makes API calls to [JSON/HTTPS] Makes API calls to [JSON/HTTPS] Makes API calls to [XML/HTTPS] Sends e-mail using
+ Makes API calls to [JSON/HTTPS] Makes API calls to [JSON/HTTPS] Makes API calls to [XML/HTTPS] Sends e-mail using
-
-
-
-
-
-
diff --git a/static/img/generated/c4-view2.svg2 b/static/img/generated/c4-view2.svg2
index df0355fc..1208ea92 100644
--- a/static/img/generated/c4-view2.svg2
+++ b/static/img/generated/c4-view2.svg2
@@ -1,20 +1,20 @@
-Personal Banking Customer
+
Personal Banking Customer
[person]
A customer of the bank, with personal bank accounts.
-
Internet Banking System
+Internet Banking System
[Software System]
-
E-mail System
+E-mail System
[Software System]
The internal Microsoft Exchange e-mail system.
-
Mainframe Banking System
+Mainframe Banking System
[Software System]
Stores all of the core banking information about customers, accounts, transactions, etc.
-
Sends e-mails to Send requests API calls Send emails
+ Sends e-mails to Send requests API calls Send emails
-
-
-
-
diff --git a/static/img/generated/c4.pdf b/static/img/generated/c4.pdf
index 2078c757..b5bbfb8e 100644
Binary files a/static/img/generated/c4.pdf and b/static/img/generated/c4.pdf differ
diff --git a/static/img/generated/c4.svg2 b/static/img/generated/c4.svg2
index 1365c9c1..1104b09c 100644
--- a/static/img/generated/c4.svg2
+++ b/static/img/generated/c4.svg2
@@ -1,4 +1,4 @@
-Personal Banking Customer
+
Personal Banking Customer
[person]
A customer of the bank, with personal bank accounts.
Internet Banking System
@@ -935,15 +935,6 @@
Stores user registration information, hashed authentication credentials, access logs, etc.
Visits bigbank.com/ib using [HTTPS] Delivers to the customer's web browser Views account balances, and makes payments using Views account balances, and makes payments using Makes API calls to [JSON/HTTPS] Makes API calls to [JSON/HTTPS] Makes API calls to [XML/HTTPS] Sends e-mails to Sends e-mail using Reads from and writes to [SQL/TCP]
-
-
-
-
-
-
-
-
-
diff --git a/static/img/generated/cat.pdf b/static/img/generated/cat.pdf
index 1453a504..41b5a67d 100644
Binary files a/static/img/generated/cat.pdf and b/static/img/generated/cat.pdf differ
diff --git a/static/img/generated/chicken.svg2 b/static/img/generated/chicken.svg2
index b9768b86..ba7db55e 100644
--- a/static/img/generated/chicken.svg2
+++ b/static/img/generated/chicken.svg2
@@ -1,4 +1,4 @@
-Chicken's plan
-
+
Chicken's plan Approach road
-
-
+
Chicken's plan Approach road Cross road
-
-
-
+
Chicken's plan Approach road Cross road Make you wonder why
-
-
-
-
+
\ No newline at end of file
diff --git a/static/img/generated/classes-1.svg2 b/static/img/generated/classes-1.svg2
index bcbfd13d..d5718316 100644
--- a/static/img/generated/classes-1.svg2
+++ b/static/img/generated/classes-1.svg2
@@ -1,9 +1,9 @@
-MyClass + field []string + method(a uint64) (x, y int)
+ .d2-3862756945 .fill-N1{fill:#0A0F25;}
+ .d2-3862756945 .fill-N2{fill:#676C7E;}
+ .d2-3862756945 .fill-N3{fill:#9499AB;}
+ .d2-3862756945 .fill-N4{fill:#CFD2DD;}
+ .d2-3862756945 .fill-N5{fill:#DEE1EB;}
+ .d2-3862756945 .fill-N6{fill:#EEF1F8;}
+ .d2-3862756945 .fill-N7{fill:#FFFFFF;}
+ .d2-3862756945 .fill-B1{fill:#0D32B2;}
+ .d2-3862756945 .fill-B2{fill:#0D32B2;}
+ .d2-3862756945 .fill-B3{fill:#E3E9FD;}
+ .d2-3862756945 .fill-B4{fill:#E3E9FD;}
+ .d2-3862756945 .fill-B5{fill:#EDF0FD;}
+ .d2-3862756945 .fill-B6{fill:#F7F8FE;}
+ .d2-3862756945 .fill-AA2{fill:#4A6FF3;}
+ .d2-3862756945 .fill-AA4{fill:#EDF0FD;}
+ .d2-3862756945 .fill-AA5{fill:#F7F8FE;}
+ .d2-3862756945 .fill-AB4{fill:#EDF0FD;}
+ .d2-3862756945 .fill-AB5{fill:#F7F8FE;}
+ .d2-3862756945 .stroke-N1{stroke:#0A0F25;}
+ .d2-3862756945 .stroke-N2{stroke:#676C7E;}
+ .d2-3862756945 .stroke-N3{stroke:#9499AB;}
+ .d2-3862756945 .stroke-N4{stroke:#CFD2DD;}
+ .d2-3862756945 .stroke-N5{stroke:#DEE1EB;}
+ .d2-3862756945 .stroke-N6{stroke:#EEF1F8;}
+ .d2-3862756945 .stroke-N7{stroke:#FFFFFF;}
+ .d2-3862756945 .stroke-B1{stroke:#0D32B2;}
+ .d2-3862756945 .stroke-B2{stroke:#0D32B2;}
+ .d2-3862756945 .stroke-B3{stroke:#E3E9FD;}
+ .d2-3862756945 .stroke-B4{stroke:#E3E9FD;}
+ .d2-3862756945 .stroke-B5{stroke:#EDF0FD;}
+ .d2-3862756945 .stroke-B6{stroke:#F7F8FE;}
+ .d2-3862756945 .stroke-AA2{stroke:#4A6FF3;}
+ .d2-3862756945 .stroke-AA4{stroke:#EDF0FD;}
+ .d2-3862756945 .stroke-AA5{stroke:#F7F8FE;}
+ .d2-3862756945 .stroke-AB4{stroke:#EDF0FD;}
+ .d2-3862756945 .stroke-AB5{stroke:#F7F8FE;}
+ .d2-3862756945 .background-color-N1{background-color:#0A0F25;}
+ .d2-3862756945 .background-color-N2{background-color:#676C7E;}
+ .d2-3862756945 .background-color-N3{background-color:#9499AB;}
+ .d2-3862756945 .background-color-N4{background-color:#CFD2DD;}
+ .d2-3862756945 .background-color-N5{background-color:#DEE1EB;}
+ .d2-3862756945 .background-color-N6{background-color:#EEF1F8;}
+ .d2-3862756945 .background-color-N7{background-color:#FFFFFF;}
+ .d2-3862756945 .background-color-B1{background-color:#0D32B2;}
+ .d2-3862756945 .background-color-B2{background-color:#0D32B2;}
+ .d2-3862756945 .background-color-B3{background-color:#E3E9FD;}
+ .d2-3862756945 .background-color-B4{background-color:#E3E9FD;}
+ .d2-3862756945 .background-color-B5{background-color:#EDF0FD;}
+ .d2-3862756945 .background-color-B6{background-color:#F7F8FE;}
+ .d2-3862756945 .background-color-AA2{background-color:#4A6FF3;}
+ .d2-3862756945 .background-color-AA4{background-color:#EDF0FD;}
+ .d2-3862756945 .background-color-AA5{background-color:#F7F8FE;}
+ .d2-3862756945 .background-color-AB4{background-color:#EDF0FD;}
+ .d2-3862756945 .background-color-AB5{background-color:#F7F8FE;}
+ .d2-3862756945 .color-N1{color:#0A0F25;}
+ .d2-3862756945 .color-N2{color:#676C7E;}
+ .d2-3862756945 .color-N3{color:#9499AB;}
+ .d2-3862756945 .color-N4{color:#CFD2DD;}
+ .d2-3862756945 .color-N5{color:#DEE1EB;}
+ .d2-3862756945 .color-N6{color:#EEF1F8;}
+ .d2-3862756945 .color-N7{color:#FFFFFF;}
+ .d2-3862756945 .color-B1{color:#0D32B2;}
+ .d2-3862756945 .color-B2{color:#0D32B2;}
+ .d2-3862756945 .color-B3{color:#E3E9FD;}
+ .d2-3862756945 .color-B4{color:#E3E9FD;}
+ .d2-3862756945 .color-B5{color:#EDF0FD;}
+ .d2-3862756945 .color-B6{color:#F7F8FE;}
+ .d2-3862756945 .color-AA2{color:#4A6FF3;}
+ .d2-3862756945 .color-AA4{color:#EDF0FD;}
+ .d2-3862756945 .color-AA5{color:#F7F8FE;}
+ .d2-3862756945 .color-AB4{color:#EDF0FD;}
+ .d2-3862756945 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3862756945);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3862756945);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-3862756945);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-3862756945);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3862756945);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3862756945);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3862756945);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-3862756945);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3862756945);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-3862756945);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3862756945);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3862756945);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3862756945);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3862756945);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3862756945);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-3862756945);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3862756945);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3862756945);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}@media screen and (prefers-color-scheme:dark){
+ .d2-3862756945 .fill-N1{fill:#CDD6F4;}
+ .d2-3862756945 .fill-N2{fill:#BAC2DE;}
+ .d2-3862756945 .fill-N3{fill:#A6ADC8;}
+ .d2-3862756945 .fill-N4{fill:#585B70;}
+ .d2-3862756945 .fill-N5{fill:#45475A;}
+ .d2-3862756945 .fill-N6{fill:#313244;}
+ .d2-3862756945 .fill-N7{fill:#1E1E2E;}
+ .d2-3862756945 .fill-B1{fill:#CBA6f7;}
+ .d2-3862756945 .fill-B2{fill:#CBA6f7;}
+ .d2-3862756945 .fill-B3{fill:#6C7086;}
+ .d2-3862756945 .fill-B4{fill:#585B70;}
+ .d2-3862756945 .fill-B5{fill:#45475A;}
+ .d2-3862756945 .fill-B6{fill:#313244;}
+ .d2-3862756945 .fill-AA2{fill:#f38BA8;}
+ .d2-3862756945 .fill-AA4{fill:#45475A;}
+ .d2-3862756945 .fill-AA5{fill:#313244;}
+ .d2-3862756945 .fill-AB4{fill:#45475A;}
+ .d2-3862756945 .fill-AB5{fill:#313244;}
+ .d2-3862756945 .stroke-N1{stroke:#CDD6F4;}
+ .d2-3862756945 .stroke-N2{stroke:#BAC2DE;}
+ .d2-3862756945 .stroke-N3{stroke:#A6ADC8;}
+ .d2-3862756945 .stroke-N4{stroke:#585B70;}
+ .d2-3862756945 .stroke-N5{stroke:#45475A;}
+ .d2-3862756945 .stroke-N6{stroke:#313244;}
+ .d2-3862756945 .stroke-N7{stroke:#1E1E2E;}
+ .d2-3862756945 .stroke-B1{stroke:#CBA6f7;}
+ .d2-3862756945 .stroke-B2{stroke:#CBA6f7;}
+ .d2-3862756945 .stroke-B3{stroke:#6C7086;}
+ .d2-3862756945 .stroke-B4{stroke:#585B70;}
+ .d2-3862756945 .stroke-B5{stroke:#45475A;}
+ .d2-3862756945 .stroke-B6{stroke:#313244;}
+ .d2-3862756945 .stroke-AA2{stroke:#f38BA8;}
+ .d2-3862756945 .stroke-AA4{stroke:#45475A;}
+ .d2-3862756945 .stroke-AA5{stroke:#313244;}
+ .d2-3862756945 .stroke-AB4{stroke:#45475A;}
+ .d2-3862756945 .stroke-AB5{stroke:#313244;}
+ .d2-3862756945 .background-color-N1{background-color:#CDD6F4;}
+ .d2-3862756945 .background-color-N2{background-color:#BAC2DE;}
+ .d2-3862756945 .background-color-N3{background-color:#A6ADC8;}
+ .d2-3862756945 .background-color-N4{background-color:#585B70;}
+ .d2-3862756945 .background-color-N5{background-color:#45475A;}
+ .d2-3862756945 .background-color-N6{background-color:#313244;}
+ .d2-3862756945 .background-color-N7{background-color:#1E1E2E;}
+ .d2-3862756945 .background-color-B1{background-color:#CBA6f7;}
+ .d2-3862756945 .background-color-B2{background-color:#CBA6f7;}
+ .d2-3862756945 .background-color-B3{background-color:#6C7086;}
+ .d2-3862756945 .background-color-B4{background-color:#585B70;}
+ .d2-3862756945 .background-color-B5{background-color:#45475A;}
+ .d2-3862756945 .background-color-B6{background-color:#313244;}
+ .d2-3862756945 .background-color-AA2{background-color:#f38BA8;}
+ .d2-3862756945 .background-color-AA4{background-color:#45475A;}
+ .d2-3862756945 .background-color-AA5{background-color:#313244;}
+ .d2-3862756945 .background-color-AB4{background-color:#45475A;}
+ .d2-3862756945 .background-color-AB5{background-color:#313244;}
+ .d2-3862756945 .color-N1{color:#CDD6F4;}
+ .d2-3862756945 .color-N2{color:#BAC2DE;}
+ .d2-3862756945 .color-N3{color:#A6ADC8;}
+ .d2-3862756945 .color-N4{color:#585B70;}
+ .d2-3862756945 .color-N5{color:#45475A;}
+ .d2-3862756945 .color-N6{color:#313244;}
+ .d2-3862756945 .color-N7{color:#1E1E2E;}
+ .d2-3862756945 .color-B1{color:#CBA6f7;}
+ .d2-3862756945 .color-B2{color:#CBA6f7;}
+ .d2-3862756945 .color-B3{color:#6C7086;}
+ .d2-3862756945 .color-B4{color:#585B70;}
+ .d2-3862756945 .color-B5{color:#45475A;}
+ .d2-3862756945 .color-B6{color:#313244;}
+ .d2-3862756945 .color-AA2{color:#f38BA8;}
+ .d2-3862756945 .color-AA4{color:#45475A;}
+ .d2-3862756945 .color-AA5{color:#313244;}
+ .d2-3862756945 .color-AB4{color:#45475A;}
+ .d2-3862756945 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-3862756945);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-3862756945);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-3862756945);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-3862756945);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-3862756945);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-3862756945);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-3862756945);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-3862756945);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-3862756945);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-3862756945);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-3862756945);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-3862756945);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-3862756945);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3862756945);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-3862756945);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-3862756945);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-3862756945);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-3862756945);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}}]]>MyClass + field []string + method(a uint64) (x, y int)
diff --git a/static/img/generated/classes-2.svg2 b/static/img/generated/classes-2.svg2
index 95cc3b43..c3ecb7c1 100644
--- a/static/img/generated/classes-2.svg2
+++ b/static/img/generated/classes-2.svg2
@@ -1,16 +1,16 @@
-D2 Parser + reader io.RuneReader + readerPos d2ast.Position - lookahead []rune # lookaheadPos d2ast.Position + peek() (r rune, eof bool) + rewind() void + commit() void # peekn(n int) (s string, eof bool) github.com/terrastruct/d2parser.git
+ .d2-3022085996 .fill-N1{fill:#0A0F25;}
+ .d2-3022085996 .fill-N2{fill:#676C7E;}
+ .d2-3022085996 .fill-N3{fill:#9499AB;}
+ .d2-3022085996 .fill-N4{fill:#CFD2DD;}
+ .d2-3022085996 .fill-N5{fill:#DEE1EB;}
+ .d2-3022085996 .fill-N6{fill:#EEF1F8;}
+ .d2-3022085996 .fill-N7{fill:#FFFFFF;}
+ .d2-3022085996 .fill-B1{fill:#0D32B2;}
+ .d2-3022085996 .fill-B2{fill:#0D32B2;}
+ .d2-3022085996 .fill-B3{fill:#E3E9FD;}
+ .d2-3022085996 .fill-B4{fill:#E3E9FD;}
+ .d2-3022085996 .fill-B5{fill:#EDF0FD;}
+ .d2-3022085996 .fill-B6{fill:#F7F8FE;}
+ .d2-3022085996 .fill-AA2{fill:#4A6FF3;}
+ .d2-3022085996 .fill-AA4{fill:#EDF0FD;}
+ .d2-3022085996 .fill-AA5{fill:#F7F8FE;}
+ .d2-3022085996 .fill-AB4{fill:#EDF0FD;}
+ .d2-3022085996 .fill-AB5{fill:#F7F8FE;}
+ .d2-3022085996 .stroke-N1{stroke:#0A0F25;}
+ .d2-3022085996 .stroke-N2{stroke:#676C7E;}
+ .d2-3022085996 .stroke-N3{stroke:#9499AB;}
+ .d2-3022085996 .stroke-N4{stroke:#CFD2DD;}
+ .d2-3022085996 .stroke-N5{stroke:#DEE1EB;}
+ .d2-3022085996 .stroke-N6{stroke:#EEF1F8;}
+ .d2-3022085996 .stroke-N7{stroke:#FFFFFF;}
+ .d2-3022085996 .stroke-B1{stroke:#0D32B2;}
+ .d2-3022085996 .stroke-B2{stroke:#0D32B2;}
+ .d2-3022085996 .stroke-B3{stroke:#E3E9FD;}
+ .d2-3022085996 .stroke-B4{stroke:#E3E9FD;}
+ .d2-3022085996 .stroke-B5{stroke:#EDF0FD;}
+ .d2-3022085996 .stroke-B6{stroke:#F7F8FE;}
+ .d2-3022085996 .stroke-AA2{stroke:#4A6FF3;}
+ .d2-3022085996 .stroke-AA4{stroke:#EDF0FD;}
+ .d2-3022085996 .stroke-AA5{stroke:#F7F8FE;}
+ .d2-3022085996 .stroke-AB4{stroke:#EDF0FD;}
+ .d2-3022085996 .stroke-AB5{stroke:#F7F8FE;}
+ .d2-3022085996 .background-color-N1{background-color:#0A0F25;}
+ .d2-3022085996 .background-color-N2{background-color:#676C7E;}
+ .d2-3022085996 .background-color-N3{background-color:#9499AB;}
+ .d2-3022085996 .background-color-N4{background-color:#CFD2DD;}
+ .d2-3022085996 .background-color-N5{background-color:#DEE1EB;}
+ .d2-3022085996 .background-color-N6{background-color:#EEF1F8;}
+ .d2-3022085996 .background-color-N7{background-color:#FFFFFF;}
+ .d2-3022085996 .background-color-B1{background-color:#0D32B2;}
+ .d2-3022085996 .background-color-B2{background-color:#0D32B2;}
+ .d2-3022085996 .background-color-B3{background-color:#E3E9FD;}
+ .d2-3022085996 .background-color-B4{background-color:#E3E9FD;}
+ .d2-3022085996 .background-color-B5{background-color:#EDF0FD;}
+ .d2-3022085996 .background-color-B6{background-color:#F7F8FE;}
+ .d2-3022085996 .background-color-AA2{background-color:#4A6FF3;}
+ .d2-3022085996 .background-color-AA4{background-color:#EDF0FD;}
+ .d2-3022085996 .background-color-AA5{background-color:#F7F8FE;}
+ .d2-3022085996 .background-color-AB4{background-color:#EDF0FD;}
+ .d2-3022085996 .background-color-AB5{background-color:#F7F8FE;}
+ .d2-3022085996 .color-N1{color:#0A0F25;}
+ .d2-3022085996 .color-N2{color:#676C7E;}
+ .d2-3022085996 .color-N3{color:#9499AB;}
+ .d2-3022085996 .color-N4{color:#CFD2DD;}
+ .d2-3022085996 .color-N5{color:#DEE1EB;}
+ .d2-3022085996 .color-N6{color:#EEF1F8;}
+ .d2-3022085996 .color-N7{color:#FFFFFF;}
+ .d2-3022085996 .color-B1{color:#0D32B2;}
+ .d2-3022085996 .color-B2{color:#0D32B2;}
+ .d2-3022085996 .color-B3{color:#E3E9FD;}
+ .d2-3022085996 .color-B4{color:#E3E9FD;}
+ .d2-3022085996 .color-B5{color:#EDF0FD;}
+ .d2-3022085996 .color-B6{color:#F7F8FE;}
+ .d2-3022085996 .color-AA2{color:#4A6FF3;}
+ .d2-3022085996 .color-AA4{color:#EDF0FD;}
+ .d2-3022085996 .color-AA5{color:#F7F8FE;}
+ .d2-3022085996 .color-AB4{color:#EDF0FD;}
+ .d2-3022085996 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3022085996);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3022085996);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-3022085996);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-3022085996);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3022085996);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3022085996);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3022085996);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-3022085996);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3022085996);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-3022085996);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3022085996);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3022085996);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3022085996);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3022085996);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3022085996);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-3022085996);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3022085996);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3022085996);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}@media screen and (prefers-color-scheme:dark){
+ .d2-3022085996 .fill-N1{fill:#CDD6F4;}
+ .d2-3022085996 .fill-N2{fill:#BAC2DE;}
+ .d2-3022085996 .fill-N3{fill:#A6ADC8;}
+ .d2-3022085996 .fill-N4{fill:#585B70;}
+ .d2-3022085996 .fill-N5{fill:#45475A;}
+ .d2-3022085996 .fill-N6{fill:#313244;}
+ .d2-3022085996 .fill-N7{fill:#1E1E2E;}
+ .d2-3022085996 .fill-B1{fill:#CBA6f7;}
+ .d2-3022085996 .fill-B2{fill:#CBA6f7;}
+ .d2-3022085996 .fill-B3{fill:#6C7086;}
+ .d2-3022085996 .fill-B4{fill:#585B70;}
+ .d2-3022085996 .fill-B5{fill:#45475A;}
+ .d2-3022085996 .fill-B6{fill:#313244;}
+ .d2-3022085996 .fill-AA2{fill:#f38BA8;}
+ .d2-3022085996 .fill-AA4{fill:#45475A;}
+ .d2-3022085996 .fill-AA5{fill:#313244;}
+ .d2-3022085996 .fill-AB4{fill:#45475A;}
+ .d2-3022085996 .fill-AB5{fill:#313244;}
+ .d2-3022085996 .stroke-N1{stroke:#CDD6F4;}
+ .d2-3022085996 .stroke-N2{stroke:#BAC2DE;}
+ .d2-3022085996 .stroke-N3{stroke:#A6ADC8;}
+ .d2-3022085996 .stroke-N4{stroke:#585B70;}
+ .d2-3022085996 .stroke-N5{stroke:#45475A;}
+ .d2-3022085996 .stroke-N6{stroke:#313244;}
+ .d2-3022085996 .stroke-N7{stroke:#1E1E2E;}
+ .d2-3022085996 .stroke-B1{stroke:#CBA6f7;}
+ .d2-3022085996 .stroke-B2{stroke:#CBA6f7;}
+ .d2-3022085996 .stroke-B3{stroke:#6C7086;}
+ .d2-3022085996 .stroke-B4{stroke:#585B70;}
+ .d2-3022085996 .stroke-B5{stroke:#45475A;}
+ .d2-3022085996 .stroke-B6{stroke:#313244;}
+ .d2-3022085996 .stroke-AA2{stroke:#f38BA8;}
+ .d2-3022085996 .stroke-AA4{stroke:#45475A;}
+ .d2-3022085996 .stroke-AA5{stroke:#313244;}
+ .d2-3022085996 .stroke-AB4{stroke:#45475A;}
+ .d2-3022085996 .stroke-AB5{stroke:#313244;}
+ .d2-3022085996 .background-color-N1{background-color:#CDD6F4;}
+ .d2-3022085996 .background-color-N2{background-color:#BAC2DE;}
+ .d2-3022085996 .background-color-N3{background-color:#A6ADC8;}
+ .d2-3022085996 .background-color-N4{background-color:#585B70;}
+ .d2-3022085996 .background-color-N5{background-color:#45475A;}
+ .d2-3022085996 .background-color-N6{background-color:#313244;}
+ .d2-3022085996 .background-color-N7{background-color:#1E1E2E;}
+ .d2-3022085996 .background-color-B1{background-color:#CBA6f7;}
+ .d2-3022085996 .background-color-B2{background-color:#CBA6f7;}
+ .d2-3022085996 .background-color-B3{background-color:#6C7086;}
+ .d2-3022085996 .background-color-B4{background-color:#585B70;}
+ .d2-3022085996 .background-color-B5{background-color:#45475A;}
+ .d2-3022085996 .background-color-B6{background-color:#313244;}
+ .d2-3022085996 .background-color-AA2{background-color:#f38BA8;}
+ .d2-3022085996 .background-color-AA4{background-color:#45475A;}
+ .d2-3022085996 .background-color-AA5{background-color:#313244;}
+ .d2-3022085996 .background-color-AB4{background-color:#45475A;}
+ .d2-3022085996 .background-color-AB5{background-color:#313244;}
+ .d2-3022085996 .color-N1{color:#CDD6F4;}
+ .d2-3022085996 .color-N2{color:#BAC2DE;}
+ .d2-3022085996 .color-N3{color:#A6ADC8;}
+ .d2-3022085996 .color-N4{color:#585B70;}
+ .d2-3022085996 .color-N5{color:#45475A;}
+ .d2-3022085996 .color-N6{color:#313244;}
+ .d2-3022085996 .color-N7{color:#1E1E2E;}
+ .d2-3022085996 .color-B1{color:#CBA6f7;}
+ .d2-3022085996 .color-B2{color:#CBA6f7;}
+ .d2-3022085996 .color-B3{color:#6C7086;}
+ .d2-3022085996 .color-B4{color:#585B70;}
+ .d2-3022085996 .color-B5{color:#45475A;}
+ .d2-3022085996 .color-B6{color:#313244;}
+ .d2-3022085996 .color-AA2{color:#f38BA8;}
+ .d2-3022085996 .color-AA4{color:#45475A;}
+ .d2-3022085996 .color-AA5{color:#313244;}
+ .d2-3022085996 .color-AB4{color:#45475A;}
+ .d2-3022085996 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-3022085996);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-3022085996);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-3022085996);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-3022085996);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-3022085996);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-3022085996);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-3022085996);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-3022085996);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-3022085996);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-3022085996);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-3022085996);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-3022085996);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-3022085996);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3022085996);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-3022085996);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-3022085996);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-3022085996);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-3022085996);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}}]]>D2 Parser + reader io.RuneReader + readerPos d2ast.Position - lookahead []rune # lookaheadPos d2ast.Position + peek() (r rune, eof bool) + rewind() void + commit() void # peekn(n int) (s string, eof bool) github.com/terrastruct/d2parser.git
-
+
diff --git a/static/img/generated/classes-3.svg2 b/static/img/generated/classes-3.svg2
index f0c38716..7e6f3807 100644
--- a/static/img/generated/classes-3.svg2
+++ b/static/img/generated/classes-3.svg2
@@ -1,16 +1,16 @@
-Debit card + cardno + ownedBy + access() void Bank + code + address + manages() void + maintains() void ATM info + location + manageBy + identifies() void + transactions() void Customer + name + address + dob + owns() void Account + type + owner ATM Transaction + transactionId + date + type + modifies() void Current account + accountNo + balance + debit() void + credit() void Saving account + accountNo + balance + debit() void + credit() void Withdrawl transaction + amount + Withdrawl() void Query transaction + query + type + queryProcessing() void Transfer transaction + account + accountNo Pin validation transaction + oldPin + newPin + pinChange() void manages 1..* 1 maintains 1 1 +has 1 1 +owns 0..* 1..* +provides access to * 1..* owns 1..* 1..* +identifies 1 * modifies * 1
+ .d2-1005474155 .fill-N1{fill:#0A0F25;}
+ .d2-1005474155 .fill-N2{fill:#676C7E;}
+ .d2-1005474155 .fill-N3{fill:#9499AB;}
+ .d2-1005474155 .fill-N4{fill:#CFD2DD;}
+ .d2-1005474155 .fill-N5{fill:#DEE1EB;}
+ .d2-1005474155 .fill-N6{fill:#EEF1F8;}
+ .d2-1005474155 .fill-N7{fill:#FFFFFF;}
+ .d2-1005474155 .fill-B1{fill:#0D32B2;}
+ .d2-1005474155 .fill-B2{fill:#0D32B2;}
+ .d2-1005474155 .fill-B3{fill:#E3E9FD;}
+ .d2-1005474155 .fill-B4{fill:#E3E9FD;}
+ .d2-1005474155 .fill-B5{fill:#EDF0FD;}
+ .d2-1005474155 .fill-B6{fill:#F7F8FE;}
+ .d2-1005474155 .fill-AA2{fill:#4A6FF3;}
+ .d2-1005474155 .fill-AA4{fill:#EDF0FD;}
+ .d2-1005474155 .fill-AA5{fill:#F7F8FE;}
+ .d2-1005474155 .fill-AB4{fill:#EDF0FD;}
+ .d2-1005474155 .fill-AB5{fill:#F7F8FE;}
+ .d2-1005474155 .stroke-N1{stroke:#0A0F25;}
+ .d2-1005474155 .stroke-N2{stroke:#676C7E;}
+ .d2-1005474155 .stroke-N3{stroke:#9499AB;}
+ .d2-1005474155 .stroke-N4{stroke:#CFD2DD;}
+ .d2-1005474155 .stroke-N5{stroke:#DEE1EB;}
+ .d2-1005474155 .stroke-N6{stroke:#EEF1F8;}
+ .d2-1005474155 .stroke-N7{stroke:#FFFFFF;}
+ .d2-1005474155 .stroke-B1{stroke:#0D32B2;}
+ .d2-1005474155 .stroke-B2{stroke:#0D32B2;}
+ .d2-1005474155 .stroke-B3{stroke:#E3E9FD;}
+ .d2-1005474155 .stroke-B4{stroke:#E3E9FD;}
+ .d2-1005474155 .stroke-B5{stroke:#EDF0FD;}
+ .d2-1005474155 .stroke-B6{stroke:#F7F8FE;}
+ .d2-1005474155 .stroke-AA2{stroke:#4A6FF3;}
+ .d2-1005474155 .stroke-AA4{stroke:#EDF0FD;}
+ .d2-1005474155 .stroke-AA5{stroke:#F7F8FE;}
+ .d2-1005474155 .stroke-AB4{stroke:#EDF0FD;}
+ .d2-1005474155 .stroke-AB5{stroke:#F7F8FE;}
+ .d2-1005474155 .background-color-N1{background-color:#0A0F25;}
+ .d2-1005474155 .background-color-N2{background-color:#676C7E;}
+ .d2-1005474155 .background-color-N3{background-color:#9499AB;}
+ .d2-1005474155 .background-color-N4{background-color:#CFD2DD;}
+ .d2-1005474155 .background-color-N5{background-color:#DEE1EB;}
+ .d2-1005474155 .background-color-N6{background-color:#EEF1F8;}
+ .d2-1005474155 .background-color-N7{background-color:#FFFFFF;}
+ .d2-1005474155 .background-color-B1{background-color:#0D32B2;}
+ .d2-1005474155 .background-color-B2{background-color:#0D32B2;}
+ .d2-1005474155 .background-color-B3{background-color:#E3E9FD;}
+ .d2-1005474155 .background-color-B4{background-color:#E3E9FD;}
+ .d2-1005474155 .background-color-B5{background-color:#EDF0FD;}
+ .d2-1005474155 .background-color-B6{background-color:#F7F8FE;}
+ .d2-1005474155 .background-color-AA2{background-color:#4A6FF3;}
+ .d2-1005474155 .background-color-AA4{background-color:#EDF0FD;}
+ .d2-1005474155 .background-color-AA5{background-color:#F7F8FE;}
+ .d2-1005474155 .background-color-AB4{background-color:#EDF0FD;}
+ .d2-1005474155 .background-color-AB5{background-color:#F7F8FE;}
+ .d2-1005474155 .color-N1{color:#0A0F25;}
+ .d2-1005474155 .color-N2{color:#676C7E;}
+ .d2-1005474155 .color-N3{color:#9499AB;}
+ .d2-1005474155 .color-N4{color:#CFD2DD;}
+ .d2-1005474155 .color-N5{color:#DEE1EB;}
+ .d2-1005474155 .color-N6{color:#EEF1F8;}
+ .d2-1005474155 .color-N7{color:#FFFFFF;}
+ .d2-1005474155 .color-B1{color:#0D32B2;}
+ .d2-1005474155 .color-B2{color:#0D32B2;}
+ .d2-1005474155 .color-B3{color:#E3E9FD;}
+ .d2-1005474155 .color-B4{color:#E3E9FD;}
+ .d2-1005474155 .color-B5{color:#EDF0FD;}
+ .d2-1005474155 .color-B6{color:#F7F8FE;}
+ .d2-1005474155 .color-AA2{color:#4A6FF3;}
+ .d2-1005474155 .color-AA4{color:#EDF0FD;}
+ .d2-1005474155 .color-AA5{color:#F7F8FE;}
+ .d2-1005474155 .color-AB4{color:#EDF0FD;}
+ .d2-1005474155 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1005474155);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1005474155);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1005474155);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1005474155);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1005474155);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1005474155);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1005474155);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1005474155);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1005474155);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1005474155);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1005474155);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1005474155);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1005474155);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1005474155);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1005474155);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1005474155);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1005474155);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1005474155);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}@media screen and (prefers-color-scheme:dark){
+ .d2-1005474155 .fill-N1{fill:#CDD6F4;}
+ .d2-1005474155 .fill-N2{fill:#BAC2DE;}
+ .d2-1005474155 .fill-N3{fill:#A6ADC8;}
+ .d2-1005474155 .fill-N4{fill:#585B70;}
+ .d2-1005474155 .fill-N5{fill:#45475A;}
+ .d2-1005474155 .fill-N6{fill:#313244;}
+ .d2-1005474155 .fill-N7{fill:#1E1E2E;}
+ .d2-1005474155 .fill-B1{fill:#CBA6f7;}
+ .d2-1005474155 .fill-B2{fill:#CBA6f7;}
+ .d2-1005474155 .fill-B3{fill:#6C7086;}
+ .d2-1005474155 .fill-B4{fill:#585B70;}
+ .d2-1005474155 .fill-B5{fill:#45475A;}
+ .d2-1005474155 .fill-B6{fill:#313244;}
+ .d2-1005474155 .fill-AA2{fill:#f38BA8;}
+ .d2-1005474155 .fill-AA4{fill:#45475A;}
+ .d2-1005474155 .fill-AA5{fill:#313244;}
+ .d2-1005474155 .fill-AB4{fill:#45475A;}
+ .d2-1005474155 .fill-AB5{fill:#313244;}
+ .d2-1005474155 .stroke-N1{stroke:#CDD6F4;}
+ .d2-1005474155 .stroke-N2{stroke:#BAC2DE;}
+ .d2-1005474155 .stroke-N3{stroke:#A6ADC8;}
+ .d2-1005474155 .stroke-N4{stroke:#585B70;}
+ .d2-1005474155 .stroke-N5{stroke:#45475A;}
+ .d2-1005474155 .stroke-N6{stroke:#313244;}
+ .d2-1005474155 .stroke-N7{stroke:#1E1E2E;}
+ .d2-1005474155 .stroke-B1{stroke:#CBA6f7;}
+ .d2-1005474155 .stroke-B2{stroke:#CBA6f7;}
+ .d2-1005474155 .stroke-B3{stroke:#6C7086;}
+ .d2-1005474155 .stroke-B4{stroke:#585B70;}
+ .d2-1005474155 .stroke-B5{stroke:#45475A;}
+ .d2-1005474155 .stroke-B6{stroke:#313244;}
+ .d2-1005474155 .stroke-AA2{stroke:#f38BA8;}
+ .d2-1005474155 .stroke-AA4{stroke:#45475A;}
+ .d2-1005474155 .stroke-AA5{stroke:#313244;}
+ .d2-1005474155 .stroke-AB4{stroke:#45475A;}
+ .d2-1005474155 .stroke-AB5{stroke:#313244;}
+ .d2-1005474155 .background-color-N1{background-color:#CDD6F4;}
+ .d2-1005474155 .background-color-N2{background-color:#BAC2DE;}
+ .d2-1005474155 .background-color-N3{background-color:#A6ADC8;}
+ .d2-1005474155 .background-color-N4{background-color:#585B70;}
+ .d2-1005474155 .background-color-N5{background-color:#45475A;}
+ .d2-1005474155 .background-color-N6{background-color:#313244;}
+ .d2-1005474155 .background-color-N7{background-color:#1E1E2E;}
+ .d2-1005474155 .background-color-B1{background-color:#CBA6f7;}
+ .d2-1005474155 .background-color-B2{background-color:#CBA6f7;}
+ .d2-1005474155 .background-color-B3{background-color:#6C7086;}
+ .d2-1005474155 .background-color-B4{background-color:#585B70;}
+ .d2-1005474155 .background-color-B5{background-color:#45475A;}
+ .d2-1005474155 .background-color-B6{background-color:#313244;}
+ .d2-1005474155 .background-color-AA2{background-color:#f38BA8;}
+ .d2-1005474155 .background-color-AA4{background-color:#45475A;}
+ .d2-1005474155 .background-color-AA5{background-color:#313244;}
+ .d2-1005474155 .background-color-AB4{background-color:#45475A;}
+ .d2-1005474155 .background-color-AB5{background-color:#313244;}
+ .d2-1005474155 .color-N1{color:#CDD6F4;}
+ .d2-1005474155 .color-N2{color:#BAC2DE;}
+ .d2-1005474155 .color-N3{color:#A6ADC8;}
+ .d2-1005474155 .color-N4{color:#585B70;}
+ .d2-1005474155 .color-N5{color:#45475A;}
+ .d2-1005474155 .color-N6{color:#313244;}
+ .d2-1005474155 .color-N7{color:#1E1E2E;}
+ .d2-1005474155 .color-B1{color:#CBA6f7;}
+ .d2-1005474155 .color-B2{color:#CBA6f7;}
+ .d2-1005474155 .color-B3{color:#6C7086;}
+ .d2-1005474155 .color-B4{color:#585B70;}
+ .d2-1005474155 .color-B5{color:#45475A;}
+ .d2-1005474155 .color-B6{color:#313244;}
+ .d2-1005474155 .color-AA2{color:#f38BA8;}
+ .d2-1005474155 .color-AA4{color:#45475A;}
+ .d2-1005474155 .color-AA5{color:#313244;}
+ .d2-1005474155 .color-AB4{color:#45475A;}
+ .d2-1005474155 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-1005474155);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-1005474155);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-1005474155);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-1005474155);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-1005474155);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-1005474155);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-1005474155);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-1005474155);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-1005474155);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-1005474155);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-1005474155);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-1005474155);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-1005474155);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1005474155);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-1005474155);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-1005474155);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-1005474155);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-1005474155);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}}]]>Debit card + cardno + ownedBy + access() void Bank + code + address + manages() void + maintains() void ATM info + location + manageBy + identifies() void + transactions() void Customer + name + address + dob + owns() void Account + type + owner ATM Transaction + transactionId + date + type + modifies() void Current account + accountNo + balance + debit() void + credit() void Saving account + accountNo + balance + debit() void + credit() void Withdrawl transaction + amount + Withdrawl() void Query transaction + query + type + queryProcessing() void Transfer transaction + account + accountNo Pin validation transaction + oldPin + newPin + pinChange() void manages 1..* 1 maintains 1 1 +has 1 1 +owns 0..* 1..* +provides access to * 1..* owns 1..* 1..* +identifies 1 * modifies * 1
diff --git a/static/img/generated/code-2.svg2 b/static/img/generated/code-2.svg2
index 57334ea4..92adfdb3 100644
--- a/static/img/generated/code-2.svg2
+++ b/static/img/generated/code-2.svg2
@@ -1,4 +1,4 @@
-Write Replica Canada Write Replica Australia Read Replica Master x y super long shape id here super long shape id even longer here
-
-
-
-
-
-
-
-
+
diff --git a/static/img/generated/connections-2.svg2 b/static/img/generated/connections-2.svg2
index a8fa11b9..3eae4568 100644
--- a/static/img/generated/connections-2.svg2
+++ b/static/img/generated/connections-2.svg2
@@ -1,4 +1,4 @@
-Database S3 backup backup
-
-
diff --git a/static/img/generated/connections-3.svg2 b/static/img/generated/connections-3.svg2
index 33582973..daf23edd 100644
--- a/static/img/generated/connections-3.svg2
+++ b/static/img/generated/connections-3.svg2
@@ -1,4 +1,4 @@
-High Mem Instance EC2 High CPU Instance Hosted By Hosted By
-
-
-
diff --git a/static/img/generated/connections-4.svg2 b/static/img/generated/connections-4.svg2
index e74cbf86..2499cc18 100644
--- a/static/img/generated/connections-4.svg2
+++ b/static/img/generated/connections-4.svg2
@@ -1,4 +1,4 @@
-Stage One Stage Two Stage Three Stage Four repeat
-
-
-
-
diff --git a/static/img/generated/connections-5.svg2 b/static/img/generated/connections-5.svg2
index 33d073af..52812c64 100644
--- a/static/img/generated/connections-5.svg2
+++ b/static/img/generated/connections-5.svg2
@@ -1,4 +1,4 @@
-The best way to avoid responsibility is to say, "I've got responsibilities" Whether weary or unweary, O man, do not rest I still maintain the point that designing a monolithic kernel in 1991 is a A black cat crossing your path signifies that the animal is going somewhere To err is human, to moo bovine 1 * Reality is just a crutch for people who can't handle science fiction 1 *
-
-
-
-
diff --git a/static/img/generated/connections-reference.svg2 b/static/img/generated/connections-reference.svg2
index 69a927f7..9001bf00 100644
--- a/static/img/generated/connections-reference.svg2
+++ b/static/img/generated/connections-reference.svg2
@@ -1,4 +1,4 @@
-x y hi hello
-
-
diff --git a/static/img/generated/containers-1.svg2 b/static/img/generated/containers-1.svg2
index c0ae49b7..f79fa4b0 100644
--- a/static/img/generated/containers-1.svg2
+++ b/static/img/generated/containers-1.svg2
@@ -1,4 +1,4 @@
-server im a parent apartment office process im a child Bedroom Spare Room Bathroom Bathroom Portal
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/generated/containers-2.svg2 b/static/img/generated/containers-2.svg2
index 1518a28e..96d90481 100644
--- a/static/img/generated/containers-2.svg2
+++ b/static/img/generated/containers-2.svg2
@@ -1,4 +1,4 @@
-clouds aws gcloud load_balancer api db auth db
-
-
-
-
-
-
-
-
+
diff --git a/static/img/generated/containers-3.svg2 b/static/img/generated/containers-3.svg2
index 56948412..4c1f2797 100644
--- a/static/img/generated/containers-3.svg2
+++ b/static/img/generated/containers-3.svg2
@@ -1,4 +1,4 @@
-clouds users ci AWS Google Cloud deploys load_balancer api db auth db
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/static/img/generated/containers-underscore.svg2 b/static/img/generated/containers-underscore.svg2
index c8d1f3ff..af76bd41 100644
--- a/static/img/generated/containers-underscore.svg2
+++ b/static/img/generated/containers-underscore.svg2
@@ -1,4 +1,4 @@
-christmas birthdays presents presents regift
-
-
-
-
diff --git a/static/img/generated/cult.pptx b/static/img/generated/cult.pptx
index 003b8d9f..08b2a50e 100644
Binary files a/static/img/generated/cult.pptx and b/static/img/generated/cult.pptx differ
diff --git a/static/img/generated/defaults.svg2 b/static/img/generated/defaults.svg2
index 36e35f63..94f84858 100644
--- a/static/img/generated/defaults.svg2
+++ b/static/img/generated/defaults.svg2
@@ -1,4 +1,4 @@
-x y
-
-
+
diff --git a/static/img/generated/dimensions.svg2 b/static/img/generated/dimensions.svg2
index 29548ea5..513555e0 100644
--- a/static/img/generated/dimensions.svg2
+++ b/static/img/generated/dimensions.svg2
@@ -1,4 +1,4 @@
-
+ .d2-2380248064 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-2380248064);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-2380248064);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2380248064);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-2380248064);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-2380248064);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-2380248064);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-2380248064);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-2380248064);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-2380248064);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-2380248064);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-2380248064);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-2380248064);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-2380248064);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2380248064);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-2380248064);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-2380248064);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-2380248064);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-2380248064);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}}]]>
diff --git a/static/img/generated/direction-right.svg2 b/static/img/generated/direction-right.svg2
index 3a10cecb..ff8ff1d6 100644
--- a/static/img/generated/direction-right.svg2
+++ b/static/img/generated/direction-right.svg2
@@ -1,4 +1,4 @@
-x y z hello hello
-
-
-
diff --git a/static/img/generated/direction-up.svg2 b/static/img/generated/direction-up.svg2
index 80645812..88b8f250 100644
--- a/static/img/generated/direction-up.svg2
+++ b/static/img/generated/direction-up.svg2
@@ -1,4 +1,4 @@
-x y z hello hello
-
-
-
diff --git a/static/img/generated/explanation.svg2 b/static/img/generated/explanation.svg2
deleted file mode 100644
index b55d79c4..00000000
--- a/static/img/generated/explanation.svg2
+++ /dev/null
@@ -1,917 +0,0 @@
-ML Platform Pre-trained models Model registry Compiler Validation Auditing Server The Large Language Model (LLM) is a powerful AI system that learns from vast amounts of text data. By analyzing patterns and structures in language, it gains an understanding of grammar, facts, and even some reasoning abilities. As users input text, the LLM predicts the most likely next words or phrases to create coherent responses. The model continuously fine-tunes its output, considering both the user's input and its own vast knowledge base. This cutting-edge technology enables LLM to generate human-like text, making it a valuable tool for various applications.
-
Batch Predictor Online Model Server
-
-
-
diff --git a/static/img/generated/globs-casing.svg2 b/static/img/generated/globs-casing.svg2
index 12b26933..54c8bbb9 100644
--- a/static/img/generated/globs-casing.svg2
+++ b/static/img/generated/globs-casing.svg2
@@ -1,4 +1,4 @@
-diddy kong Donkey Kong
-
-
+
diff --git a/static/img/generated/globs-connections.svg2 b/static/img/generated/globs-connections.svg2
index 522628af..d0caa54d 100644
--- a/static/img/generated/globs-connections.svg2
+++ b/static/img/generated/globs-connections.svg2
@@ -1,4 +1,4 @@
-Spiderman 1 Spiderman 2 Spiderman 3 👉 👉 👉 👉 👉 👉
-
-
-
diff --git a/static/img/generated/globs-filter-2.svg2 b/static/img/generated/globs-filter-2.svg2
index 2bf18d16..eff65777 100644
--- a/static/img/generated/globs-filter-2.svg2
+++ b/static/img/generated/globs-filter-2.svg2
@@ -1,4 +1,4 @@
-the-little-cannon dino catapult
-
-
-
+
diff --git a/static/img/generated/globs-filter-3.svg2 b/static/img/generated/globs-filter-3.svg2
index c068f94f..2ec9997d 100644
--- a/static/img/generated/globs-filter-3.svg2
+++ b/static/img/generated/globs-filter-3.svg2
@@ -1,4 +1,4 @@
-container c a b
-
-
-
-
+
diff --git a/static/img/generated/globs-filter-and.svg2 b/static/img/generated/globs-filter-and.svg2
index e8918d8d..e5b58bfa 100644
--- a/static/img/generated/globs-filter-and.svg2
+++ b/static/img/generated/globs-filter-and.svg2
@@ -1,4 +1,4 @@
-a b c
-
-
-
+
diff --git a/static/img/generated/globs-filter-glob-value.svg2 b/static/img/generated/globs-filter-glob-value.svg2
index c291559f..372b3b95 100644
--- a/static/img/generated/globs-filter-glob-value.svg2
+++ b/static/img/generated/globs-filter-glob-value.svg2
@@ -1,4 +1,4 @@
-bravo team charlie team command center hq
+ .d2-2397443396 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-2397443396);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-2397443396);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2397443396);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-2397443396);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-2397443396);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-2397443396);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-2397443396);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-2397443396);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-2397443396);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-2397443396);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-2397443396);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-2397443396);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-2397443396);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2397443396);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-2397443396);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-2397443396);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-2397443396);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-2397443396);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}}]]>bravo team charlie team command center hq
-
-
-
-
+
diff --git a/static/img/generated/globs-indexed-connections.svg2 b/static/img/generated/globs-indexed-connections.svg2
index 89616639..d0b3c328 100644
--- a/static/img/generated/globs-indexed-connections.svg2
+++ b/static/img/generated/globs-indexed-connections.svg2
@@ -1,4 +1,4 @@
-lady 1 lady 2 barbie hi barbie hi barbie
-
-
-
diff --git a/static/img/generated/globs-intro.svg2 b/static/img/generated/globs-intro.svg2
index 9718eb07..c26cb509 100644
--- a/static/img/generated/globs-intro.svg2
+++ b/static/img/generated/globs-intro.svg2
@@ -1,4 +1,4 @@
-iphone 10 iphone 11 mini iphone 11 pro iphone 12 mini
-
-
-
-
+
diff --git a/static/img/generated/globs-inverse-filter.svg2 b/static/img/generated/globs-inverse-filter.svg2
index 37fdfa35..52e04257 100644
--- a/static/img/generated/globs-inverse-filter.svg2
+++ b/static/img/generated/globs-inverse-filter.svg2
@@ -1,4 +1,4 @@
-bravo team charlie team command center hq
+ .d2-630119132 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-630119132);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-630119132);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-630119132);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-630119132);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-630119132);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-630119132);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-630119132);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-630119132);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-630119132);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-630119132);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-630119132);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-630119132);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-630119132);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-630119132);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-630119132);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-630119132);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-630119132);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-630119132);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}}]]>bravo team charlie team command center hq
-
-
-
-
+
diff --git a/static/img/generated/globs-lazy.svg2 b/static/img/generated/globs-lazy.svg2
index 17dacc6b..4ab7afc1 100644
--- a/static/img/generated/globs-lazy.svg2
+++ b/static/img/generated/globs-lazy.svg2
@@ -1,4 +1,4 @@
-a y b c
-
-
-
-
+
diff --git a/static/img/generated/globs-multiple.svg2 b/static/img/generated/globs-multiple.svg2
index 9de1aedb..416b9594 100644
--- a/static/img/generated/globs-multiple.svg2
+++ b/static/img/generated/globs-multiple.svg2
@@ -1,4 +1,4 @@
-teacher thriller thrifter
-
-
-
+
diff --git a/static/img/generated/globs-nested.svg2 b/static/img/generated/globs-nested.svg2
index 79c8ce70..50970000 100644
--- a/static/img/generated/globs-nested.svg2
+++ b/static/img/generated/globs-nested.svg2
@@ -1,4 +1,4 @@
-conversation 1 conversation 2 alice bob alice bob hi hi hello again hello? hello
-
-
-
-
-
-
diff --git a/static/img/generated/globs-recursive-2.svg2 b/static/img/generated/globs-recursive-2.svg2
index 2f2af7ba..61488988 100644
--- a/static/img/generated/globs-recursive-2.svg2
+++ b/static/img/generated/globs-recursive-2.svg2
@@ -1,4 +1,4 @@
-zone-A load balancer machine A machine B submachine A submachine B
-
-
-
-
-
-
+
diff --git a/static/img/generated/globs-recursive.svg2 b/static/img/generated/globs-recursive.svg2
index 24e7a301..bb0c95d0 100644
--- a/static/img/generated/globs-recursive.svg2
+++ b/static/img/generated/globs-recursive.svg2
@@ -1,4 +1,4 @@
-a b c
-
-
-
+
diff --git a/static/img/generated/globs-scope.svg2 b/static/img/generated/globs-scope.svg2
index 99c86aea..4fa60766 100644
--- a/static/img/generated/globs-scope.svg2
+++ b/static/img/generated/globs-scope.svg2
@@ -1,4 +1,4 @@
-foods pizzas humans cheese sausage pineapple john james eats eats
-
-
-
-
-
-
-
-
diff --git a/static/img/generated/grid-2.svg2 b/static/img/generated/grid-2.svg2
index 27c2d0c7..140cdb59 100644
--- a/static/img/generated/grid-2.svg2
+++ b/static/img/generated/grid-2.svg2
@@ -1,4 +1,4 @@
-Executive Legislative Judicial
-
-
-
+
diff --git a/static/img/generated/grid-3.svg2 b/static/img/generated/grid-3.svg2
index 3dd705e7..3ecd00a5 100644
--- a/static/img/generated/grid-3.svg2
+++ b/static/img/generated/grid-3.svg2
@@ -1,4 +1,4 @@
-Executive Legislative Judicial
-
-
-
+
diff --git a/static/img/generated/grid-4.svg2 b/static/img/generated/grid-4.svg2
index 17c5bf85..fff6fa6b 100644
--- a/static/img/generated/grid-4.svg2
+++ b/static/img/generated/grid-4.svg2
@@ -1,4 +1,4 @@
-Executive Legislative Judicial
-
-
-
+
diff --git a/static/img/generated/grid-aligned.svg2 b/static/img/generated/grid-aligned.svg2
index 11ee6ac2..877aacd2 100644
--- a/static/img/generated/grid-aligned.svg2
+++ b/static/img/generated/grid-aligned.svg2
@@ -1,4 +1,4 @@
-us-east-1 us-west-1 a b c d e a
-
-
-
-
-
-
-
-
+
diff --git a/static/img/generated/grid-column-dominant.svg2 b/static/img/generated/grid-column-dominant.svg2
index 483dc836..b89a05ee 100644
--- a/static/img/generated/grid-column-dominant.svg2
+++ b/static/img/generated/grid-column-dominant.svg2
@@ -1,4 +1,4 @@
-a
-
+
a b
-
-
+
a b c
-
-
-
+
a b c d
-
-
-
-
+
a b c d e
-
-
-
-
-
+
a b c d e f
-
-
-
-
-
-
+
a b c d e f g
-
-
-
-
-
-
-
+
a b c d e f g h
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/static/img/generated/grid-connected.svg2 b/static/img/generated/grid-connected.svg2
index a65e11db..5538c021 100644
--- a/static/img/generated/grid-connected.svg2
+++ b/static/img/generated/grid-connected.svg2
@@ -1,4 +1,4 @@
-Teleport Just-in-time Access via Infrastructure Identity Provider Engineers Machines HTTPS:// > kubectl > tsh > api DB Clients
Identity Native Proxy
Audit Log Cert Authority Slack Mattermost Jira Pagerduty Email ssh Kubernetes My SQL MongoDB PSQL Windows all connections audited and logged
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/generated/grid-connections.svg2 b/static/img/generated/grid-connections.svg2
index 7755b840..ad7aa243 100644
--- a/static/img/generated/grid-connections.svg2
+++ b/static/img/generated/grid-connections.svg2
@@ -1,4 +1,4 @@
-npm i -g @forge/cli Set up an Atlassian site View the hello world app forge tunnel forge login forge create forge deploy forge install Hot reload changes? Step 1 Step 2 Step 3 Step 4 forge deploy ⬤ Forge CLI ⬤ Required ⬤ Optional Yes No
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/generated/grid-dimensions.svg2 b/static/img/generated/grid-dimensions.svg2
index 747160ff..6693bee0 100644
--- a/static/img/generated/grid-dimensions.svg2
+++ b/static/img/generated/grid-dimensions.svg2
@@ -1,4 +1,4 @@
-Executive Legislative Judicial The American Government
-
-
-
-
+
diff --git a/static/img/generated/grid-fill.svg2 b/static/img/generated/grid-fill.svg2
index 9619aca0..8ece0166 100644
--- a/static/img/generated/grid-fill.svg2
+++ b/static/img/generated/grid-fill.svg2
@@ -1,4 +1,4 @@
-Executive Legislative Judicial The American Government Voters Non-voters
-
-
-
-
-
-
+
diff --git a/static/img/generated/grid-nested-connections.svg2 b/static/img/generated/grid-nested-connections.svg2
index 09f23865..571ff9a2 100644
--- a/static/img/generated/grid-nested-connections.svg2
+++ b/static/img/generated/grid-nested-connections.svg2
@@ -1,4 +1,4 @@
-header footer content sidebar
-
-
-
-
+
diff --git a/static/img/generated/grid-padding-1.svg2 b/static/img/generated/grid-padding-1.svg2
index e7bf2a97..7bbec8e0 100644
--- a/static/img/generated/grid-padding-1.svg2
+++ b/static/img/generated/grid-padding-1.svg2
@@ -1,4 +1,4 @@
-Kubernetes Backend Node Frontend Node ClusterIP Service 1 Deployment 1 ClusterIP Service 2 Deployment 2 NEXT POD 1 NEXT POD 2 NEXT POD 3 FLASK POD 1 FLASK POD 2 FLASK POD 3
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/static/img/generated/grid-padding-2.svg2 b/static/img/generated/grid-padding-2.svg2
index e0036743..c01e096c 100644
--- a/static/img/generated/grid-padding-2.svg2
+++ b/static/img/generated/grid-padding-2.svg2
@@ -1,4 +1,4 @@
-Kubernetes Backend Node Frontend Node ClusterIP Service 1 Deployment 1 ClusterIP Service 2 Deployment 2 NEXT POD 1 NEXT POD 2 NEXT POD 3 FLASK POD 1 FLASK POD 2 FLASK POD 3
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/static/img/generated/grid-row-dominant.svg2 b/static/img/generated/grid-row-dominant.svg2
index 41dd4f2f..4f9f99c3 100644
--- a/static/img/generated/grid-row-dominant.svg2
+++ b/static/img/generated/grid-row-dominant.svg2
@@ -1,4 +1,4 @@
-a
-
+
a b
-
-
+
a b c
-
-
-
+
a b c d
-
-
-
-
+
a b c d e
-
-
-
-
-
+
a b c d e f
-
-
-
-
-
-
+
a b c d e f g
-
-
-
-
-
-
-
+
a b c d e f g h
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/static/img/generated/grid-unaligned.svg2 b/static/img/generated/grid-unaligned.svg2
index 3b431f3a..ef6fc8f5 100644
--- a/static/img/generated/grid-unaligned.svg2
+++ b/static/img/generated/grid-unaligned.svg2
@@ -1,4 +1,4 @@
-us-east-1 us-west-1 a b c d e a
-
-
-
-
-
-
-
-
+
diff --git a/static/img/generated/grid.svg2 b/static/img/generated/grid.svg2
index f5d7e435..b985cbef 100644
--- a/static/img/generated/grid.svg2
+++ b/static/img/generated/grid.svg2
@@ -1,4 +1,4 @@
-DAGGER ENGINE ANY DOCKER COMPATIBLE RUNTIME ANY CI WINDOWS LINUX MACOS KUBERNETES
-
-
-
-
-
-
-
+
diff --git a/static/img/generated/hello-world.svg2 b/static/img/generated/hello-world.svg2
index ec0a2aae..daaa6d4f 100644
--- a/static/img/generated/hello-world.svg2
+++ b/static/img/generated/hello-world.svg2
@@ -1,4 +1,4 @@
-x y hello world
-
-
diff --git a/static/img/generated/icon-placement.svg2 b/static/img/generated/icon-placement.svg2
index 537ae9f0..df934dee 100644
--- a/static/img/generated/icon-placement.svg2
+++ b/static/img/generated/icon-placement.svg2
@@ -1,4 +1,4 @@
-VPC 1 10.1.0.0./16 Availability Zone A Firewall Subnet A EC2 Instance
-
-
-
-
+
diff --git a/static/img/generated/icons-1.svg2 b/static/img/generated/icons-1.svg2
index cb63f183..6d4c9768 100644
--- a/static/img/generated/icons-1.svg2
+++ b/static/img/generated/icons-1.svg2
@@ -1,4 +1,4 @@
-deploy backup
-
-
diff --git a/static/img/generated/icons-connection.svg2 b/static/img/generated/icons-connection.svg2
deleted file mode 100644
index e4a10dc2..00000000
--- a/static/img/generated/icons-connection.svg2
+++ /dev/null
@@ -1,169 +0,0 @@
-a b
-
-
-
-
-
diff --git a/static/img/generated/icons-image.svg2 b/static/img/generated/icons-image.svg2
index a732cd24..96ed8636 100644
--- a/static/img/generated/icons-image.svg2
+++ b/static/img/generated/icons-image.svg2
@@ -1,4 +1,4 @@
-server github
-
-
+
diff --git a/static/img/generated/imports-classes-main.svg2 b/static/img/generated/imports-classes-main.svg2
index 268a3f1c..b68789ee 100644
--- a/static/img/generated/imports-classes-main.svg2
+++ b/static/img/generated/imports-classes-main.svg2
@@ -1,4 +1,4 @@
-
-
-
-
diff --git a/static/img/generated/imports-mv-access-view.svg2 b/static/img/generated/imports-mv-access-view.svg2
index a3aa0c26..ec735951 100644
--- a/static/img/generated/imports-mv-access-view.svg2
+++ b/static/img/generated/imports-mv-access-view.svg2
@@ -1,4 +1,4 @@
-
-
-
-
-
-
-
-
- postgres IT Guy vpn IP is 192.2.2.1 IP is 192.2.2.1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/generated/imports-mv-ssh-view.svg2 b/static/img/generated/imports-mv-ssh-view.svg2
index 5fab4b36..705a6fb2 100644
--- a/static/img/generated/imports-mv-ssh-view.svg2
+++ b/static/img/generated/imports-mv-ssh-view.svg2
@@ -1,4 +1,4 @@
-users id int token string customer_id string
-
-
-
diff --git a/static/img/generated/imports-nested-serviceB/data.svg2 b/static/img/generated/imports-nested-serviceB/data.svg2
deleted file mode 100644
index dbb963b5..00000000
--- a/static/img/generated/imports-nested-serviceB/data.svg2
+++ /dev/null
@@ -1,167 +0,0 @@
-users id int token string customer_id string
-
-
-
diff --git a/static/img/generated/imports-nested-serviceB/index.svg2 b/static/img/generated/imports-nested-serviceB/index.svg2
deleted file mode 100644
index a6ddf3bc..00000000
--- a/static/img/generated/imports-nested-serviceB/index.svg2
+++ /dev/null
@@ -1,194 +0,0 @@
-aws vault stripe data key token customer id
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/generated/imports-nested.pdf b/static/img/generated/imports-nested.pdf
index 287ba892..3a66149a 100644
Binary files a/static/img/generated/imports-nested.pdf and b/static/img/generated/imports-nested.pdf differ
diff --git a/static/img/generated/imports-normal-x.svg2 b/static/img/generated/imports-normal-x.svg2
index 02aff3d6..71e214df 100644
--- a/static/img/generated/imports-normal-x.svg2
+++ b/static/img/generated/imports-normal-x.svg2
@@ -1,4 +1,4 @@
-x
-
+
diff --git a/static/img/generated/imports-normal.svg2 b/static/img/generated/imports-normal.svg2
index 24814622..b80e7722 100644
--- a/static/img/generated/imports-normal.svg2
+++ b/static/img/generated/imports-normal.svg2
@@ -1,4 +1,4 @@
-a b x
-
-
-
+
diff --git a/static/img/generated/imports-targeted-people.svg2 b/static/img/generated/imports-targeted-people.svg2
deleted file mode 100644
index 4df1cb9e..00000000
--- a/static/img/generated/imports-targeted-people.svg2
+++ /dev/null
@@ -1,178 +0,0 @@
-management employees Joe Donutlover Jan Donutbaker Toby Simonton
-
-
-
-
-
-
-
diff --git a/static/img/generated/imports-targeted.svg2 b/static/img/generated/imports-targeted.svg2
index 130d38c1..1eb2caf6 100644
--- a/static/img/generated/imports-targeted.svg2
+++ b/static/img/generated/imports-targeted.svg2
@@ -1,4 +1,4 @@
-Joe Donutlover donuts Jan Donutbaker loves brings
-
-
-
diff --git a/static/img/generated/imports-template.svg2 b/static/img/generated/imports-template.svg2
index ba10fb8e..15c49319 100644
--- a/static/img/generated/imports-template.svg2
+++ b/static/img/generated/imports-template.svg2
@@ -1,4 +1,4 @@
-Users Table (v0.1) Users Table (current) users id int PK email string name string verified_email boolean password string created_at timestamp users id int PK email int FK name string password text created_at timestamp last_updated timestamp emails id int PK, UNQ local string domain string verified boolean
-
-
+
diff --git a/static/img/generated/imports-vv-users-current.svg2 b/static/img/generated/imports-vv-users-current.svg2
deleted file mode 100644
index 0b5ee401..00000000
--- a/static/img/generated/imports-vv-users-current.svg2
+++ /dev/null
@@ -1,167 +0,0 @@
-users id int PK email int FK name string password text created_at timestamp last_updated timestamp emails id int PK, UNQ local string domain string verified boolean
-
-
-
diff --git a/static/img/generated/imports-vv-users-v0.1.svg2 b/static/img/generated/imports-vv-users-v0.1.svg2
deleted file mode 100644
index 164df028..00000000
--- a/static/img/generated/imports-vv-users-v0.1.svg2
+++ /dev/null
@@ -1,167 +0,0 @@
-users id int PK email string name string verified_email boolean password string created_at timestamp
-
-
-
diff --git a/static/img/generated/imports-wrapper-template.svg2 b/static/img/generated/imports-wrapper-template.svg2
deleted file mode 100644
index c5b4c63b..00000000
--- a/static/img/generated/imports-wrapper-template.svg2
+++ /dev/null
@@ -1,193 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/generated/japan.svg2 b/static/img/generated/japan.svg2
index ebcf5c1a..e9edc0f3 100644
--- a/static/img/generated/japan.svg2
+++ b/static/img/generated/japan.svg2
@@ -1,4 +1,4 @@
-北海道 青森 秋田 岩手 石川 新潟 山形 宮城 福井 富山 群馬 栃木 福島 山口 島根 鳥取 兵庫 京都 滋賀 長野 山梨 埼玉 茨城 広島 岡山 大阪 奈良 岐阜 愛知 静岡 TOKYO 千葉 長崎 佐賀 福岡 和歌山 三重 神奈川 熊本 大分 愛媛 香川 鹿児島 宮崎 高知 徳島 沖縄
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/static/img/generated/johnwick.svg2 b/static/img/generated/johnwick.svg2
index a9f7ed02..0ca7fbfe 100644
--- a/static/img/generated/johnwick.svg2
+++ b/static/img/generated/johnwick.svg2
@@ -1,4 +1,4 @@
-john wick henchman 1 henchman 2 big boss
-
-
-
-
+
john wick henchman 1 henchman 2 big boss shoots, misses
-
-
-
-
john wick henchman 1 henchman 2 big boss shoots, misses shoots, hits
-
-
-
-
john wick henchman 1 henchman 2 big boss shoots, misses shoots, hits shoots, misses
-
-
-
-
john wick henchman 1 henchman 2 big boss shoots, misses shoots, hits shoots, misses shoots, hits
-
-
-
-
john wick henchman 1 henchman 2 big boss shoots, misses shoots, hits shoots, misses shoots, hits injures
-
-
-
-
@@ -216,10 +193,6 @@
john wick henchman 1 henchman 2 big boss shoots, misses shoots, hits shoots, misses shoots, hits injures shoots, hits
-
-
-
-
diff --git a/static/img/generated/language.svg2 b/static/img/generated/language.svg2
index f1d232b2..1c4313a4 100644
--- a/static/img/generated/language.svg2
+++ b/static/img/generated/language.svg2
@@ -1,4 +1,4 @@
-好笑的猫咪跳舞, 在月亮下欢唱。 它踩在小青蛙头上, 嘴里嚼着苹果香。 웃기는 고양이 날다, 달빛 아래 춤을 추다. 개구리 머리 밟다, 입 속 사과 향기 즐기다.
-
-
+
diff --git a/static/img/generated/latex.svg2 b/static/img/generated/latex.svg2
index 31cf1756..9f76bfbf 100644
--- a/static/img/generated/latex.svg2
+++ b/static/img/generated/latex.svg2
@@ -1,4 +1,4 @@
-amscd plugin braket plugin cancel plugin color plugin gensymb plugin mhchem plugin physics plugin multilines asm µ
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/static/img/generated/legend-hidden.svg2 b/static/img/generated/legend-hidden.svg2
index 3b42be39..fd43ed98 100644
--- a/static/img/generated/legend-hidden.svg2
+++ b/static/img/generated/legend-hidden.svg2
@@ -1,4 +1,4 @@
-api-1 api-2 api-3 Legend Good relationship
-
-
-
+
diff --git a/static/img/generated/legend.svg2 b/static/img/generated/legend.svg2
index e73aa6fe..d430213d 100644
--- a/static/img/generated/legend.svg2
+++ b/static/img/generated/legend.svg2
@@ -1,4 +1,4 @@
-api-1 api-2 postgres external api-3 Legend Microservice Database Good relationship Bad relationship Tenuous
-
-
-
-
-
+
diff --git a/static/img/generated/links.svg2 b/static/img/generated/links.svg2
index 1a35d6d2..520952ca 100644
--- a/static/img/generated/links.svg2
+++ b/static/img/generated/links.svg2
@@ -1,4 +1,4 @@
-
A winning strategy
poll the people results unfavorable favorable will of the people
-
-
-
-
-
-
+
diff --git a/static/img/generated/near-container.svg2 b/static/img/generated/near-container.svg2
index b2ed44e2..896f8f40 100644
--- a/static/img/generated/near-container.svg2
+++ b/static/img/generated/near-container.svg2
@@ -1,4 +1,4 @@
-x y z legend foo bar
-
-
-
-
-
-
+
diff --git a/static/img/generated/near-explanation.svg2 b/static/img/generated/near-explanation.svg2
index 6da76c85..a220f061 100644
--- a/static/img/generated/near-explanation.svg2
+++ b/static/img/generated/near-explanation.svg2
@@ -1,4 +1,4 @@
-worker profits
-
-
+
diff --git a/static/img/generated/non-markdown-text.svg2 b/static/img/generated/non-markdown-text.svg2
index 3179791e..bc8dbe9d 100644
--- a/static/img/generated/non-markdown-text.svg2
+++ b/static/img/generated/non-markdown-text.svg2
@@ -1,4 +1,4 @@
-A winning strategy poll the people results unfavorable favorable will of the people
-
-
-
-
-
-
+
diff --git a/static/img/generated/null-attribute.svg2 b/static/img/generated/null-attribute.svg2
index fc32ff8f..c28a3ac5 100644
--- a/static/img/generated/null-attribute.svg2
+++ b/static/img/generated/null-attribute.svg2
@@ -1,4 +1,4 @@
-one
-
+
diff --git a/static/img/generated/null-basic.svg2 b/static/img/generated/null-basic.svg2
index d46f21da..9dcbb032 100644
--- a/static/img/generated/null-basic.svg2
+++ b/static/img/generated/null-basic.svg2
@@ -1,4 +1,4 @@
-two
-
+
diff --git a/static/img/generated/null-connection.svg2 b/static/img/generated/null-connection.svg2
index 9c5e35e0..408cbe3a 100644
--- a/static/img/generated/null-connection.svg2
+++ b/static/img/generated/null-connection.svg2
@@ -1,4 +1,4 @@
-one two
-
-
+
diff --git a/static/img/generated/null-implicit-connection.svg2 b/static/img/generated/null-implicit-connection.svg2
index dc7b599b..44720257 100644
--- a/static/img/generated/null-implicit-connection.svg2
+++ b/static/img/generated/null-implicit-connection.svg2
@@ -1,4 +1,4 @@
-one
-
+
diff --git a/static/img/generated/null-implicit-descendant.svg2 b/static/img/generated/null-implicit-descendant.svg2
index dc7b599b..44720257 100644
--- a/static/img/generated/null-implicit-descendant.svg2
+++ b/static/img/generated/null-implicit-descendant.svg2
@@ -1,4 +1,4 @@
-one
-
+
diff --git a/static/img/generated/ordered-classes.svg2 b/static/img/generated/ordered-classes.svg2
index 4370db4c..b99577fc 100644
--- a/static/img/generated/ordered-classes.svg2
+++ b/static/img/generated/ordered-classes.svg2
@@ -1,4 +1,4 @@
-2 1
-
-
+
diff --git a/static/img/generated/overrides-1.svg2 b/static/img/generated/overrides-1.svg2
index b4fee051..a313404a 100644
--- a/static/img/generated/overrides-1.svg2
+++ b/static/img/generated/overrides-1.svg2
@@ -1,4 +1,4 @@
-Visual Studio Code Text Editor
-
+
diff --git a/static/img/generated/overrides-2.svg2 b/static/img/generated/overrides-2.svg2
index 31a12d3d..70008bb2 100644
--- a/static/img/generated/overrides-2.svg2
+++ b/static/img/generated/overrides-2.svg2
@@ -1,4 +1,4 @@
-AWS S3 San Francisco, California Monitoring California San Francisco
-
-
-
-
+
diff --git a/static/img/generated/people.svg2 b/static/img/generated/people.svg2
index a0539012..12205b81 100644
--- a/static/img/generated/people.svg2
+++ b/static/img/generated/people.svg2
@@ -1,4 +1,4 @@
-management employees Joe Donutlover Jan Donutbaker Toby Simonton
-
-
-
-
-
+
diff --git a/static/img/generated/pill.svg2 b/static/img/generated/pill.svg2
index f2881083..b3680e67 100644
--- a/static/img/generated/pill.svg2
+++ b/static/img/generated/pill.svg2
@@ -1,4 +1,4 @@
-tylenol
-
+
diff --git a/static/img/generated/pizza.svg2 b/static/img/generated/pizza.svg2
index 5a65ac55..2cccbb8d 100644
--- a/static/img/generated/pizza.svg2
+++ b/static/img/generated/pizza.svg2
@@ -1,4 +1,4 @@
-Dough
-
+
Tomato sauce Cheese base Dough
-
-
-
+
Pepperoni Sausage Mushrooms Pineapple Tomato sauce Cheese base Dough
-
-
-
-
-
-
-
+
Pepper flakes Extra cheese Random garnish Pepperoni Sausage Mushrooms Pineapple Tomato sauce Cheese base Dough
-
-
-
-
-
-
-
-
-
-
+
Pepper flakes Extra cheese Random garnish Pepperoni Sausage Mushrooms Pineapple Tomato sauce Cheese base Dough
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/static/img/generated/sequence-diagrams-1.svg2 b/static/img/generated/sequence-diagrams-1.svg2
index 321340af..7600d8a6 100644
--- a/static/img/generated/sequence-diagrams-1.svg2
+++ b/static/img/generated/sequence-diagrams-1.svg2
@@ -1,4 +1,4 @@
-alice bob What does it mean to be well-adjusted? The ability to play bridge or golf as if they were games.
-
-
diff --git a/static/img/generated/sequence-diagrams-2.svg2 b/static/img/generated/sequence-diagrams-2.svg2
index 57431709..9fafd086 100644
--- a/static/img/generated/sequence-diagrams-2.svg2
+++ b/static/img/generated/sequence-diagrams-2.svg2
@@ -1,4 +1,4 @@
-Before and after becoming friends Office chatter in 2007 Office chatter in 2012 Alice Bobby Alice Bobby Five years later awkward small talk icebreaker attempt unfortunate outcome uhm, hi oh, hello what did you have for lunch? that's personal Want to play with ChatGPT? Yes! Write a play... about 2 friends... who find love... in a sequence diagram
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/generated/sequence-diagrams-3.svg2 b/static/img/generated/sequence-diagrams-3.svg2
index c645c713..f88e82a6 100644
--- a/static/img/generated/sequence-diagrams-3.svg2
+++ b/static/img/generated/sequence-diagrams-3.svg2
@@ -1,4 +1,4 @@
-alice bob
-
-
+
diff --git a/static/img/generated/sequence-diagrams-4.svg2 b/static/img/generated/sequence-diagrams-4.svg2
index 6ff74d24..6e63e2a3 100644
--- a/static/img/generated/sequence-diagrams-4.svg2
+++ b/static/img/generated/sequence-diagrams-4.svg2
@@ -1,4 +1,4 @@
-scorer itemResponse item essayRubric concept itemOutcome getItem() item getRubric() rubric applyTo(essayResp) match(essayResponse) score new getNormalMinimum() getNormalMaximum() setScore(score) setFeedback(missingConcepts)
-
-
-
-
-
-
diff --git a/static/img/generated/sequence-diagrams-group.svg2 b/static/img/generated/sequence-diagrams-group.svg2
index bdfe2743..4dce3051 100644
--- a/static/img/generated/sequence-diagrams-group.svg2
+++ b/static/img/generated/sequence-diagrams-group.svg2
@@ -1,4 +1,4 @@
-alice bob shower thoughts life advice A physicist is an atom's way of knowing about atoms. Today is the first day of the rest of your life. If all else fails, lower your standards.
-
-
-
-
diff --git a/static/img/generated/sequence-diagrams-lifeline.svg2 b/static/img/generated/sequence-diagrams-lifeline.svg2
index c3cfdad2..a4fd641a 100644
--- a/static/img/generated/sequence-diagrams-lifeline.svg2
+++ b/static/img/generated/sequence-diagrams-lifeline.svg2
@@ -1,4 +1,4 @@
-alice bob What does it mean to be well-adjusted? The ability to play bridge or golf as if they were games.
-
-
diff --git a/static/img/generated/sequence-diagrams-note.svg2 b/static/img/generated/sequence-diagrams-note.svg2
index 9e7b2aed..6f567cbb 100644
--- a/static/img/generated/sequence-diagrams-note.svg2
+++ b/static/img/generated/sequence-diagrams-note.svg2
@@ -1,4 +1,4 @@
-alice bob important insight Chocolate chip. In the eyes of my dog, I'm a man. Cold hands, no gloves.
-
-
-
-
-
diff --git a/static/img/generated/sequence-diagrams-scope.svg2 b/static/img/generated/sequence-diagrams-scope.svg2
index c3b69989..00f7686e 100644
--- a/static/img/generated/sequence-diagrams-scope.svg2
+++ b/static/img/generated/sequence-diagrams-scope.svg2
@@ -1,4 +1,4 @@
-Office chatter Alice Bobby awkward small talk icebreaker attempt unfortunate outcome uhm, hi oh, hello what did you have for lunch? that's personal
-
-
-
-
-
-
diff --git a/static/img/generated/sequence-diagrams-self.svg2 b/static/img/generated/sequence-diagrams-self.svg2
index 7277dd2a..5bcaedd1 100644
--- a/static/img/generated/sequence-diagrams-self.svg2
+++ b/static/img/generated/sequence-diagrams-self.svg2
@@ -1,4 +1,4 @@
-son father friend Can I borrow your car? Never lend your car to anyone to whom you have given birth. internal debate ensues
-
-
-
diff --git a/static/img/generated/shapes-1.svg2 b/static/img/generated/shapes-1.svg2
index 9c93b43a..6809e92b 100644
--- a/static/img/generated/shapes-1.svg2
+++ b/static/img/generated/shapes-1.svg2
@@ -1,4 +1,4 @@
-imAShape im_a_shape im a shape i'm a shape a-shape
-
-
-
-
-
+
diff --git a/static/img/generated/shapes-2.svg2 b/static/img/generated/shapes-2.svg2
index 52615718..1e3a4d5b 100644
--- a/static/img/generated/shapes-2.svg2
+++ b/static/img/generated/shapes-2.svg2
@@ -1,4 +1,4 @@
-PostgreSQL my cloud SQLite Cassandra
+ .d2-1764489343 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-1764489343);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-1764489343);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-1764489343);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-1764489343);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-1764489343);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-1764489343);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-1764489343);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-1764489343);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-1764489343);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-1764489343);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-1764489343);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-1764489343);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-1764489343);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1764489343);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-1764489343);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-1764489343);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-1764489343);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-1764489343);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}}]]>PostgreSQL my cloud SQLite Cassandra
-
-
-
-
+
diff --git a/static/img/generated/shapes-3.svg2 b/static/img/generated/shapes-3.svg2
index f02b31ae..3566c7ae 100644
--- a/static/img/generated/shapes-3.svg2
+++ b/static/img/generated/shapes-3.svg2
@@ -1,4 +1,4 @@
-rectangle square page parallelogram document cylinder queue package step callout stored_data person diamond oval circle hexagon cloud c4-person
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/static/img/generated/strings-1.svg2 b/static/img/generated/strings-1.svg2
index 970938b2..a98f82fc 100644
--- a/static/img/generated/strings-1.svg2
+++ b/static/img/generated/strings-1.svg2
@@ -1,4 +1,4 @@
-Philips Switch
-
-
+
diff --git a/static/img/generated/strings-2.svg2 b/static/img/generated/strings-2.svg2
index 037f8c8c..c1122fc7 100644
--- a/static/img/generated/strings-2.svg2
+++ b/static/img/generated/strings-2.svg2
@@ -1,4 +1,4 @@
-$$$ ###
-
-
+
diff --git a/static/img/generated/style-classes-1.svg2 b/static/img/generated/style-classes-1.svg2
index aca2b3e1..ecd2966f 100644
--- a/static/img/generated/style-classes-1.svg2
+++ b/static/img/generated/style-classes-1.svg2
@@ -1,4 +1,4 @@
-x
-
+
diff --git a/static/img/generated/styles-3d.svg2 b/static/img/generated/styles-3d.svg2
index 72eeee9f..f5460b2f 100644
--- a/static/img/generated/styles-3d.svg2
+++ b/static/img/generated/styles-3d.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-base.svg2 b/static/img/generated/styles-base.svg2
index 2daf29f7..4455ea7d 100644
--- a/static/img/generated/styles-base.svg2
+++ b/static/img/generated/styles-base.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-border-radius.svg2 b/static/img/generated/styles-border-radius.svg2
index 2dc88d0c..68a646cb 100644
--- a/static/img/generated/styles-border-radius.svg2
+++ b/static/img/generated/styles-border-radius.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-double-border.svg2 b/static/img/generated/styles-double-border.svg2
index 7fea6d8f..848808d8 100644
--- a/static/img/generated/styles-double-border.svg2
+++ b/static/img/generated/styles-double-border.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-fill-pattern.svg2 b/static/img/generated/styles-fill-pattern.svg2
index 8324a52a..7f1e2693 100644
--- a/static/img/generated/styles-fill-pattern.svg2
+++ b/static/img/generated/styles-fill-pattern.svg2
@@ -1,4 +1,4 @@
-x y
-
-
+
diff --git a/static/img/generated/styles-fill.svg2 b/static/img/generated/styles-fill.svg2
index 3bea2c69..70fc2b12 100644
--- a/static/img/generated/styles-fill.svg2
+++ b/static/img/generated/styles-fill.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-font-size.svg2 b/static/img/generated/styles-font-size.svg2
index 24c91e46..8858172a 100644
--- a/static/img/generated/styles-font-size.svg2
+++ b/static/img/generated/styles-font-size.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-font.svg2 b/static/img/generated/styles-font.svg2
index 8b9b2a0b..5045b825 100644
--- a/static/img/generated/styles-font.svg2
+++ b/static/img/generated/styles-font.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-multiple.svg2 b/static/img/generated/styles-multiple.svg2
index 3a55a76c..6b4be381 100644
--- a/static/img/generated/styles-multiple.svg2
+++ b/static/img/generated/styles-multiple.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-opacity.svg2 b/static/img/generated/styles-opacity.svg2
index adc9c356..e2b58f2a 100644
--- a/static/img/generated/styles-opacity.svg2
+++ b/static/img/generated/styles-opacity.svg2
@@ -1,4 +1,4 @@
-y hi
-
diff --git a/static/img/generated/styles-root.svg2 b/static/img/generated/styles-root.svg2
index aac4bf66..927f0814 100644
--- a/static/img/generated/styles-root.svg2
+++ b/static/img/generated/styles-root.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-shadow.svg2 b/static/img/generated/styles-shadow.svg2
index a683b1cb..59284db8 100644
--- a/static/img/generated/styles-shadow.svg2
+++ b/static/img/generated/styles-shadow.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-stroke-width.svg2 b/static/img/generated/styles-stroke-width.svg2
index 032a7277..d3f57766 100644
--- a/static/img/generated/styles-stroke-width.svg2
+++ b/static/img/generated/styles-stroke-width.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-stroke.svg2 b/static/img/generated/styles-stroke.svg2
index 88985238..c10f65fa 100644
--- a/static/img/generated/styles-stroke.svg2
+++ b/static/img/generated/styles-stroke.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-table-color.svg2 b/static/img/generated/styles-table-color.svg2
index 9339096a..968f7855 100644
--- a/static/img/generated/styles-table-color.svg2
+++ b/static/img/generated/styles-table-color.svg2
@@ -1,16 +1,16 @@
-costumes id int PK silliness int last_updated timestamp parser - lookahead []rune + peek() (r rune, eof bool) + rewind() void + commit() void
+ .d2-3688572071 .fill-N1{fill:#0A0F25;}
+ .d2-3688572071 .fill-N2{fill:#676C7E;}
+ .d2-3688572071 .fill-N3{fill:#9499AB;}
+ .d2-3688572071 .fill-N4{fill:#CFD2DD;}
+ .d2-3688572071 .fill-N5{fill:#DEE1EB;}
+ .d2-3688572071 .fill-N6{fill:#EEF1F8;}
+ .d2-3688572071 .fill-N7{fill:#FFFFFF;}
+ .d2-3688572071 .fill-B1{fill:#0D32B2;}
+ .d2-3688572071 .fill-B2{fill:#0D32B2;}
+ .d2-3688572071 .fill-B3{fill:#E3E9FD;}
+ .d2-3688572071 .fill-B4{fill:#E3E9FD;}
+ .d2-3688572071 .fill-B5{fill:#EDF0FD;}
+ .d2-3688572071 .fill-B6{fill:#F7F8FE;}
+ .d2-3688572071 .fill-AA2{fill:#4A6FF3;}
+ .d2-3688572071 .fill-AA4{fill:#EDF0FD;}
+ .d2-3688572071 .fill-AA5{fill:#F7F8FE;}
+ .d2-3688572071 .fill-AB4{fill:#EDF0FD;}
+ .d2-3688572071 .fill-AB5{fill:#F7F8FE;}
+ .d2-3688572071 .stroke-N1{stroke:#0A0F25;}
+ .d2-3688572071 .stroke-N2{stroke:#676C7E;}
+ .d2-3688572071 .stroke-N3{stroke:#9499AB;}
+ .d2-3688572071 .stroke-N4{stroke:#CFD2DD;}
+ .d2-3688572071 .stroke-N5{stroke:#DEE1EB;}
+ .d2-3688572071 .stroke-N6{stroke:#EEF1F8;}
+ .d2-3688572071 .stroke-N7{stroke:#FFFFFF;}
+ .d2-3688572071 .stroke-B1{stroke:#0D32B2;}
+ .d2-3688572071 .stroke-B2{stroke:#0D32B2;}
+ .d2-3688572071 .stroke-B3{stroke:#E3E9FD;}
+ .d2-3688572071 .stroke-B4{stroke:#E3E9FD;}
+ .d2-3688572071 .stroke-B5{stroke:#EDF0FD;}
+ .d2-3688572071 .stroke-B6{stroke:#F7F8FE;}
+ .d2-3688572071 .stroke-AA2{stroke:#4A6FF3;}
+ .d2-3688572071 .stroke-AA4{stroke:#EDF0FD;}
+ .d2-3688572071 .stroke-AA5{stroke:#F7F8FE;}
+ .d2-3688572071 .stroke-AB4{stroke:#EDF0FD;}
+ .d2-3688572071 .stroke-AB5{stroke:#F7F8FE;}
+ .d2-3688572071 .background-color-N1{background-color:#0A0F25;}
+ .d2-3688572071 .background-color-N2{background-color:#676C7E;}
+ .d2-3688572071 .background-color-N3{background-color:#9499AB;}
+ .d2-3688572071 .background-color-N4{background-color:#CFD2DD;}
+ .d2-3688572071 .background-color-N5{background-color:#DEE1EB;}
+ .d2-3688572071 .background-color-N6{background-color:#EEF1F8;}
+ .d2-3688572071 .background-color-N7{background-color:#FFFFFF;}
+ .d2-3688572071 .background-color-B1{background-color:#0D32B2;}
+ .d2-3688572071 .background-color-B2{background-color:#0D32B2;}
+ .d2-3688572071 .background-color-B3{background-color:#E3E9FD;}
+ .d2-3688572071 .background-color-B4{background-color:#E3E9FD;}
+ .d2-3688572071 .background-color-B5{background-color:#EDF0FD;}
+ .d2-3688572071 .background-color-B6{background-color:#F7F8FE;}
+ .d2-3688572071 .background-color-AA2{background-color:#4A6FF3;}
+ .d2-3688572071 .background-color-AA4{background-color:#EDF0FD;}
+ .d2-3688572071 .background-color-AA5{background-color:#F7F8FE;}
+ .d2-3688572071 .background-color-AB4{background-color:#EDF0FD;}
+ .d2-3688572071 .background-color-AB5{background-color:#F7F8FE;}
+ .d2-3688572071 .color-N1{color:#0A0F25;}
+ .d2-3688572071 .color-N2{color:#676C7E;}
+ .d2-3688572071 .color-N3{color:#9499AB;}
+ .d2-3688572071 .color-N4{color:#CFD2DD;}
+ .d2-3688572071 .color-N5{color:#DEE1EB;}
+ .d2-3688572071 .color-N6{color:#EEF1F8;}
+ .d2-3688572071 .color-N7{color:#FFFFFF;}
+ .d2-3688572071 .color-B1{color:#0D32B2;}
+ .d2-3688572071 .color-B2{color:#0D32B2;}
+ .d2-3688572071 .color-B3{color:#E3E9FD;}
+ .d2-3688572071 .color-B4{color:#E3E9FD;}
+ .d2-3688572071 .color-B5{color:#EDF0FD;}
+ .d2-3688572071 .color-B6{color:#F7F8FE;}
+ .d2-3688572071 .color-AA2{color:#4A6FF3;}
+ .d2-3688572071 .color-AA4{color:#EDF0FD;}
+ .d2-3688572071 .color-AA5{color:#F7F8FE;}
+ .d2-3688572071 .color-AB4{color:#EDF0FD;}
+ .d2-3688572071 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3688572071);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3688572071);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-3688572071);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-3688572071);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3688572071);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3688572071);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3688572071);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-3688572071);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3688572071);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-3688572071);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3688572071);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3688572071);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3688572071);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3688572071);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3688572071);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-3688572071);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3688572071);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3688572071);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}@media screen and (prefers-color-scheme:dark){
+ .d2-3688572071 .fill-N1{fill:#CDD6F4;}
+ .d2-3688572071 .fill-N2{fill:#BAC2DE;}
+ .d2-3688572071 .fill-N3{fill:#A6ADC8;}
+ .d2-3688572071 .fill-N4{fill:#585B70;}
+ .d2-3688572071 .fill-N5{fill:#45475A;}
+ .d2-3688572071 .fill-N6{fill:#313244;}
+ .d2-3688572071 .fill-N7{fill:#1E1E2E;}
+ .d2-3688572071 .fill-B1{fill:#CBA6f7;}
+ .d2-3688572071 .fill-B2{fill:#CBA6f7;}
+ .d2-3688572071 .fill-B3{fill:#6C7086;}
+ .d2-3688572071 .fill-B4{fill:#585B70;}
+ .d2-3688572071 .fill-B5{fill:#45475A;}
+ .d2-3688572071 .fill-B6{fill:#313244;}
+ .d2-3688572071 .fill-AA2{fill:#f38BA8;}
+ .d2-3688572071 .fill-AA4{fill:#45475A;}
+ .d2-3688572071 .fill-AA5{fill:#313244;}
+ .d2-3688572071 .fill-AB4{fill:#45475A;}
+ .d2-3688572071 .fill-AB5{fill:#313244;}
+ .d2-3688572071 .stroke-N1{stroke:#CDD6F4;}
+ .d2-3688572071 .stroke-N2{stroke:#BAC2DE;}
+ .d2-3688572071 .stroke-N3{stroke:#A6ADC8;}
+ .d2-3688572071 .stroke-N4{stroke:#585B70;}
+ .d2-3688572071 .stroke-N5{stroke:#45475A;}
+ .d2-3688572071 .stroke-N6{stroke:#313244;}
+ .d2-3688572071 .stroke-N7{stroke:#1E1E2E;}
+ .d2-3688572071 .stroke-B1{stroke:#CBA6f7;}
+ .d2-3688572071 .stroke-B2{stroke:#CBA6f7;}
+ .d2-3688572071 .stroke-B3{stroke:#6C7086;}
+ .d2-3688572071 .stroke-B4{stroke:#585B70;}
+ .d2-3688572071 .stroke-B5{stroke:#45475A;}
+ .d2-3688572071 .stroke-B6{stroke:#313244;}
+ .d2-3688572071 .stroke-AA2{stroke:#f38BA8;}
+ .d2-3688572071 .stroke-AA4{stroke:#45475A;}
+ .d2-3688572071 .stroke-AA5{stroke:#313244;}
+ .d2-3688572071 .stroke-AB4{stroke:#45475A;}
+ .d2-3688572071 .stroke-AB5{stroke:#313244;}
+ .d2-3688572071 .background-color-N1{background-color:#CDD6F4;}
+ .d2-3688572071 .background-color-N2{background-color:#BAC2DE;}
+ .d2-3688572071 .background-color-N3{background-color:#A6ADC8;}
+ .d2-3688572071 .background-color-N4{background-color:#585B70;}
+ .d2-3688572071 .background-color-N5{background-color:#45475A;}
+ .d2-3688572071 .background-color-N6{background-color:#313244;}
+ .d2-3688572071 .background-color-N7{background-color:#1E1E2E;}
+ .d2-3688572071 .background-color-B1{background-color:#CBA6f7;}
+ .d2-3688572071 .background-color-B2{background-color:#CBA6f7;}
+ .d2-3688572071 .background-color-B3{background-color:#6C7086;}
+ .d2-3688572071 .background-color-B4{background-color:#585B70;}
+ .d2-3688572071 .background-color-B5{background-color:#45475A;}
+ .d2-3688572071 .background-color-B6{background-color:#313244;}
+ .d2-3688572071 .background-color-AA2{background-color:#f38BA8;}
+ .d2-3688572071 .background-color-AA4{background-color:#45475A;}
+ .d2-3688572071 .background-color-AA5{background-color:#313244;}
+ .d2-3688572071 .background-color-AB4{background-color:#45475A;}
+ .d2-3688572071 .background-color-AB5{background-color:#313244;}
+ .d2-3688572071 .color-N1{color:#CDD6F4;}
+ .d2-3688572071 .color-N2{color:#BAC2DE;}
+ .d2-3688572071 .color-N3{color:#A6ADC8;}
+ .d2-3688572071 .color-N4{color:#585B70;}
+ .d2-3688572071 .color-N5{color:#45475A;}
+ .d2-3688572071 .color-N6{color:#313244;}
+ .d2-3688572071 .color-N7{color:#1E1E2E;}
+ .d2-3688572071 .color-B1{color:#CBA6f7;}
+ .d2-3688572071 .color-B2{color:#CBA6f7;}
+ .d2-3688572071 .color-B3{color:#6C7086;}
+ .d2-3688572071 .color-B4{color:#585B70;}
+ .d2-3688572071 .color-B5{color:#45475A;}
+ .d2-3688572071 .color-B6{color:#313244;}
+ .d2-3688572071 .color-AA2{color:#f38BA8;}
+ .d2-3688572071 .color-AA4{color:#45475A;}
+ .d2-3688572071 .color-AA5{color:#313244;}
+ .d2-3688572071 .color-AB4{color:#45475A;}
+ .d2-3688572071 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-3688572071);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-3688572071);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-3688572071);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-3688572071);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-3688572071);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-3688572071);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-3688572071);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-3688572071);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-3688572071);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-3688572071);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-3688572071);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-3688572071);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-3688572071);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3688572071);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-3688572071);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-3688572071);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-3688572071);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-3688572071);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}}]]>costumes id int PK silliness int last_updated timestamp parser - lookahead []rune + peek() (r rune, eof bool) + rewind() void + commit() void
diff --git a/static/img/generated/styles-table-fill.svg2 b/static/img/generated/styles-table-fill.svg2
index ef8acbc9..cd6487de 100644
--- a/static/img/generated/styles-table-fill.svg2
+++ b/static/img/generated/styles-table-fill.svg2
@@ -1,16 +1,16 @@
-costumes id int PK silliness int last_updated timestamp parser - lookahead []rune + peek() (r rune, eof bool) + rewind() void + commit() void
+ .d2-3602239855 .fill-N1{fill:#0A0F25;}
+ .d2-3602239855 .fill-N2{fill:#676C7E;}
+ .d2-3602239855 .fill-N3{fill:#9499AB;}
+ .d2-3602239855 .fill-N4{fill:#CFD2DD;}
+ .d2-3602239855 .fill-N5{fill:#DEE1EB;}
+ .d2-3602239855 .fill-N6{fill:#EEF1F8;}
+ .d2-3602239855 .fill-N7{fill:#FFFFFF;}
+ .d2-3602239855 .fill-B1{fill:#0D32B2;}
+ .d2-3602239855 .fill-B2{fill:#0D32B2;}
+ .d2-3602239855 .fill-B3{fill:#E3E9FD;}
+ .d2-3602239855 .fill-B4{fill:#E3E9FD;}
+ .d2-3602239855 .fill-B5{fill:#EDF0FD;}
+ .d2-3602239855 .fill-B6{fill:#F7F8FE;}
+ .d2-3602239855 .fill-AA2{fill:#4A6FF3;}
+ .d2-3602239855 .fill-AA4{fill:#EDF0FD;}
+ .d2-3602239855 .fill-AA5{fill:#F7F8FE;}
+ .d2-3602239855 .fill-AB4{fill:#EDF0FD;}
+ .d2-3602239855 .fill-AB5{fill:#F7F8FE;}
+ .d2-3602239855 .stroke-N1{stroke:#0A0F25;}
+ .d2-3602239855 .stroke-N2{stroke:#676C7E;}
+ .d2-3602239855 .stroke-N3{stroke:#9499AB;}
+ .d2-3602239855 .stroke-N4{stroke:#CFD2DD;}
+ .d2-3602239855 .stroke-N5{stroke:#DEE1EB;}
+ .d2-3602239855 .stroke-N6{stroke:#EEF1F8;}
+ .d2-3602239855 .stroke-N7{stroke:#FFFFFF;}
+ .d2-3602239855 .stroke-B1{stroke:#0D32B2;}
+ .d2-3602239855 .stroke-B2{stroke:#0D32B2;}
+ .d2-3602239855 .stroke-B3{stroke:#E3E9FD;}
+ .d2-3602239855 .stroke-B4{stroke:#E3E9FD;}
+ .d2-3602239855 .stroke-B5{stroke:#EDF0FD;}
+ .d2-3602239855 .stroke-B6{stroke:#F7F8FE;}
+ .d2-3602239855 .stroke-AA2{stroke:#4A6FF3;}
+ .d2-3602239855 .stroke-AA4{stroke:#EDF0FD;}
+ .d2-3602239855 .stroke-AA5{stroke:#F7F8FE;}
+ .d2-3602239855 .stroke-AB4{stroke:#EDF0FD;}
+ .d2-3602239855 .stroke-AB5{stroke:#F7F8FE;}
+ .d2-3602239855 .background-color-N1{background-color:#0A0F25;}
+ .d2-3602239855 .background-color-N2{background-color:#676C7E;}
+ .d2-3602239855 .background-color-N3{background-color:#9499AB;}
+ .d2-3602239855 .background-color-N4{background-color:#CFD2DD;}
+ .d2-3602239855 .background-color-N5{background-color:#DEE1EB;}
+ .d2-3602239855 .background-color-N6{background-color:#EEF1F8;}
+ .d2-3602239855 .background-color-N7{background-color:#FFFFFF;}
+ .d2-3602239855 .background-color-B1{background-color:#0D32B2;}
+ .d2-3602239855 .background-color-B2{background-color:#0D32B2;}
+ .d2-3602239855 .background-color-B3{background-color:#E3E9FD;}
+ .d2-3602239855 .background-color-B4{background-color:#E3E9FD;}
+ .d2-3602239855 .background-color-B5{background-color:#EDF0FD;}
+ .d2-3602239855 .background-color-B6{background-color:#F7F8FE;}
+ .d2-3602239855 .background-color-AA2{background-color:#4A6FF3;}
+ .d2-3602239855 .background-color-AA4{background-color:#EDF0FD;}
+ .d2-3602239855 .background-color-AA5{background-color:#F7F8FE;}
+ .d2-3602239855 .background-color-AB4{background-color:#EDF0FD;}
+ .d2-3602239855 .background-color-AB5{background-color:#F7F8FE;}
+ .d2-3602239855 .color-N1{color:#0A0F25;}
+ .d2-3602239855 .color-N2{color:#676C7E;}
+ .d2-3602239855 .color-N3{color:#9499AB;}
+ .d2-3602239855 .color-N4{color:#CFD2DD;}
+ .d2-3602239855 .color-N5{color:#DEE1EB;}
+ .d2-3602239855 .color-N6{color:#EEF1F8;}
+ .d2-3602239855 .color-N7{color:#FFFFFF;}
+ .d2-3602239855 .color-B1{color:#0D32B2;}
+ .d2-3602239855 .color-B2{color:#0D32B2;}
+ .d2-3602239855 .color-B3{color:#E3E9FD;}
+ .d2-3602239855 .color-B4{color:#E3E9FD;}
+ .d2-3602239855 .color-B5{color:#EDF0FD;}
+ .d2-3602239855 .color-B6{color:#F7F8FE;}
+ .d2-3602239855 .color-AA2{color:#4A6FF3;}
+ .d2-3602239855 .color-AA4{color:#EDF0FD;}
+ .d2-3602239855 .color-AA5{color:#F7F8FE;}
+ .d2-3602239855 .color-AB4{color:#EDF0FD;}
+ .d2-3602239855 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3602239855);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3602239855);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-3602239855);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-3602239855);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3602239855);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3602239855);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3602239855);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-3602239855);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3602239855);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-3602239855);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3602239855);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3602239855);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3602239855);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3602239855);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3602239855);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-3602239855);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3602239855);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3602239855);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}@media screen and (prefers-color-scheme:dark){
+ .d2-3602239855 .fill-N1{fill:#CDD6F4;}
+ .d2-3602239855 .fill-N2{fill:#BAC2DE;}
+ .d2-3602239855 .fill-N3{fill:#A6ADC8;}
+ .d2-3602239855 .fill-N4{fill:#585B70;}
+ .d2-3602239855 .fill-N5{fill:#45475A;}
+ .d2-3602239855 .fill-N6{fill:#313244;}
+ .d2-3602239855 .fill-N7{fill:#1E1E2E;}
+ .d2-3602239855 .fill-B1{fill:#CBA6f7;}
+ .d2-3602239855 .fill-B2{fill:#CBA6f7;}
+ .d2-3602239855 .fill-B3{fill:#6C7086;}
+ .d2-3602239855 .fill-B4{fill:#585B70;}
+ .d2-3602239855 .fill-B5{fill:#45475A;}
+ .d2-3602239855 .fill-B6{fill:#313244;}
+ .d2-3602239855 .fill-AA2{fill:#f38BA8;}
+ .d2-3602239855 .fill-AA4{fill:#45475A;}
+ .d2-3602239855 .fill-AA5{fill:#313244;}
+ .d2-3602239855 .fill-AB4{fill:#45475A;}
+ .d2-3602239855 .fill-AB5{fill:#313244;}
+ .d2-3602239855 .stroke-N1{stroke:#CDD6F4;}
+ .d2-3602239855 .stroke-N2{stroke:#BAC2DE;}
+ .d2-3602239855 .stroke-N3{stroke:#A6ADC8;}
+ .d2-3602239855 .stroke-N4{stroke:#585B70;}
+ .d2-3602239855 .stroke-N5{stroke:#45475A;}
+ .d2-3602239855 .stroke-N6{stroke:#313244;}
+ .d2-3602239855 .stroke-N7{stroke:#1E1E2E;}
+ .d2-3602239855 .stroke-B1{stroke:#CBA6f7;}
+ .d2-3602239855 .stroke-B2{stroke:#CBA6f7;}
+ .d2-3602239855 .stroke-B3{stroke:#6C7086;}
+ .d2-3602239855 .stroke-B4{stroke:#585B70;}
+ .d2-3602239855 .stroke-B5{stroke:#45475A;}
+ .d2-3602239855 .stroke-B6{stroke:#313244;}
+ .d2-3602239855 .stroke-AA2{stroke:#f38BA8;}
+ .d2-3602239855 .stroke-AA4{stroke:#45475A;}
+ .d2-3602239855 .stroke-AA5{stroke:#313244;}
+ .d2-3602239855 .stroke-AB4{stroke:#45475A;}
+ .d2-3602239855 .stroke-AB5{stroke:#313244;}
+ .d2-3602239855 .background-color-N1{background-color:#CDD6F4;}
+ .d2-3602239855 .background-color-N2{background-color:#BAC2DE;}
+ .d2-3602239855 .background-color-N3{background-color:#A6ADC8;}
+ .d2-3602239855 .background-color-N4{background-color:#585B70;}
+ .d2-3602239855 .background-color-N5{background-color:#45475A;}
+ .d2-3602239855 .background-color-N6{background-color:#313244;}
+ .d2-3602239855 .background-color-N7{background-color:#1E1E2E;}
+ .d2-3602239855 .background-color-B1{background-color:#CBA6f7;}
+ .d2-3602239855 .background-color-B2{background-color:#CBA6f7;}
+ .d2-3602239855 .background-color-B3{background-color:#6C7086;}
+ .d2-3602239855 .background-color-B4{background-color:#585B70;}
+ .d2-3602239855 .background-color-B5{background-color:#45475A;}
+ .d2-3602239855 .background-color-B6{background-color:#313244;}
+ .d2-3602239855 .background-color-AA2{background-color:#f38BA8;}
+ .d2-3602239855 .background-color-AA4{background-color:#45475A;}
+ .d2-3602239855 .background-color-AA5{background-color:#313244;}
+ .d2-3602239855 .background-color-AB4{background-color:#45475A;}
+ .d2-3602239855 .background-color-AB5{background-color:#313244;}
+ .d2-3602239855 .color-N1{color:#CDD6F4;}
+ .d2-3602239855 .color-N2{color:#BAC2DE;}
+ .d2-3602239855 .color-N3{color:#A6ADC8;}
+ .d2-3602239855 .color-N4{color:#585B70;}
+ .d2-3602239855 .color-N5{color:#45475A;}
+ .d2-3602239855 .color-N6{color:#313244;}
+ .d2-3602239855 .color-N7{color:#1E1E2E;}
+ .d2-3602239855 .color-B1{color:#CBA6f7;}
+ .d2-3602239855 .color-B2{color:#CBA6f7;}
+ .d2-3602239855 .color-B3{color:#6C7086;}
+ .d2-3602239855 .color-B4{color:#585B70;}
+ .d2-3602239855 .color-B5{color:#45475A;}
+ .d2-3602239855 .color-B6{color:#313244;}
+ .d2-3602239855 .color-AA2{color:#f38BA8;}
+ .d2-3602239855 .color-AA4{color:#45475A;}
+ .d2-3602239855 .color-AA5{color:#313244;}
+ .d2-3602239855 .color-AB4{color:#45475A;}
+ .d2-3602239855 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-3602239855);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-3602239855);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-3602239855);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-3602239855);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-3602239855);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-3602239855);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-3602239855);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-3602239855);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-3602239855);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-3602239855);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-3602239855);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-3602239855);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-3602239855);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3602239855);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-3602239855);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-3602239855);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-3602239855);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-3602239855);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}}]]>costumes id int PK silliness int last_updated timestamp parser - lookahead []rune + peek() (r rune, eof bool) + rewind() void + commit() void
diff --git a/static/img/generated/styles-table-stroke.svg2 b/static/img/generated/styles-table-stroke.svg2
index 1187560d..315d658c 100644
--- a/static/img/generated/styles-table-stroke.svg2
+++ b/static/img/generated/styles-table-stroke.svg2
@@ -1,16 +1,16 @@
-costumes id int PK silliness int last_updated timestamp parser - lookahead []rune + peek() (r rune, eof bool) + rewind() void + commit() void
+ .d2-2885019775 .fill-N1{fill:#0A0F25;}
+ .d2-2885019775 .fill-N2{fill:#676C7E;}
+ .d2-2885019775 .fill-N3{fill:#9499AB;}
+ .d2-2885019775 .fill-N4{fill:#CFD2DD;}
+ .d2-2885019775 .fill-N5{fill:#DEE1EB;}
+ .d2-2885019775 .fill-N6{fill:#EEF1F8;}
+ .d2-2885019775 .fill-N7{fill:#FFFFFF;}
+ .d2-2885019775 .fill-B1{fill:#0D32B2;}
+ .d2-2885019775 .fill-B2{fill:#0D32B2;}
+ .d2-2885019775 .fill-B3{fill:#E3E9FD;}
+ .d2-2885019775 .fill-B4{fill:#E3E9FD;}
+ .d2-2885019775 .fill-B5{fill:#EDF0FD;}
+ .d2-2885019775 .fill-B6{fill:#F7F8FE;}
+ .d2-2885019775 .fill-AA2{fill:#4A6FF3;}
+ .d2-2885019775 .fill-AA4{fill:#EDF0FD;}
+ .d2-2885019775 .fill-AA5{fill:#F7F8FE;}
+ .d2-2885019775 .fill-AB4{fill:#EDF0FD;}
+ .d2-2885019775 .fill-AB5{fill:#F7F8FE;}
+ .d2-2885019775 .stroke-N1{stroke:#0A0F25;}
+ .d2-2885019775 .stroke-N2{stroke:#676C7E;}
+ .d2-2885019775 .stroke-N3{stroke:#9499AB;}
+ .d2-2885019775 .stroke-N4{stroke:#CFD2DD;}
+ .d2-2885019775 .stroke-N5{stroke:#DEE1EB;}
+ .d2-2885019775 .stroke-N6{stroke:#EEF1F8;}
+ .d2-2885019775 .stroke-N7{stroke:#FFFFFF;}
+ .d2-2885019775 .stroke-B1{stroke:#0D32B2;}
+ .d2-2885019775 .stroke-B2{stroke:#0D32B2;}
+ .d2-2885019775 .stroke-B3{stroke:#E3E9FD;}
+ .d2-2885019775 .stroke-B4{stroke:#E3E9FD;}
+ .d2-2885019775 .stroke-B5{stroke:#EDF0FD;}
+ .d2-2885019775 .stroke-B6{stroke:#F7F8FE;}
+ .d2-2885019775 .stroke-AA2{stroke:#4A6FF3;}
+ .d2-2885019775 .stroke-AA4{stroke:#EDF0FD;}
+ .d2-2885019775 .stroke-AA5{stroke:#F7F8FE;}
+ .d2-2885019775 .stroke-AB4{stroke:#EDF0FD;}
+ .d2-2885019775 .stroke-AB5{stroke:#F7F8FE;}
+ .d2-2885019775 .background-color-N1{background-color:#0A0F25;}
+ .d2-2885019775 .background-color-N2{background-color:#676C7E;}
+ .d2-2885019775 .background-color-N3{background-color:#9499AB;}
+ .d2-2885019775 .background-color-N4{background-color:#CFD2DD;}
+ .d2-2885019775 .background-color-N5{background-color:#DEE1EB;}
+ .d2-2885019775 .background-color-N6{background-color:#EEF1F8;}
+ .d2-2885019775 .background-color-N7{background-color:#FFFFFF;}
+ .d2-2885019775 .background-color-B1{background-color:#0D32B2;}
+ .d2-2885019775 .background-color-B2{background-color:#0D32B2;}
+ .d2-2885019775 .background-color-B3{background-color:#E3E9FD;}
+ .d2-2885019775 .background-color-B4{background-color:#E3E9FD;}
+ .d2-2885019775 .background-color-B5{background-color:#EDF0FD;}
+ .d2-2885019775 .background-color-B6{background-color:#F7F8FE;}
+ .d2-2885019775 .background-color-AA2{background-color:#4A6FF3;}
+ .d2-2885019775 .background-color-AA4{background-color:#EDF0FD;}
+ .d2-2885019775 .background-color-AA5{background-color:#F7F8FE;}
+ .d2-2885019775 .background-color-AB4{background-color:#EDF0FD;}
+ .d2-2885019775 .background-color-AB5{background-color:#F7F8FE;}
+ .d2-2885019775 .color-N1{color:#0A0F25;}
+ .d2-2885019775 .color-N2{color:#676C7E;}
+ .d2-2885019775 .color-N3{color:#9499AB;}
+ .d2-2885019775 .color-N4{color:#CFD2DD;}
+ .d2-2885019775 .color-N5{color:#DEE1EB;}
+ .d2-2885019775 .color-N6{color:#EEF1F8;}
+ .d2-2885019775 .color-N7{color:#FFFFFF;}
+ .d2-2885019775 .color-B1{color:#0D32B2;}
+ .d2-2885019775 .color-B2{color:#0D32B2;}
+ .d2-2885019775 .color-B3{color:#E3E9FD;}
+ .d2-2885019775 .color-B4{color:#E3E9FD;}
+ .d2-2885019775 .color-B5{color:#EDF0FD;}
+ .d2-2885019775 .color-B6{color:#F7F8FE;}
+ .d2-2885019775 .color-AA2{color:#4A6FF3;}
+ .d2-2885019775 .color-AA4{color:#EDF0FD;}
+ .d2-2885019775 .color-AA5{color:#F7F8FE;}
+ .d2-2885019775 .color-AB4{color:#EDF0FD;}
+ .d2-2885019775 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2885019775);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2885019775);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-2885019775);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-2885019775);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2885019775);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2885019775);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2885019775);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-2885019775);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2885019775);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-2885019775);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2885019775);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2885019775);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2885019775);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2885019775);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2885019775);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2885019775);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2885019775);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2885019775);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}@media screen and (prefers-color-scheme:dark){
+ .d2-2885019775 .fill-N1{fill:#CDD6F4;}
+ .d2-2885019775 .fill-N2{fill:#BAC2DE;}
+ .d2-2885019775 .fill-N3{fill:#A6ADC8;}
+ .d2-2885019775 .fill-N4{fill:#585B70;}
+ .d2-2885019775 .fill-N5{fill:#45475A;}
+ .d2-2885019775 .fill-N6{fill:#313244;}
+ .d2-2885019775 .fill-N7{fill:#1E1E2E;}
+ .d2-2885019775 .fill-B1{fill:#CBA6f7;}
+ .d2-2885019775 .fill-B2{fill:#CBA6f7;}
+ .d2-2885019775 .fill-B3{fill:#6C7086;}
+ .d2-2885019775 .fill-B4{fill:#585B70;}
+ .d2-2885019775 .fill-B5{fill:#45475A;}
+ .d2-2885019775 .fill-B6{fill:#313244;}
+ .d2-2885019775 .fill-AA2{fill:#f38BA8;}
+ .d2-2885019775 .fill-AA4{fill:#45475A;}
+ .d2-2885019775 .fill-AA5{fill:#313244;}
+ .d2-2885019775 .fill-AB4{fill:#45475A;}
+ .d2-2885019775 .fill-AB5{fill:#313244;}
+ .d2-2885019775 .stroke-N1{stroke:#CDD6F4;}
+ .d2-2885019775 .stroke-N2{stroke:#BAC2DE;}
+ .d2-2885019775 .stroke-N3{stroke:#A6ADC8;}
+ .d2-2885019775 .stroke-N4{stroke:#585B70;}
+ .d2-2885019775 .stroke-N5{stroke:#45475A;}
+ .d2-2885019775 .stroke-N6{stroke:#313244;}
+ .d2-2885019775 .stroke-N7{stroke:#1E1E2E;}
+ .d2-2885019775 .stroke-B1{stroke:#CBA6f7;}
+ .d2-2885019775 .stroke-B2{stroke:#CBA6f7;}
+ .d2-2885019775 .stroke-B3{stroke:#6C7086;}
+ .d2-2885019775 .stroke-B4{stroke:#585B70;}
+ .d2-2885019775 .stroke-B5{stroke:#45475A;}
+ .d2-2885019775 .stroke-B6{stroke:#313244;}
+ .d2-2885019775 .stroke-AA2{stroke:#f38BA8;}
+ .d2-2885019775 .stroke-AA4{stroke:#45475A;}
+ .d2-2885019775 .stroke-AA5{stroke:#313244;}
+ .d2-2885019775 .stroke-AB4{stroke:#45475A;}
+ .d2-2885019775 .stroke-AB5{stroke:#313244;}
+ .d2-2885019775 .background-color-N1{background-color:#CDD6F4;}
+ .d2-2885019775 .background-color-N2{background-color:#BAC2DE;}
+ .d2-2885019775 .background-color-N3{background-color:#A6ADC8;}
+ .d2-2885019775 .background-color-N4{background-color:#585B70;}
+ .d2-2885019775 .background-color-N5{background-color:#45475A;}
+ .d2-2885019775 .background-color-N6{background-color:#313244;}
+ .d2-2885019775 .background-color-N7{background-color:#1E1E2E;}
+ .d2-2885019775 .background-color-B1{background-color:#CBA6f7;}
+ .d2-2885019775 .background-color-B2{background-color:#CBA6f7;}
+ .d2-2885019775 .background-color-B3{background-color:#6C7086;}
+ .d2-2885019775 .background-color-B4{background-color:#585B70;}
+ .d2-2885019775 .background-color-B5{background-color:#45475A;}
+ .d2-2885019775 .background-color-B6{background-color:#313244;}
+ .d2-2885019775 .background-color-AA2{background-color:#f38BA8;}
+ .d2-2885019775 .background-color-AA4{background-color:#45475A;}
+ .d2-2885019775 .background-color-AA5{background-color:#313244;}
+ .d2-2885019775 .background-color-AB4{background-color:#45475A;}
+ .d2-2885019775 .background-color-AB5{background-color:#313244;}
+ .d2-2885019775 .color-N1{color:#CDD6F4;}
+ .d2-2885019775 .color-N2{color:#BAC2DE;}
+ .d2-2885019775 .color-N3{color:#A6ADC8;}
+ .d2-2885019775 .color-N4{color:#585B70;}
+ .d2-2885019775 .color-N5{color:#45475A;}
+ .d2-2885019775 .color-N6{color:#313244;}
+ .d2-2885019775 .color-N7{color:#1E1E2E;}
+ .d2-2885019775 .color-B1{color:#CBA6f7;}
+ .d2-2885019775 .color-B2{color:#CBA6f7;}
+ .d2-2885019775 .color-B3{color:#6C7086;}
+ .d2-2885019775 .color-B4{color:#585B70;}
+ .d2-2885019775 .color-B5{color:#45475A;}
+ .d2-2885019775 .color-B6{color:#313244;}
+ .d2-2885019775 .color-AA2{color:#f38BA8;}
+ .d2-2885019775 .color-AA4{color:#45475A;}
+ .d2-2885019775 .color-AA5{color:#313244;}
+ .d2-2885019775 .color-AB4{color:#45475A;}
+ .d2-2885019775 .color-AB5{color:#313244;}.appendix text.text{fill:#CDD6F4}.md{--color-fg-default:#CDD6F4;--color-fg-muted:#BAC2DE;--color-fg-subtle:#A6ADC8;--color-canvas-default:#1E1E2E;--color-canvas-subtle:#313244;--color-border-default:#CBA6f7;--color-border-muted:#CBA6f7;--color-neutral-muted:#313244;--color-accent-fg:#CBA6f7;--color-accent-emphasis:#CBA6f7;--color-attention-subtle:#BAC2DE;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-normal-d2-2885019775);mix-blend-mode:color-burn}.sketch-overlay-B2{fill:url(#streaks-normal-d2-2885019775);mix-blend-mode:color-burn}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2885019775);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-dark-d2-2885019775);mix-blend-mode:overlay}.sketch-overlay-B5{fill:url(#streaks-darker-d2-2885019775);mix-blend-mode:lighten}.sketch-overlay-B6{fill:url(#streaks-darker-d2-2885019775);mix-blend-mode:lighten}.sketch-overlay-AA2{fill:url(#streaks-normal-d2-2885019775);mix-blend-mode:color-burn}.sketch-overlay-AA4{fill:url(#streaks-darker-d2-2885019775);mix-blend-mode:lighten}.sketch-overlay-AA5{fill:url(#streaks-darker-d2-2885019775);mix-blend-mode:lighten}.sketch-overlay-AB4{fill:url(#streaks-darker-d2-2885019775);mix-blend-mode:lighten}.sketch-overlay-AB5{fill:url(#streaks-darker-d2-2885019775);mix-blend-mode:lighten}.sketch-overlay-N1{fill:url(#streaks-normal-d2-2885019775);mix-blend-mode:color-burn}.sketch-overlay-N2{fill:url(#streaks-normal-d2-2885019775);mix-blend-mode:color-burn}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2885019775);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-dark-d2-2885019775);mix-blend-mode:overlay}.sketch-overlay-N5{fill:url(#streaks-darker-d2-2885019775);mix-blend-mode:lighten}.sketch-overlay-N6{fill:url(#streaks-darker-d2-2885019775);mix-blend-mode:lighten}.sketch-overlay-N7{fill:url(#streaks-darker-d2-2885019775);mix-blend-mode:lighten}.light-code{display: none}.dark-code{display: block}}]]>costumes id int PK silliness int last_updated timestamp parser - lookahead []rune + peek() (r rune, eof bool) + rewind() void + commit() void
diff --git a/static/img/generated/styles-text-decoration.svg2 b/static/img/generated/styles-text-decoration.svg2
index e1d7c501..e0b55178 100644
--- a/static/img/generated/styles-text-decoration.svg2
+++ b/static/img/generated/styles-text-decoration.svg2
@@ -1,4 +1,4 @@
-x y hi
-
-
diff --git a/static/img/generated/styles-text-transform.svg2 b/static/img/generated/styles-text-transform.svg2
index 0acd0235..70eec5f4 100644
--- a/static/img/generated/styles-text-transform.svg2
+++ b/static/img/generated/styles-text-transform.svg2
@@ -1,4 +1,4 @@
-tom JERRY Hi
-
-
diff --git a/static/img/generated/styles_base.svg2 b/static/img/generated/styles_base.svg2
deleted file mode 100644
index 920b7594..00000000
--- a/static/img/generated/styles_base.svg2
+++ /dev/null
@@ -1,52 +0,0 @@
-
-x
-
-
-
diff --git a/static/img/generated/suspend-2.svg2 b/static/img/generated/suspend-2.svg2
index 48f089b7..cbc46187 100644
--- a/static/img/generated/suspend-2.svg2
+++ b/static/img/generated/suspend-2.svg2
@@ -1,4 +1,4 @@
-Restaurants Diners eat at
-
-
diff --git a/static/img/generated/suspend-3.svg2 b/static/img/generated/suspend-3.svg2
index 740f026b..5abd2813 100644
--- a/static/img/generated/suspend-3.svg2
+++ b/static/img/generated/suspend-3.svg2
@@ -1,4 +1,4 @@
-Restaurants Diners Chipotle Burger King zack competes with likes
-
-
-
-
-
diff --git a/static/img/generated/suspend-4.svg2 b/static/img/generated/suspend-4.svg2
index b45c8245..0162e102 100644
--- a/static/img/generated/suspend-4.svg2
+++ b/static/img/generated/suspend-4.svg2
@@ -1,4 +1,4 @@
-Restaurants Diners Chipotle Burger King daniel zack likes likes likes
-
-
-
-
-
-
diff --git a/static/img/generated/suspend.svg2 b/static/img/generated/suspend.svg2
index 04615049..5183a14e 100644
--- a/static/img/generated/suspend.svg2
+++ b/static/img/generated/suspend.svg2
@@ -1,4 +1,4 @@
-Restaurants Diners Chipotle Chick-Fil-A Burger King daniel zack competes with eat at likes dislikes likes likes
-
-
-
-
-
-
-
diff --git a/static/img/generated/table.svg2 b/static/img/generated/table.svg2
index bf038659..c5093473 100644
--- a/static/img/generated/table.svg2
+++ b/static/img/generated/table.svg2
@@ -1,4 +1,4 @@
-Hydrogen 1 1.008 -259.16 Carbon 6 12.011 3500 Oxygen 8 15.999 -218.79
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/static/img/generated/tables-1.svg2 b/static/img/generated/tables-1.svg2
index 989df828..486763f4 100644
--- a/static/img/generated/tables-1.svg2
+++ b/static/img/generated/tables-1.svg2
@@ -1,4 +1,4 @@
-cloud disks id int PK blocks id int PK disk int FK blob AWS S3 Vancouver
-
-
+
diff --git a/static/img/generated/tax.svg2 b/static/img/generated/tax.svg2
index d98461ad..060de5aa 100644
--- a/static/img/generated/tax.svg2
+++ b/static/img/generated/tax.svg2
@@ -1,4 +1,4 @@
-Current state you accountant turbotax government You owe us this much
-
-
-
-
-
A better world you accountant turbotax government You owe us this much
-
-
-
-
-
\ No newline at end of file
diff --git a/static/img/generated/terminal-theme-gray.svg2 b/static/img/generated/terminal-theme-gray.svg2
deleted file mode 100644
index 1e0fd8c9..00000000
--- a/static/img/generated/terminal-theme-gray.svg2
+++ /dev/null
@@ -1,214 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-NETWORK USER API SERVER LOGS CELL TOWER ONLINE PORTAL DATA PROCESSOR SATELLITES TRANSMITTER UI STORAGE SEND SEND SEND PHONE LOGS MAKE CALL ACCESS DISPLAY PERSIST
-
-
-
-
-
-
-
-
-
-
diff --git a/static/img/generated/terminal-theme.svg2 b/static/img/generated/terminal-theme.svg2
index ee850257..5a77e071 100644
--- a/static/img/generated/terminal-theme.svg2
+++ b/static/img/generated/terminal-theme.svg2
@@ -1,4 +1,4 @@
-plankton will steal
-
-
diff --git a/static/img/generated/theme-override.svg2 b/static/img/generated/theme-override.svg2
index fd0c7542..fa38378f 100644
--- a/static/img/generated/theme-override.svg2
+++ b/static/img/generated/theme-override.svg2
@@ -1,4 +1,4 @@
-ci-runner codedeploy aws instance safe deploy safe deploy direct deploy God has abandoned this pipeline
+
+
+
+
+
+
diff --git a/static/img/generated/tooltip.svg2 b/static/img/generated/tooltip.svg2
index 5ae72489..c1773e0c 100644
--- a/static/img/generated/tooltip.svg2
+++ b/static/img/generated/tooltip.svg2
@@ -1,4 +1,4 @@
-users id int PK email int FK name string password text created_at timestamp last_updated timestamp emails id int PK, UNQ local string domain string verified boolean
-
-
-
diff --git a/static/img/generated/vars-config.svg2 b/static/img/generated/vars-config.svg2
index 1e928dd0..2e3b0922 100644
--- a/static/img/generated/vars-config.svg2
+++ b/static/img/generated/vars-config.svg2
@@ -1,4 +1,4 @@
-a b Send field ${names}
-
-
diff --git a/static/img/generated/vars-intro.svg2 b/static/img/generated/vars-intro.svg2
index 0c0fc0d1..2ad33ac0 100644
--- a/static/img/generated/vars-intro.svg2
+++ b/static/img/generated/vars-intro.svg2
@@ -1,4 +1,4 @@
-Cat-1 Cat-2
-
-
+
diff --git a/static/img/generated/vars-nested.svg2 b/static/img/generated/vars-nested.svg2
index 4c7a6c2a..1a017f26 100644
--- a/static/img/generated/vars-nested.svg2
+++ b/static/img/generated/vars-nested.svg2
@@ -1,4 +1,4 @@
-button
-
+
diff --git a/static/img/generated/vars-scoped.svg2 b/static/img/generated/vars-scoped.svg2
index 59a954f3..e83d8c26 100644
--- a/static/img/generated/vars-scoped.svg2
+++ b/static/img/generated/vars-scoped.svg2
@@ -1,4 +1,4 @@
-Global load balancer zone1 us-east-1 API
-
-
-
+
diff --git a/static/img/generated/vars-spread.svg2 b/static/img/generated/vars-spread.svg2
index 7512bd42..c14ed5c4 100644
--- a/static/img/generated/vars-spread.svg2
+++ b/static/img/generated/vars-spread.svg2
@@ -1,4 +1,4 @@
-data a int PK, NOT NULL, UNQ DRAFT DISCLAIMER I am not a lawyer
-
-
+
diff --git a/static/img/generated/wcc.pptx b/static/img/generated/wcc.pptx
index 48fd516d..88e5524e 100644
Binary files a/static/img/generated/wcc.pptx and b/static/img/generated/wcc.pptx differ