Merge branch 'master' into board_flag

This commit is contained in:
gavin-ts 2023-11-28 08:37:50 -08:00 committed by GitHub
commit de4b088687
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
104 changed files with 11785 additions and 7620 deletions

View file

@ -30,3 +30,6 @@
- Fixes crash when using `--watch` and navigating to an invalid board path [#1693](https://github.com/terrastruct/d2/pull/1693)
- Fixes edge case where nested edge globs were creating excess shapes [#1713](https://github.com/terrastruct/d2/pull/1713)
- Fixes a panic with a connection to a grid cell that is a container in TALA [#1729](https://github.com/terrastruct/d2/pull/1729)
- Fixes incorrect grid cell positioning when the grid has a shape set and fixes content sometimes escaping circle shapes. [#1734](https://github.com/terrastruct/d2/pull/1734)
- Fixes content sometimes escaping cloud shapes. [#1736](https://github.com/terrastruct/d2/pull/1736)
- Fixes panic using a glob filter (e.g. `&a`) outside globs. [#1748](https://github.com/terrastruct/d2/pull/1748)

View file

@ -392,6 +392,46 @@ func LayoutResolver(ctx context.Context, ms *xmain.State, plugins []d2plugin.Plu
}
}
func RouterResolver(ctx context.Context, ms *xmain.State, plugins []d2plugin.Plugin) func(engine string) (d2graph.RouteEdges, error) {
cached := make(map[string]d2graph.RouteEdges)
return func(engine string) (d2graph.RouteEdges, error) {
if c, ok := cached[engine]; ok {
return c, nil
}
plugin, err := d2plugin.FindPlugin(ctx, plugins, engine)
if err != nil {
if errors.Is(err, exec.ErrNotFound) {
return nil, layoutNotFound(ctx, plugins, engine)
}
return nil, err
}
pluginInfo, err := plugin.Info(ctx)
if err != nil {
return nil, err
}
hasRouter := false
for _, feat := range pluginInfo.Features {
if feat == d2plugin.ROUTES_EDGES {
hasRouter = true
break
}
}
if !hasRouter {
return nil, nil
}
routingPlugin, ok := plugin.(d2plugin.RoutingPlugin)
if !ok {
return nil, fmt.Errorf("plugin has routing feature but does not implement RoutingPlugin")
}
routeEdges := d2graph.RouteEdges(routingPlugin.RouteEdges)
cached[engine] = routeEdges
return routeEdges, nil
}
}
func compile(ctx context.Context, ms *xmain.State, plugins []d2plugin.Plugin, fs fs.FS, layout *string, renderOpts d2svg.RenderOpts, fontFamily *d2fonts.FontFamily, animateInterval int64, inputPath, outputPath string, boardPath []string, noChildren, bundle, forceAppendix bool, page playwright.Page) (_ []byte, written bool, _ error) {
start := time.Now()
input, err := ms.ReadPath(inputPath)
@ -410,6 +450,7 @@ func compile(ctx context.Context, ms *xmain.State, plugins []d2plugin.Plugin, fs
InputPath: inputPath,
LayoutResolver: LayoutResolver(ctx, ms, plugins),
Layout: layout,
RouterResolver: RouterResolver(ctx, ms, plugins),
FS: fs,
}

View file

@ -167,6 +167,10 @@ func toShape(obj *d2graph.Object, theme *d2themes.Theme) d2target.Shape {
case d2target.ShapeSQLTable:
shape.SQLTable = *obj.SQLTable
shape.FontSize -= d2target.HeaderFontAdd
case d2target.ShapeCloud:
if obj.ContentAspectRatio != nil {
shape.ContentAspectRatio = go2.Pointer(*obj.ContentAspectRatio)
}
}
shape.Label = text.Text
shape.LabelWidth = text.Dimensions.Width

View file

@ -235,7 +235,7 @@ func run(t *testing.T, tc testCase) {
assert.JSON(t, nil, err)
graphInfo := d2layouts.NestedGraphInfo(g.Root)
err = d2layouts.LayoutNested(ctx, g, graphInfo, d2dagrelayout.DefaultLayout)
err = d2layouts.LayoutNested(ctx, g, graphInfo, d2dagrelayout.DefaultLayout, d2layouts.DefaultRouter)
if err != nil {
t.Fatal(err)
}

View file

@ -80,6 +80,7 @@ func (g *Graph) RootBoard() *Graph {
}
type LayoutGraph func(context.Context, *Graph) error
type RouteEdges func(context.Context, *Graph, []*Edge) error
// TODO consider having different Scalar types
// Right now we'll hold any types in Value and just convert, e.g. floats
@ -107,6 +108,8 @@ type Object struct {
LabelPosition *string `json:"labelPosition,omitempty"`
IconPosition *string `json:"iconPosition,omitempty"`
ContentAspectRatio *float64 `json:"contentAspectRatio,omitempty"`
Class *d2target.Class `json:"class,omitempty"`
SQLTable *d2target.SQLTable `json:"sql_table,omitempty"`
@ -1068,13 +1071,17 @@ func (obj *Object) SizeToContent(contentWidth, contentHeight, paddingX, paddingY
obj.Width = sideLength
obj.Height = sideLength
} else if desiredHeight == 0 || desiredWidth == 0 {
switch s.GetType() {
switch shapeType {
case shape.PERSON_TYPE:
obj.Width, obj.Height = shape.LimitAR(obj.Width, obj.Height, shape.PERSON_AR_LIMIT)
case shape.OVAL_TYPE:
obj.Width, obj.Height = shape.LimitAR(obj.Width, obj.Height, shape.OVAL_AR_LIMIT)
}
}
if shapeType == shape.CLOUD_TYPE {
innerBox := s.GetInnerBoxForContent(contentWidth, contentHeight)
obj.ContentAspectRatio = go2.Pointer(innerBox.Width / innerBox.Height)
}
}
func (obj *Object) OuterNearContainer() *Object {

View file

@ -364,7 +364,11 @@ func (obj *Object) ToShape() shape.Shape {
dslShape := strings.ToLower(obj.Shape.Value)
shapeType := d2target.DSL_SHAPE_TO_SHAPE_TYPE[dslShape]
contentBox := geo.NewBox(tl, obj.Width, obj.Height)
return shape.NewShape(shapeType, contentBox)
s := shape.NewShape(shapeType, contentBox)
if shapeType == shape.CLOUD_TYPE && obj.ContentAspectRatio != nil {
s.SetInnerBoxAspectRatio(*obj.ContentAspectRatio)
}
return s
}
func (obj *Object) GetLabelTopLeft() *geo.Point {

View file

@ -394,6 +394,9 @@ func (c *compiler) ampersandFilterMap(dst *Map, ast, scopeAST *d2ast.Map) bool {
ScopeAST: scopeAST,
})
if !ok {
if len(c.mapRefContextStack) == 0 {
return false
}
// Unapply glob if appropriate.
gctx := c.getGlobContext(c.mapRefContextStack[len(c.mapRefContextStack)-1])
if gctx == nil {

View file

@ -233,6 +233,18 @@ classes: {
TestCompile/filters/errors/bad-syntax.d2:9:1: unexpected map termination character } in file map`)
},
},
{
name: "outside-glob",
run: func(t testing.TB) {
_, err := compile(t, `jacob.style: {
fill: red
multiple: true
}
&a
`)
assert.ErrorString(t, err, `TestCompile/filters/errors/outside-glob.d2:5:1: glob filters cannot be used outside globs`)
},
},
{
name: "no-glob",
run: func(t testing.TB) {

View file

@ -5,7 +5,6 @@ import (
"context"
"fmt"
"math"
"strconv"
"oss.terrastruct.com/d2/d2graph"
"oss.terrastruct.com/d2/d2target"
@ -69,7 +68,6 @@ func Layout(ctx context.Context, g *d2graph.Graph) error {
labelHeight = float64(obj.LabelDimensions.Height) + 2*label.PADDING
}
var dx, dy float64
if labelWidth > 0 {
switch labelPosition {
case label.OutsideTopLeft, label.OutsideTopCenter, label.OutsideTopRight,
@ -112,67 +110,33 @@ func Layout(ctx context.Context, g *d2graph.Graph) error {
}
}
overflowTop := padding.Top - float64(verticalPadding)
if overflowTop > 0 {
contentHeight += overflowTop
dy += overflowTop
}
overflowBottom := padding.Bottom - float64(verticalPadding)
if overflowBottom > 0 {
contentHeight += overflowBottom
}
overflowLeft := padding.Left - float64(horizontalPadding)
if overflowLeft > 0 {
contentWidth += overflowLeft
dx += overflowLeft
}
overflowRight := padding.Right - float64(horizontalPadding)
if overflowRight > 0 {
contentWidth += overflowRight
}
padding.Top = math.Max(padding.Top, float64(verticalPadding))
padding.Bottom = math.Max(padding.Bottom, float64(verticalPadding))
padding.Left = math.Max(padding.Left, float64(horizontalPadding))
padding.Right = math.Max(padding.Right, float64(horizontalPadding))
// manually handle desiredWidth/Height so we can center the grid
var desiredWidth, desiredHeight int
var originalWidthAttr, originalHeightAttr *d2graph.Scalar
if obj.WidthAttr != nil {
desiredWidth, _ = strconv.Atoi(obj.WidthAttr.Value)
// SizeToContent without desired width
originalWidthAttr = obj.WidthAttr
obj.WidthAttr = nil
}
if obj.HeightAttr != nil {
desiredHeight, _ = strconv.Atoi(obj.HeightAttr.Value)
originalHeightAttr = obj.HeightAttr
obj.HeightAttr = nil
}
// size shape according to grid
obj.SizeToContent(contentWidth, contentHeight, float64(2*horizontalPadding), float64(2*verticalPadding))
if originalWidthAttr != nil {
obj.WidthAttr = originalWidthAttr
}
if originalHeightAttr != nil {
obj.HeightAttr = originalHeightAttr
}
if desiredWidth > 0 {
ddx := float64(desiredWidth) - obj.Width
if ddx > 0 {
dx += ddx / 2
obj.Width = float64(desiredWidth)
}
}
if desiredHeight > 0 {
ddy := float64(desiredHeight) - obj.Height
if ddy > 0 {
dy += ddy / 2
obj.Height = float64(desiredHeight)
}
}
totalWidth := padding.Left + contentWidth + padding.Right
totalHeight := padding.Top + contentHeight + padding.Bottom
obj.SizeToContent(totalWidth, totalHeight, 0, 0)
// compute where the grid should be placed inside shape
innerBox := obj.ToShape().GetInnerBox()
dx = innerBox.TopLeft.X + dx
dy = innerBox.TopLeft.Y + dy
s := obj.ToShape()
innerTL := s.GetInsidePlacement(totalWidth, totalHeight, 0, 0)
// depending on the shape innerBox may be larger than totalWidth, totalHeight
// if this is the case, we want to center the cells within the larger innerBox
innerBox := s.GetInnerBox()
var resizeDx, resizeDy float64
if innerBox.Width > totalWidth {
resizeDx = (innerBox.Width - totalWidth) / 2
}
if innerBox.Height > totalHeight {
resizeDy = (innerBox.Height - totalHeight) / 2
}
// move from horizontalPadding,verticalPadding to innerTL.X+padding.Left, innerTL.Y+padding.Top
// and if innerBox is larger than content dimensions, adjust to center within innerBox
dx := -float64(horizontalPadding) + innerTL.X + padding.Left + resizeDx
dy := -float64(verticalPadding) + innerTL.Y + padding.Top + resizeDy
if dx != 0 || dy != 0 {
gd.shift(dx, dy)
}

View file

@ -76,7 +76,7 @@ func SaveOrder(g *d2graph.Graph) (restoreOrder func()) {
}
}
func LayoutNested(ctx context.Context, g *d2graph.Graph, graphInfo GraphInfo, coreLayout d2graph.LayoutGraph) error {
func LayoutNested(ctx context.Context, g *d2graph.Graph, graphInfo GraphInfo, coreLayout d2graph.LayoutGraph, edgeRouter d2graph.RouteEdges) error {
g.Root.Box = &geo.Box{}
// Before we can layout these nodes, we need to handle all nested diagrams first.
@ -118,7 +118,7 @@ func LayoutNested(ctx context.Context, g *d2graph.Graph, graphInfo GraphInfo, co
// Then we layout curr as a nested graph and re-inject it
id := curr.AbsID()
err := LayoutNested(ctx, nestedGraph, GraphInfo{}, coreLayout)
err := LayoutNested(ctx, nestedGraph, GraphInfo{}, coreLayout, edgeRouter)
if err != nil {
return err
}
@ -209,7 +209,7 @@ func LayoutNested(ctx context.Context, g *d2graph.Graph, graphInfo GraphInfo, co
curr.NearKey = nil
}
err := LayoutNested(ctx, nestedGraph, nestedInfo, coreLayout)
err := LayoutNested(ctx, nestedGraph, nestedInfo, coreLayout, edgeRouter)
if err != nil {
return err
}
@ -291,36 +291,61 @@ func LayoutNested(ctx context.Context, g *d2graph.Graph, graphInfo GraphInfo, co
PositionNested(obj, nestedGraph)
}
// update map with injected objects
for _, o := range g.Objects {
idToObj[o.AbsID()] = o
if len(extractedEdges) > 0 {
// update map with injected objects
for _, o := range g.Objects {
idToObj[o.AbsID()] = o
}
// Restore cross-graph edges and route them
g.Edges = append(g.Edges, extractedEdges...)
for _, e := range extractedEdges {
// update object references
src, exists := idToObj[e.Src.AbsID()]
if !exists {
return fmt.Errorf("could not find object %#v after layout", e.Src.AbsID())
}
e.Src = src
dst, exists := idToObj[e.Dst.AbsID()]
if !exists {
return fmt.Errorf("could not find object %#v after layout", e.Dst.AbsID())
}
e.Dst = dst
}
err = edgeRouter(ctx, g, extractedEdges)
if err != nil {
return err
}
// need to update pointers if plugin performs edge routing
for _, e := range extractedEdges {
src, exists := idToObj[e.Src.AbsID()]
if !exists {
return fmt.Errorf("could not find object %#v after routing", e.Src.AbsID())
}
e.Src = src
dst, exists := idToObj[e.Dst.AbsID()]
if !exists {
return fmt.Errorf("could not find object %#v after routing", e.Dst.AbsID())
}
e.Dst = dst
}
}
// Restore cross-graph edges and route them
g.Edges = append(g.Edges, extractedEdges...)
for _, e := range extractedEdges {
// update object references
src, exists := idToObj[e.Src.AbsID()]
if !exists {
return fmt.Errorf("could not find object %#v after layout", e.Src.AbsID())
}
e.Src = src
dst, exists := idToObj[e.Dst.AbsID()]
if !exists {
return fmt.Errorf("could not find object %#v after layout", e.Dst.AbsID())
}
e.Dst = dst
log.Debug(ctx, "done", slog.F("rootlevel", g.RootLevel), slog.F("shapes", g.PrintString()))
return err
}
// simple straight line edge routing when going across graphs
func DefaultRouter(ctx context.Context, graph *d2graph.Graph, edges []*d2graph.Edge) error {
for _, e := range edges {
// TODO replace simple straight line edge routing
e.Route = []*geo.Point{e.Src.Center(), e.Dst.Center()}
e.TraceToShape(e.Route, 0, 1)
if e.Label.Value != "" {
e.LabelPosition = go2.Pointer(label.InsideMiddleCenter.String())
}
}
log.Debug(ctx, "done", slog.F("rootlevel", g.RootLevel), slog.F("shapes", g.PrintString()))
return err
return nil
}
func NestedGraphInfo(obj *d2graph.Object) (gi GraphInfo) {

View file

@ -25,6 +25,7 @@ type CompileOptions struct {
FS fs.FS
MeasuredTexts []*d2target.MText
Ruler *textmeasure.Ruler
RouterResolver func(engine string) (d2graph.RouteEdges, error)
LayoutResolver func(engine string) (d2graph.LayoutGraph, error)
Layout *string
@ -81,9 +82,13 @@ func compile(ctx context.Context, g *d2graph.Graph, compileOpts *CompileOptions,
if err != nil {
return nil, err
}
edgeRouter, err := getEdgeRouter(compileOpts)
if err != nil {
return nil, err
}
graphInfo := d2layouts.NestedGraphInfo(g.Root)
err = d2layouts.LayoutNested(ctx, g, graphInfo, coreLayout)
err = d2layouts.LayoutNested(ctx, g, graphInfo, coreLayout, edgeRouter)
if err != nil {
return nil, err
}
@ -131,6 +136,19 @@ func getLayout(opts *CompileOptions) (d2graph.LayoutGraph, error) {
}
}
func getEdgeRouter(opts *CompileOptions) (d2graph.RouteEdges, error) {
if opts.Layout != nil && opts.RouterResolver != nil {
router, err := opts.RouterResolver(*opts.Layout)
if err != nil {
return nil, err
}
if router != nil {
return router, nil
}
}
return d2layouts.DefaultRouter, nil
}
// applyConfigs applies the configs read from D2 and applies it to passed in opts
// It will only write to opt fields that are nil, as passed-in opts have precedence
func applyConfigs(config *d2target.Config, compileOpts *CompileOptions, renderOpts *d2svg.RenderOpts) {

View file

@ -80,6 +80,11 @@ type Plugin interface {
PostProcess(context.Context, []byte) ([]byte, error)
}
type RoutingPlugin interface {
// RouteEdges runs the plugin's edge routing algorithm for the given edges in the input graph
RouteEdges(context.Context, *d2graph.Graph, []*d2graph.Edge) error
}
// PluginInfo is the current info information of a plugin.
// note: The two fields Type and Path are not set by the plugin
// itself but only in ListPlugins.

View file

@ -21,6 +21,9 @@ const TOP_LEFT PluginFeature = "top_left"
// When this is true, containers can have connections to descendants
const DESCENDANT_EDGES PluginFeature = "descendant_edges"
// When this is true, the plugin also implements RoutingPlugin interface to route edges
const ROUTES_EDGES PluginFeature = "routes_edges"
func FeatureSupportCheck(info *PluginInfo, g *d2graph.Graph) error {
// Older version of plugin. Skip checking.
if info.Features == nil {

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 129 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 163 KiB

After

Width:  |  Height:  |  Size: 164 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 167 KiB

View file

@ -932,6 +932,9 @@ func drawShape(writer, appendixWriter io.Writer, diagramHash string, targetShape
shapeType := d2target.DSL_SHAPE_TO_SHAPE_TYPE[targetShape.Type]
s := shape.NewShape(shapeType, geo.NewBox(tl, width, height))
if shapeType == shape.CLOUD_TYPE && targetShape.ContentAspectRatio != nil {
s.SetInnerBoxAspectRatio(*targetShape.ContentAspectRatio)
}
var shadowAttr string
if targetShape.Shadow {
@ -1192,10 +1195,15 @@ func drawShape(writer, appendixWriter io.Writer, diagramHash string, targetShape
}
}
// to examine GetInsidePlacement
// padX, padY := s.GetDefaultPadding()
// innerTL := s.GetInsidePlacement(s.GetInnerBox().Width, s.GetInnerBox().Height, padX, padY)
// fmt.Fprint(writer, renderOval(&innerTL, 5, 5, "fill:red;"))
// // to examine shape's innerBox
// innerBox := s.GetInnerBox()
// el := d2themes.NewThemableElement("rect")
// el.X = float64(innerBox.TopLeft.X)
// el.Y = float64(innerBox.TopLeft.Y)
// el.Width = float64(innerBox.Width)
// el.Height = float64(innerBox.Height)
// el.Style = "fill:rgba(255,0,0,0.5);"
// fmt.Fprint(writer, el.Render())
// Closes the class=shape
fmt.Fprint(writer, `</g>`)

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -456,6 +456,8 @@ type Shape struct {
Class
SQLTable
ContentAspectRatio *float64 `json:"contentAspectRatio,omitempty"`
Text
LabelPosition string `json:"labelPosition,omitempty"`

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 271 437"><svg id="d2-svg" class="d2-2922829426" width="271" height="437" viewBox="-101 -101 271 437"><rect x="-101.000000" y="-101.000000" width="271.000000" height="437.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2922829426 .text-bold {
font-family: "d2-2922829426-font-bold";
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 279 445"><svg id="d2-svg" class="d2-3562348775" width="279" height="445" viewBox="-101 -101 279 445"><rect x="-101.000000" y="-101.000000" width="279.000000" height="445.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3562348775 .text-bold {
font-family: "d2-3562348775-font-bold";
}
@font-face {
font-family: d2-2922829426-font-bold;
font-family: d2-3562348775-font-bold;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
@ -18,79 +18,79 @@
opacity: 0.5;
}
.d2-2922829426 .fill-N1{fill:#0A0F25;}
.d2-2922829426 .fill-N2{fill:#676C7E;}
.d2-2922829426 .fill-N3{fill:#9499AB;}
.d2-2922829426 .fill-N4{fill:#CFD2DD;}
.d2-2922829426 .fill-N5{fill:#DEE1EB;}
.d2-2922829426 .fill-N6{fill:#EEF1F8;}
.d2-2922829426 .fill-N7{fill:#FFFFFF;}
.d2-2922829426 .fill-B1{fill:#0D32B2;}
.d2-2922829426 .fill-B2{fill:#0D32B2;}
.d2-2922829426 .fill-B3{fill:#E3E9FD;}
.d2-2922829426 .fill-B4{fill:#E3E9FD;}
.d2-2922829426 .fill-B5{fill:#EDF0FD;}
.d2-2922829426 .fill-B6{fill:#F7F8FE;}
.d2-2922829426 .fill-AA2{fill:#4A6FF3;}
.d2-2922829426 .fill-AA4{fill:#EDF0FD;}
.d2-2922829426 .fill-AA5{fill:#F7F8FE;}
.d2-2922829426 .fill-AB4{fill:#EDF0FD;}
.d2-2922829426 .fill-AB5{fill:#F7F8FE;}
.d2-2922829426 .stroke-N1{stroke:#0A0F25;}
.d2-2922829426 .stroke-N2{stroke:#676C7E;}
.d2-2922829426 .stroke-N3{stroke:#9499AB;}
.d2-2922829426 .stroke-N4{stroke:#CFD2DD;}
.d2-2922829426 .stroke-N5{stroke:#DEE1EB;}
.d2-2922829426 .stroke-N6{stroke:#EEF1F8;}
.d2-2922829426 .stroke-N7{stroke:#FFFFFF;}
.d2-2922829426 .stroke-B1{stroke:#0D32B2;}
.d2-2922829426 .stroke-B2{stroke:#0D32B2;}
.d2-2922829426 .stroke-B3{stroke:#E3E9FD;}
.d2-2922829426 .stroke-B4{stroke:#E3E9FD;}
.d2-2922829426 .stroke-B5{stroke:#EDF0FD;}
.d2-2922829426 .stroke-B6{stroke:#F7F8FE;}
.d2-2922829426 .stroke-AA2{stroke:#4A6FF3;}
.d2-2922829426 .stroke-AA4{stroke:#EDF0FD;}
.d2-2922829426 .stroke-AA5{stroke:#F7F8FE;}
.d2-2922829426 .stroke-AB4{stroke:#EDF0FD;}
.d2-2922829426 .stroke-AB5{stroke:#F7F8FE;}
.d2-2922829426 .background-color-N1{background-color:#0A0F25;}
.d2-2922829426 .background-color-N2{background-color:#676C7E;}
.d2-2922829426 .background-color-N3{background-color:#9499AB;}
.d2-2922829426 .background-color-N4{background-color:#CFD2DD;}
.d2-2922829426 .background-color-N5{background-color:#DEE1EB;}
.d2-2922829426 .background-color-N6{background-color:#EEF1F8;}
.d2-2922829426 .background-color-N7{background-color:#FFFFFF;}
.d2-2922829426 .background-color-B1{background-color:#0D32B2;}
.d2-2922829426 .background-color-B2{background-color:#0D32B2;}
.d2-2922829426 .background-color-B3{background-color:#E3E9FD;}
.d2-2922829426 .background-color-B4{background-color:#E3E9FD;}
.d2-2922829426 .background-color-B5{background-color:#EDF0FD;}
.d2-2922829426 .background-color-B6{background-color:#F7F8FE;}
.d2-2922829426 .background-color-AA2{background-color:#4A6FF3;}
.d2-2922829426 .background-color-AA4{background-color:#EDF0FD;}
.d2-2922829426 .background-color-AA5{background-color:#F7F8FE;}
.d2-2922829426 .background-color-AB4{background-color:#EDF0FD;}
.d2-2922829426 .background-color-AB5{background-color:#F7F8FE;}
.d2-2922829426 .color-N1{color:#0A0F25;}
.d2-2922829426 .color-N2{color:#676C7E;}
.d2-2922829426 .color-N3{color:#9499AB;}
.d2-2922829426 .color-N4{color:#CFD2DD;}
.d2-2922829426 .color-N5{color:#DEE1EB;}
.d2-2922829426 .color-N6{color:#EEF1F8;}
.d2-2922829426 .color-N7{color:#FFFFFF;}
.d2-2922829426 .color-B1{color:#0D32B2;}
.d2-2922829426 .color-B2{color:#0D32B2;}
.d2-2922829426 .color-B3{color:#E3E9FD;}
.d2-2922829426 .color-B4{color:#E3E9FD;}
.d2-2922829426 .color-B5{color:#EDF0FD;}
.d2-2922829426 .color-B6{color:#F7F8FE;}
.d2-2922829426 .color-AA2{color:#4A6FF3;}
.d2-2922829426 .color-AA4{color:#EDF0FD;}
.d2-2922829426 .color-AA5{color:#F7F8FE;}
.d2-2922829426 .color-AB4{color:#EDF0FD;}
.d2-2922829426 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="x"><g class="shape" ><ellipse rx="34.500000" ry="34.500000" cx="34.500000" cy="34.500000" class="shape stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="34.500000" y="40.000000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">x</text></g><g id="y"><g class="shape" ><rect x="2.000000" y="169.000000" width="66.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="35.000000" y="207.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">y</text></g><g id="(x -&gt; y)[0]"><marker id="mk-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 34.980001 70.999900 C 34.599998 109.000000 34.500000 129.000000 34.500000 165.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-2922829426)" /></g><mask id="d2-2922829426" maskUnits="userSpaceOnUse" x="-101" y="-101" width="271" height="437">
<rect x="-101" y="-101" width="271" height="437" fill="white"></rect>
<rect x="30.500000" y="24.000000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="30.500000" y="191.500000" width="9" height="21" fill="rgba(0,0,0,0.75)"></rect>
.d2-3562348775 .fill-N1{fill:#0A0F25;}
.d2-3562348775 .fill-N2{fill:#676C7E;}
.d2-3562348775 .fill-N3{fill:#9499AB;}
.d2-3562348775 .fill-N4{fill:#CFD2DD;}
.d2-3562348775 .fill-N5{fill:#DEE1EB;}
.d2-3562348775 .fill-N6{fill:#EEF1F8;}
.d2-3562348775 .fill-N7{fill:#FFFFFF;}
.d2-3562348775 .fill-B1{fill:#0D32B2;}
.d2-3562348775 .fill-B2{fill:#0D32B2;}
.d2-3562348775 .fill-B3{fill:#E3E9FD;}
.d2-3562348775 .fill-B4{fill:#E3E9FD;}
.d2-3562348775 .fill-B5{fill:#EDF0FD;}
.d2-3562348775 .fill-B6{fill:#F7F8FE;}
.d2-3562348775 .fill-AA2{fill:#4A6FF3;}
.d2-3562348775 .fill-AA4{fill:#EDF0FD;}
.d2-3562348775 .fill-AA5{fill:#F7F8FE;}
.d2-3562348775 .fill-AB4{fill:#EDF0FD;}
.d2-3562348775 .fill-AB5{fill:#F7F8FE;}
.d2-3562348775 .stroke-N1{stroke:#0A0F25;}
.d2-3562348775 .stroke-N2{stroke:#676C7E;}
.d2-3562348775 .stroke-N3{stroke:#9499AB;}
.d2-3562348775 .stroke-N4{stroke:#CFD2DD;}
.d2-3562348775 .stroke-N5{stroke:#DEE1EB;}
.d2-3562348775 .stroke-N6{stroke:#EEF1F8;}
.d2-3562348775 .stroke-N7{stroke:#FFFFFF;}
.d2-3562348775 .stroke-B1{stroke:#0D32B2;}
.d2-3562348775 .stroke-B2{stroke:#0D32B2;}
.d2-3562348775 .stroke-B3{stroke:#E3E9FD;}
.d2-3562348775 .stroke-B4{stroke:#E3E9FD;}
.d2-3562348775 .stroke-B5{stroke:#EDF0FD;}
.d2-3562348775 .stroke-B6{stroke:#F7F8FE;}
.d2-3562348775 .stroke-AA2{stroke:#4A6FF3;}
.d2-3562348775 .stroke-AA4{stroke:#EDF0FD;}
.d2-3562348775 .stroke-AA5{stroke:#F7F8FE;}
.d2-3562348775 .stroke-AB4{stroke:#EDF0FD;}
.d2-3562348775 .stroke-AB5{stroke:#F7F8FE;}
.d2-3562348775 .background-color-N1{background-color:#0A0F25;}
.d2-3562348775 .background-color-N2{background-color:#676C7E;}
.d2-3562348775 .background-color-N3{background-color:#9499AB;}
.d2-3562348775 .background-color-N4{background-color:#CFD2DD;}
.d2-3562348775 .background-color-N5{background-color:#DEE1EB;}
.d2-3562348775 .background-color-N6{background-color:#EEF1F8;}
.d2-3562348775 .background-color-N7{background-color:#FFFFFF;}
.d2-3562348775 .background-color-B1{background-color:#0D32B2;}
.d2-3562348775 .background-color-B2{background-color:#0D32B2;}
.d2-3562348775 .background-color-B3{background-color:#E3E9FD;}
.d2-3562348775 .background-color-B4{background-color:#E3E9FD;}
.d2-3562348775 .background-color-B5{background-color:#EDF0FD;}
.d2-3562348775 .background-color-B6{background-color:#F7F8FE;}
.d2-3562348775 .background-color-AA2{background-color:#4A6FF3;}
.d2-3562348775 .background-color-AA4{background-color:#EDF0FD;}
.d2-3562348775 .background-color-AA5{background-color:#F7F8FE;}
.d2-3562348775 .background-color-AB4{background-color:#EDF0FD;}
.d2-3562348775 .background-color-AB5{background-color:#F7F8FE;}
.d2-3562348775 .color-N1{color:#0A0F25;}
.d2-3562348775 .color-N2{color:#676C7E;}
.d2-3562348775 .color-N3{color:#9499AB;}
.d2-3562348775 .color-N4{color:#CFD2DD;}
.d2-3562348775 .color-N5{color:#DEE1EB;}
.d2-3562348775 .color-N6{color:#EEF1F8;}
.d2-3562348775 .color-N7{color:#FFFFFF;}
.d2-3562348775 .color-B1{color:#0D32B2;}
.d2-3562348775 .color-B2{color:#0D32B2;}
.d2-3562348775 .color-B3{color:#E3E9FD;}
.d2-3562348775 .color-B4{color:#E3E9FD;}
.d2-3562348775 .color-B5{color:#EDF0FD;}
.d2-3562348775 .color-B6{color:#F7F8FE;}
.d2-3562348775 .color-AA2{color:#4A6FF3;}
.d2-3562348775 .color-AA4{color:#EDF0FD;}
.d2-3562348775 .color-AA5{color:#F7F8FE;}
.d2-3562348775 .color-AB4{color:#EDF0FD;}
.d2-3562348775 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="x"><g class="shape" ><ellipse rx="38.500000" ry="38.500000" cx="38.500000" cy="38.500000" class="shape stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="38.500000" y="44.000000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">x</text></g><g id="y"><g class="shape" ><rect x="6.000000" y="177.000000" width="66.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="39.000000" y="215.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">y</text></g><g id="(x -&gt; y)[0]"><marker id="mk-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 38.980001 78.999900 C 38.599998 117.000000 38.500000 137.000000 38.500000 173.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-3562348775)" /></g><mask id="d2-3562348775" maskUnits="userSpaceOnUse" x="-101" y="-101" width="279" height="445">
<rect x="-101" y="-101" width="279" height="445" fill="white"></rect>
<rect x="34.500000" y="28.000000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="34.500000" y="199.500000" width="9" height="21" fill="rgba(0,0,0,0.75)"></rect>
</mask></svg></svg>

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

@ -1050,6 +1050,8 @@ cf many required: {
loadFromFile(t, "grid_rows_gap_bug"),
loadFromFile(t, "grid_image_label_position"),
loadFromFile(t, "glob_dimensions"),
loadFromFile(t, "shaped_grid_positioning"),
loadFromFile(t, "cloud_shaped_grid"),
}
runa(t, tcs)

View file

@ -0,0 +1,27 @@
vars: {
grid-container: {
label: ""
grid-gap: 10
grid-rows: 1
grid-columns: 4
a
b
c
d
}
}
cloud: {
shape: cloud
...${grid-container}
width: 395
height: 395
}
circle: {
shape: circle
...${grid-container}
width: 395
height: 395
}
direction: right

View file

@ -0,0 +1,39 @@
vars: {
grid-container: {
label: aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa
grid-rows: 2
grid-columns: 2
a
b
c
d
}
}
circle: {
shape: circle
...${grid-container}
}
oval: {
shape: oval
...${grid-container}
}
diamond: {
shape: diamond
...${grid-container}
}
square: {
shape: square
...${grid-container}
}
rect: {
...${grid-container}
}
cloud: {
shape: cloud
...${grid-container}
}

View file

@ -595,11 +595,11 @@
"id": "circle",
"type": "oval",
"pos": {
"x": 825,
"y": 400
"x": 819,
"y": 394
},
"width": 91,
"height": 91,
"width": 103,
"height": 103,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -703,6 +703,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.586678832116788,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -1176,11 +1177,11 @@
},
{
"x": 870,
"y": 348.79998779296875
"y": 347.6000061035156
},
{
"x": 870,
"y": 400
"y": 394
}
],
"isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -595,11 +595,11 @@
"id": "circle",
"type": "oval",
"pos": {
"x": 845,
"y": 400
"x": 839,
"y": 394
},
"width": 91,
"height": 91,
"width": 103,
"height": 103,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -703,6 +703,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.586678832116788,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -1176,11 +1177,11 @@
},
{
"x": 890,
"y": 347
"y": 345.79998779296875
},
{
"x": 890,
"y": 391
"y": 385
}
],
"isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -595,11 +595,11 @@
"id": "circle",
"type": "oval",
"pos": {
"x": 825,
"y": 400
"x": 819,
"y": 394
},
"width": 91,
"height": 91,
"width": 103,
"height": 103,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -703,6 +703,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.586678832116788,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -1176,11 +1177,11 @@
},
{
"x": 870,
"y": 348.79998779296875
"y": 347.6000061035156
},
{
"x": 870,
"y": 400
"y": 394
}
],
"isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 449 KiB

After

Width:  |  Height:  |  Size: 449 KiB

View file

@ -0,0 +1,456 @@
{
"name": "",
"isFolderOnly": false,
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "cloud.a",
"type": "rectangle",
"pos": {
"x": 74,
"y": 237
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "a",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "circle.a",
"type": "rectangle",
"pos": {
"x": 76,
"y": 619
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "a",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "cloud.b",
"type": "rectangle",
"pos": {
"x": 137,
"y": 237
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "b",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "circle.b",
"type": "rectangle",
"pos": {
"x": 139,
"y": 619
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "b",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "cloud.c",
"type": "rectangle",
"pos": {
"x": 200,
"y": 237
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "c",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "circle.c",
"type": "rectangle",
"pos": {
"x": 202,
"y": 619
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "c",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "cloud.d",
"type": "rectangle",
"pos": {
"x": 263,
"y": 237
},
"width": 54,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "d",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 9,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "circle.d",
"type": "rectangle",
"pos": {
"x": 265,
"y": 619
},
"width": 54,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "d",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 9,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "cloud",
"type": "cloud",
"pos": {
"x": 0,
"y": 0
},
"width": 395,
"height": 395,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "N7",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"zIndex": 0,
"level": 1
},
{
"id": "circle",
"type": "oval",
"pos": {
"x": 0,
"y": 455
},
"width": 395,
"height": 395,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B4",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"zIndex": 0,
"level": 1
}
],
"connections": [],
"root": {
"id": "",
"type": "",
"pos": {
"x": 0,
"y": 0
},
"width": 0,
"height": 0,
"opacity": 0,
"strokeDash": 0,
"strokeWidth": 0,
"borderRadius": 0,
"fill": "N7",
"stroke": "",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "",
"fontSize": 0,
"fontFamily": "",
"language": "",
"color": "",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"zIndex": 0,
"level": 0
}
}

View file

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 397 852"><svg id="d2-svg" class="d2-264392866" width="397" height="852" viewBox="-1 -1 397 852"><rect x="-1.000000" y="-1.000000" width="397.000000" height="852.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-264392866 .text-bold {
font-family: "d2-264392866-font-bold";
}
@font-face {
font-family: d2-264392866-font-bold;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
.d2-264392866 .fill-N1{fill:#0A0F25;}
.d2-264392866 .fill-N2{fill:#676C7E;}
.d2-264392866 .fill-N3{fill:#9499AB;}
.d2-264392866 .fill-N4{fill:#CFD2DD;}
.d2-264392866 .fill-N5{fill:#DEE1EB;}
.d2-264392866 .fill-N6{fill:#EEF1F8;}
.d2-264392866 .fill-N7{fill:#FFFFFF;}
.d2-264392866 .fill-B1{fill:#0D32B2;}
.d2-264392866 .fill-B2{fill:#0D32B2;}
.d2-264392866 .fill-B3{fill:#E3E9FD;}
.d2-264392866 .fill-B4{fill:#E3E9FD;}
.d2-264392866 .fill-B5{fill:#EDF0FD;}
.d2-264392866 .fill-B6{fill:#F7F8FE;}
.d2-264392866 .fill-AA2{fill:#4A6FF3;}
.d2-264392866 .fill-AA4{fill:#EDF0FD;}
.d2-264392866 .fill-AA5{fill:#F7F8FE;}
.d2-264392866 .fill-AB4{fill:#EDF0FD;}
.d2-264392866 .fill-AB5{fill:#F7F8FE;}
.d2-264392866 .stroke-N1{stroke:#0A0F25;}
.d2-264392866 .stroke-N2{stroke:#676C7E;}
.d2-264392866 .stroke-N3{stroke:#9499AB;}
.d2-264392866 .stroke-N4{stroke:#CFD2DD;}
.d2-264392866 .stroke-N5{stroke:#DEE1EB;}
.d2-264392866 .stroke-N6{stroke:#EEF1F8;}
.d2-264392866 .stroke-N7{stroke:#FFFFFF;}
.d2-264392866 .stroke-B1{stroke:#0D32B2;}
.d2-264392866 .stroke-B2{stroke:#0D32B2;}
.d2-264392866 .stroke-B3{stroke:#E3E9FD;}
.d2-264392866 .stroke-B4{stroke:#E3E9FD;}
.d2-264392866 .stroke-B5{stroke:#EDF0FD;}
.d2-264392866 .stroke-B6{stroke:#F7F8FE;}
.d2-264392866 .stroke-AA2{stroke:#4A6FF3;}
.d2-264392866 .stroke-AA4{stroke:#EDF0FD;}
.d2-264392866 .stroke-AA5{stroke:#F7F8FE;}
.d2-264392866 .stroke-AB4{stroke:#EDF0FD;}
.d2-264392866 .stroke-AB5{stroke:#F7F8FE;}
.d2-264392866 .background-color-N1{background-color:#0A0F25;}
.d2-264392866 .background-color-N2{background-color:#676C7E;}
.d2-264392866 .background-color-N3{background-color:#9499AB;}
.d2-264392866 .background-color-N4{background-color:#CFD2DD;}
.d2-264392866 .background-color-N5{background-color:#DEE1EB;}
.d2-264392866 .background-color-N6{background-color:#EEF1F8;}
.d2-264392866 .background-color-N7{background-color:#FFFFFF;}
.d2-264392866 .background-color-B1{background-color:#0D32B2;}
.d2-264392866 .background-color-B2{background-color:#0D32B2;}
.d2-264392866 .background-color-B3{background-color:#E3E9FD;}
.d2-264392866 .background-color-B4{background-color:#E3E9FD;}
.d2-264392866 .background-color-B5{background-color:#EDF0FD;}
.d2-264392866 .background-color-B6{background-color:#F7F8FE;}
.d2-264392866 .background-color-AA2{background-color:#4A6FF3;}
.d2-264392866 .background-color-AA4{background-color:#EDF0FD;}
.d2-264392866 .background-color-AA5{background-color:#F7F8FE;}
.d2-264392866 .background-color-AB4{background-color:#EDF0FD;}
.d2-264392866 .background-color-AB5{background-color:#F7F8FE;}
.d2-264392866 .color-N1{color:#0A0F25;}
.d2-264392866 .color-N2{color:#676C7E;}
.d2-264392866 .color-N3{color:#9499AB;}
.d2-264392866 .color-N4{color:#CFD2DD;}
.d2-264392866 .color-N5{color:#DEE1EB;}
.d2-264392866 .color-N6{color:#EEF1F8;}
.d2-264392866 .color-N7{color:#FFFFFF;}
.d2-264392866 .color-B1{color:#0D32B2;}
.d2-264392866 .color-B2{color:#0D32B2;}
.d2-264392866 .color-B3{color:#E3E9FD;}
.d2-264392866 .color-B4{color:#E3E9FD;}
.d2-264392866 .color-B5{color:#EDF0FD;}
.d2-264392866 .color-B6{color:#F7F8FE;}
.d2-264392866 .color-AA2{color:#4A6FF3;}
.d2-264392866 .color-AA4{color:#EDF0FD;}
.d2-264392866 .color-AA5{color:#F7F8FE;}
.d2-264392866 .color-AB4{color:#EDF0FD;}
.d2-264392866 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="cloud"><g class="shape" ><path d="M 65 138 C 65 142 62 146 60 146 C 26 151 0 205 0 270 C 0 339 30 395 67 395 H 322 C 362 395 395 335 395 263 C 395 194 365 136 327 132 C 324 132 322 129 321 124 C 312 54 273 1 227 1 C 197 1 170 23 153 58 C 151 62 148 63 146 62 C 139 58 132 56 124 56 C 93 54 68 91 65 138 Z" class=" stroke-B1 fill-N7" style="stroke-width:2;" /></g></g><g id="circle"><g class="shape" ><ellipse rx="197.500000" ry="197.500000" cx="197.500000" cy="652.500000" class="shape stroke-B1 fill-B4" style="stroke-width:2;" /></g></g><g id="cloud.a"><g class="shape" ><rect x="74.000000" y="237.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="100.500000" y="275.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">a</text></g><g id="circle.a"><g class="shape" ><rect x="76.000000" y="619.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="102.500000" y="657.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">a</text></g><g id="cloud.b"><g class="shape" ><rect x="137.000000" y="237.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="163.500000" y="275.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">b</text></g><g id="circle.b"><g class="shape" ><rect x="139.000000" y="619.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="165.500000" y="657.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">b</text></g><g id="cloud.c"><g class="shape" ><rect x="200.000000" y="237.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="226.500000" y="275.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">c</text></g><g id="circle.c"><g class="shape" ><rect x="202.000000" y="619.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="228.500000" y="657.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">c</text></g><g id="cloud.d"><g class="shape" ><rect x="263.000000" y="237.000000" width="54.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="290.000000" y="275.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">d</text></g><g id="circle.d"><g class="shape" ><rect x="265.000000" y="619.000000" width="54.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="292.000000" y="657.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">d</text></g><mask id="d2-264392866" maskUnits="userSpaceOnUse" x="-1" y="-1" width="397" height="852">
<rect x="-1" y="-1" width="397" height="852" fill="white"></rect>
<rect x="96.500000" y="259.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="98.500000" y="641.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="159.500000" y="259.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="161.500000" y="641.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="222.500000" y="259.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="224.500000" y="641.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="285.500000" y="259.500000" width="9" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="287.500000" y="641.500000" width="9" height="21" fill="rgba(0,0,0,0.75)"></rect>
</mask></svg></svg>

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,456 @@
{
"name": "",
"isFolderOnly": false,
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "cloud.a",
"type": "rectangle",
"pos": {
"x": 86,
"y": 249
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "a",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "circle.a",
"type": "rectangle",
"pos": {
"x": 88,
"y": 591
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "a",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "cloud.b",
"type": "rectangle",
"pos": {
"x": 149,
"y": 249
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "b",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "circle.b",
"type": "rectangle",
"pos": {
"x": 151,
"y": 591
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "b",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "cloud.c",
"type": "rectangle",
"pos": {
"x": 212,
"y": 249
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "c",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "circle.c",
"type": "rectangle",
"pos": {
"x": 214,
"y": 591
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "c",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "cloud.d",
"type": "rectangle",
"pos": {
"x": 275,
"y": 249
},
"width": 54,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "d",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 9,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "circle.d",
"type": "rectangle",
"pos": {
"x": 277,
"y": 591
},
"width": 54,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B5",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "d",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 9,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "cloud",
"type": "cloud",
"pos": {
"x": 12,
"y": 12
},
"width": 395,
"height": 395,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "N7",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"zIndex": 0,
"level": 1
},
{
"id": "circle",
"type": "oval",
"pos": {
"x": 12,
"y": 427
},
"width": 395,
"height": 395,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "B4",
"stroke": "B1",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "N1",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"zIndex": 0,
"level": 1
}
],
"connections": [],
"root": {
"id": "",
"type": "",
"pos": {
"x": 0,
"y": 0
},
"width": 0,
"height": 0,
"opacity": 0,
"strokeDash": 0,
"strokeWidth": 0,
"borderRadius": 0,
"fill": "N7",
"stroke": "",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "",
"fontSize": 0,
"fontFamily": "",
"language": "",
"color": "",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"zIndex": 0,
"level": 0
}
}

View file

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 397 812"><svg id="d2-svg" class="d2-3959288689" width="397" height="812" viewBox="11 11 397 812"><rect x="11.000000" y="11.000000" width="397.000000" height="812.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3959288689 .text-bold {
font-family: "d2-3959288689-font-bold";
}
@font-face {
font-family: d2-3959288689-font-bold;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
.d2-3959288689 .fill-N1{fill:#0A0F25;}
.d2-3959288689 .fill-N2{fill:#676C7E;}
.d2-3959288689 .fill-N3{fill:#9499AB;}
.d2-3959288689 .fill-N4{fill:#CFD2DD;}
.d2-3959288689 .fill-N5{fill:#DEE1EB;}
.d2-3959288689 .fill-N6{fill:#EEF1F8;}
.d2-3959288689 .fill-N7{fill:#FFFFFF;}
.d2-3959288689 .fill-B1{fill:#0D32B2;}
.d2-3959288689 .fill-B2{fill:#0D32B2;}
.d2-3959288689 .fill-B3{fill:#E3E9FD;}
.d2-3959288689 .fill-B4{fill:#E3E9FD;}
.d2-3959288689 .fill-B5{fill:#EDF0FD;}
.d2-3959288689 .fill-B6{fill:#F7F8FE;}
.d2-3959288689 .fill-AA2{fill:#4A6FF3;}
.d2-3959288689 .fill-AA4{fill:#EDF0FD;}
.d2-3959288689 .fill-AA5{fill:#F7F8FE;}
.d2-3959288689 .fill-AB4{fill:#EDF0FD;}
.d2-3959288689 .fill-AB5{fill:#F7F8FE;}
.d2-3959288689 .stroke-N1{stroke:#0A0F25;}
.d2-3959288689 .stroke-N2{stroke:#676C7E;}
.d2-3959288689 .stroke-N3{stroke:#9499AB;}
.d2-3959288689 .stroke-N4{stroke:#CFD2DD;}
.d2-3959288689 .stroke-N5{stroke:#DEE1EB;}
.d2-3959288689 .stroke-N6{stroke:#EEF1F8;}
.d2-3959288689 .stroke-N7{stroke:#FFFFFF;}
.d2-3959288689 .stroke-B1{stroke:#0D32B2;}
.d2-3959288689 .stroke-B2{stroke:#0D32B2;}
.d2-3959288689 .stroke-B3{stroke:#E3E9FD;}
.d2-3959288689 .stroke-B4{stroke:#E3E9FD;}
.d2-3959288689 .stroke-B5{stroke:#EDF0FD;}
.d2-3959288689 .stroke-B6{stroke:#F7F8FE;}
.d2-3959288689 .stroke-AA2{stroke:#4A6FF3;}
.d2-3959288689 .stroke-AA4{stroke:#EDF0FD;}
.d2-3959288689 .stroke-AA5{stroke:#F7F8FE;}
.d2-3959288689 .stroke-AB4{stroke:#EDF0FD;}
.d2-3959288689 .stroke-AB5{stroke:#F7F8FE;}
.d2-3959288689 .background-color-N1{background-color:#0A0F25;}
.d2-3959288689 .background-color-N2{background-color:#676C7E;}
.d2-3959288689 .background-color-N3{background-color:#9499AB;}
.d2-3959288689 .background-color-N4{background-color:#CFD2DD;}
.d2-3959288689 .background-color-N5{background-color:#DEE1EB;}
.d2-3959288689 .background-color-N6{background-color:#EEF1F8;}
.d2-3959288689 .background-color-N7{background-color:#FFFFFF;}
.d2-3959288689 .background-color-B1{background-color:#0D32B2;}
.d2-3959288689 .background-color-B2{background-color:#0D32B2;}
.d2-3959288689 .background-color-B3{background-color:#E3E9FD;}
.d2-3959288689 .background-color-B4{background-color:#E3E9FD;}
.d2-3959288689 .background-color-B5{background-color:#EDF0FD;}
.d2-3959288689 .background-color-B6{background-color:#F7F8FE;}
.d2-3959288689 .background-color-AA2{background-color:#4A6FF3;}
.d2-3959288689 .background-color-AA4{background-color:#EDF0FD;}
.d2-3959288689 .background-color-AA5{background-color:#F7F8FE;}
.d2-3959288689 .background-color-AB4{background-color:#EDF0FD;}
.d2-3959288689 .background-color-AB5{background-color:#F7F8FE;}
.d2-3959288689 .color-N1{color:#0A0F25;}
.d2-3959288689 .color-N2{color:#676C7E;}
.d2-3959288689 .color-N3{color:#9499AB;}
.d2-3959288689 .color-N4{color:#CFD2DD;}
.d2-3959288689 .color-N5{color:#DEE1EB;}
.d2-3959288689 .color-N6{color:#EEF1F8;}
.d2-3959288689 .color-N7{color:#FFFFFF;}
.d2-3959288689 .color-B1{color:#0D32B2;}
.d2-3959288689 .color-B2{color:#0D32B2;}
.d2-3959288689 .color-B3{color:#E3E9FD;}
.d2-3959288689 .color-B4{color:#E3E9FD;}
.d2-3959288689 .color-B5{color:#EDF0FD;}
.d2-3959288689 .color-B6{color:#F7F8FE;}
.d2-3959288689 .color-AA2{color:#4A6FF3;}
.d2-3959288689 .color-AA4{color:#EDF0FD;}
.d2-3959288689 .color-AA5{color:#F7F8FE;}
.d2-3959288689 .color-AB4{color:#EDF0FD;}
.d2-3959288689 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="cloud"><g class="shape" ><path d="M 77 150 C 77 154 74 158 72 158 C 38 163 12 217 12 282 C 12 351 42 407 79 407 H 334 C 374 407 407 347 407 275 C 407 206 377 148 339 144 C 336 144 334 141 333 136 C 324 66 285 13 239 13 C 209 13 182 35 165 70 C 163 74 160 75 158 74 C 151 70 144 68 136 68 C 105 66 80 103 77 150 Z" class=" stroke-B1 fill-N7" style="stroke-width:2;" /></g></g><g id="circle"><g class="shape" ><ellipse rx="197.500000" ry="197.500000" cx="209.500000" cy="624.500000" class="shape stroke-B1 fill-B4" style="stroke-width:2;" /></g></g><g id="cloud.a"><g class="shape" ><rect x="86.000000" y="249.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="112.500000" y="287.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">a</text></g><g id="circle.a"><g class="shape" ><rect x="88.000000" y="591.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="114.500000" y="629.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">a</text></g><g id="cloud.b"><g class="shape" ><rect x="149.000000" y="249.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="175.500000" y="287.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">b</text></g><g id="circle.b"><g class="shape" ><rect x="151.000000" y="591.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="177.500000" y="629.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">b</text></g><g id="cloud.c"><g class="shape" ><rect x="212.000000" y="249.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="238.500000" y="287.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">c</text></g><g id="circle.c"><g class="shape" ><rect x="214.000000" y="591.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="240.500000" y="629.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">c</text></g><g id="cloud.d"><g class="shape" ><rect x="275.000000" y="249.000000" width="54.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="302.000000" y="287.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">d</text></g><g id="circle.d"><g class="shape" ><rect x="277.000000" y="591.000000" width="54.000000" height="66.000000" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="304.000000" y="629.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">d</text></g><mask id="d2-3959288689" maskUnits="userSpaceOnUse" x="11" y="11" width="397" height="812">
<rect x="11" y="11" width="397" height="812" fill="white"></rect>
<rect x="108.500000" y="271.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="110.500000" y="613.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="171.500000" y="271.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="173.500000" y="613.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="234.500000" y="271.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="236.500000" y="613.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="297.500000" y="271.500000" width="9" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="299.500000" y="613.500000" width="9" height="21" fill="rgba(0,0,0,0.75)"></rect>
</mask></svg></svg>

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -7,11 +7,11 @@
"id": "start",
"type": "oval",
"pos": {
"x": 142,
"x": 138,
"y": 0
},
"width": 23,
"height": 23,
"width": 30,
"height": 30,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -49,10 +49,10 @@
"type": "rectangle",
"pos": {
"x": 18,
"y": 143
"y": 150
},
"width": 259,
"height": 534,
"height": 548,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -89,11 +89,11 @@
"id": "Check PIN.start",
"type": "oval",
"pos": {
"x": 142,
"y": 173
"x": 138,
"y": 180
},
"width": 23,
"height": 23,
"width": 30,
"height": 30,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -131,7 +131,7 @@
"type": "rectangle",
"pos": {
"x": 98,
"y": 296
"y": 310
},
"width": 111,
"height": 66,
@ -172,7 +172,7 @@
"type": "diamond",
"pos": {
"x": 143,
"y": 483
"y": 497
},
"width": 20,
"height": 20,
@ -211,11 +211,11 @@
"id": "Check PIN.end",
"type": "oval",
"pos": {
"x": 142,
"y": 624
"x": 138,
"y": 638
},
"width": 23,
"height": 23,
"width": 30,
"height": 30,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -253,7 +253,7 @@
"type": "rectangle",
"pos": {
"x": 133,
"y": 818
"y": 839
},
"width": 159,
"height": 66,
@ -294,7 +294,7 @@
"type": "rectangle",
"pos": {
"x": 227,
"y": 1005
"y": 1026
},
"width": 89,
"height": 66,
@ -335,7 +335,7 @@
"type": "rectangle",
"pos": {
"x": 119,
"y": 1192
"y": 1213
},
"width": 68,
"height": 66,
@ -399,19 +399,19 @@
"route": [
{
"x": 153,
"y": 23
"y": 30
},
{
"x": 153,
"y": 63
"y": 70
},
{
"x": 153,
"y": 78.80000305175781
"y": 85.80000305175781
},
{
"x": 153,
"y": 102
"y": 109
}
],
"isCurve": true,
@ -446,19 +446,19 @@
"route": [
{
"x": 153,
"y": 196
"y": 210
},
{
"x": 153,
"y": 236
"y": 250
},
{
"x": 153,
"y": 256
"y": 270
},
{
"x": 153,
"y": 296
"y": 310
}
],
"isCurve": true,
@ -493,19 +493,19 @@
"route": [
{
"x": 127.75,
"y": 361.5
"y": 375.5
},
{
"x": 90.1500015258789,
"y": 410.29998779296875
"y": 424.29998779296875
},
{
"x": 94.19999694824219,
"y": 435.6000061035156
"y": 449.6000061035156
},
{
"x": 148,
"y": 488
"y": 502
}
],
"isCurve": true,
@ -540,19 +540,19 @@
"route": [
{
"x": 158,
"y": 488
"y": 502
},
{
"x": 200,
"y": 435.6000061035156
"y": 449.6000061035156
},
{
"x": 203.10000610351562,
"y": 410.29998779296875
"y": 424.29998779296875
},
{
"x": 173.5,
"y": 361.5
"y": 375.5
}
],
"isCurve": true,
@ -587,19 +587,19 @@
"route": [
{
"x": 153,
"y": 503
"y": 517
},
{
"x": 153,
"y": 551.4000244140625
"y": 565.4000244140625
},
{
"x": 153,
"y": 575.5999755859375
"y": 589.5999755859375
},
{
"x": 153,
"y": 624
"y": 638
}
],
"isCurve": true,
@ -634,19 +634,19 @@
"route": [
{
"x": 212.75,
"y": 676.5
"y": 697.5
},
{
"x": 212.75,
"y": 741.2999877929688
"y": 762.2999877929688
},
{
"x": 212.75,
"y": 769.7000122070312
"y": 790.7000122070312
},
{
"x": 212.75,
"y": 818.5
"y": 839.5
}
],
"isCurve": true,
@ -681,19 +681,19 @@
"route": [
{
"x": 233.5,
"y": 883.5
"y": 904.5
},
{
"x": 263.8999938964844,
"y": 932.2999877929688
"y": 953.2999877929688
},
{
"x": 271.5,
"y": 956.7000122070312
"y": 977.7000122070312
},
{
"x": 271.5,
"y": 1005.5
"y": 1026.5
}
],
"isCurve": true,
@ -728,55 +728,55 @@
"route": [
{
"x": 67.75,
"y": 676.5
"y": 697.5
},
{
"x": 67.75,
"y": 741.2999877929688
"y": 762.2999877929688
},
{
"x": 67.75,
"y": 776.2000122070312
"y": 797.2000122070312
},
{
"x": 67.75,
"y": 804.25
"y": 825.25
},
{
"x": 67.75,
"y": 832.2999877929688
"y": 853.2999877929688
},
{
"x": 67.75,
"y": 869.7000122070312
"y": 890.7000122070312
},
{
"x": 67.75,
"y": 897.75
"y": 918.75
},
{
"x": 67.75,
"y": 925.7999877929688
"y": 946.7999877929688
},
{
"x": 67.75,
"y": 963.2000122070312
"y": 984.2000122070312
},
{
"x": 67.75,
"y": 991.25
"y": 1012.25
},
{
"x": 67.75,
"y": 1019.2999877929688
"y": 1040.300048828125
},
{
"x": 78.75,
"y": 1143.699951171875
"y": 1164.699951171875
},
{
"x": 122.75,
"y": 1192.5
"y": 1213.5
}
],
"isCurve": true,
@ -811,31 +811,31 @@
"route": [
{
"x": 192,
"y": 883.5
"y": 904.5
},
{
"x": 161.60000610351562,
"y": 932.2999877929688
"y": 953.2999877929688
},
{
"x": 154,
"y": 963.2000122070312
"y": 984.2000122070312
},
{
"x": 154,
"y": 991.25
"y": 1012.25
},
{
"x": 154,
"y": 1019.2999877929688
"y": 1040.300048828125
},
{
"x": 153.8000030517578,
"y": 1143.699951171875
"y": 1164.699951171875
},
{
"x": 153,
"y": 1192.5
"y": 1213.5
}
],
"isCurve": true,
@ -870,19 +870,19 @@
"route": [
{
"x": 271.5,
"y": 1070.5
"y": 1091.5
},
{
"x": 271.5,
"y": 1119.300048828125
"y": 1140.300048828125
},
{
"x": 254.5,
"y": 1144.9000244140625
"y": 1165.9000244140625
},
{
"x": 186.5,
"y": 1198.5
"y": 1219.5
}
],
"isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -7,11 +7,11 @@
"id": "start",
"type": "oval",
"pos": {
"x": 157,
"x": 153,
"y": 12
},
"width": 23,
"height": 23,
"width": 30,
"height": 30,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -49,10 +49,10 @@
"type": "rectangle",
"pos": {
"x": 37,
"y": 105
"y": 112
},
"width": 262,
"height": 644,
"height": 658,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -89,11 +89,11 @@
"id": "Check PIN.start",
"type": "oval",
"pos": {
"x": 155,
"y": 155
"x": 151,
"y": 162
},
"width": 23,
"height": 23,
"width": 30,
"height": 30,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -131,7 +131,7 @@
"type": "rectangle",
"pos": {
"x": 111,
"y": 248
"y": 262
},
"width": 111,
"height": 66,
@ -172,7 +172,7 @@
"type": "diamond",
"pos": {
"x": 156,
"y": 495
"y": 509
},
"width": 20,
"height": 20,
@ -211,11 +211,11 @@
"id": "Check PIN.end",
"type": "oval",
"pos": {
"x": 155,
"y": 676
"x": 151,
"y": 690
},
"width": 23,
"height": 23,
"width": 30,
"height": 30,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -253,7 +253,7 @@
"type": "rectangle",
"pos": {
"x": 29,
"y": 920
"y": 941
},
"width": 159,
"height": 66,
@ -294,7 +294,7 @@
"type": "rectangle",
"pos": {
"x": 15,
"y": 1157
"y": 1178
},
"width": 89,
"height": 66,
@ -335,7 +335,7 @@
"type": "rectangle",
"pos": {
"x": 95,
"y": 1394
"y": 1415
},
"width": 120,
"height": 66,
@ -399,11 +399,11 @@
"route": [
{
"x": 169,
"y": 35
"y": 42
},
{
"x": 168,
"y": 105
"y": 112
}
],
"animated": false,
@ -437,11 +437,11 @@
"route": [
{
"x": 167,
"y": 178
"y": 192
},
{
"x": 166,
"y": 248
"y": 262
}
],
"animated": false,
@ -475,19 +475,19 @@
"route": [
{
"x": 123.5,
"y": 314
"y": 328
},
{
"x": 123.5,
"y": 455
"y": 469
},
{
"x": 163.16600036621094,
"y": 455
"y": 469
},
{
"x": 163,
"y": 498
"y": 512
}
],
"animated": false,
@ -521,19 +521,19 @@
"route": [
{
"x": 170,
"y": 499
"y": 513
},
{
"x": 169.83299255371094,
"y": 455
"y": 469
},
{
"x": 209.5,
"y": 455
"y": 469
},
{
"x": 209.5,
"y": 314
"y": 328
}
],
"animated": false,
@ -567,11 +567,11 @@
"route": [
{
"x": 166,
"y": 514
"y": 528
},
{
"x": 167,
"y": 676
"y": 690
}
],
"animated": false,
@ -605,11 +605,11 @@
"route": [
{
"x": 108.75,
"y": 749
"y": 770
},
{
"x": 108.75,
"y": 920
"y": 941
}
],
"animated": false,
@ -643,11 +643,11 @@
"route": [
{
"x": 60,
"y": 986
"y": 1007
},
{
"x": 60,
"y": 1157
"y": 1178
}
],
"animated": false,
@ -681,19 +681,19 @@
"route": [
{
"x": 240.99899291992188,
"y": 749
"y": 770
},
{
"x": 240.99899291992188,
"y": 1354
"y": 1375
},
{
"x": 185.25,
"y": 1354
"y": 1375
},
{
"x": 185.25,
"y": 1394
"y": 1415
}
],
"animated": false,
@ -727,11 +727,11 @@
"route": [
{
"x": 157.5,
"y": 986
"y": 1007
},
{
"x": 157.5,
"y": 1394
"y": 1415
}
],
"animated": false,
@ -765,19 +765,19 @@
"route": [
{
"x": 60,
"y": 1223
"y": 1244
},
{
"x": 60,
"y": 1354
"y": 1375
},
{
"x": 125.25,
"y": 1354
"y": 1375
},
{
"x": 125.25,
"y": 1394
"y": 1415
}
],
"animated": false,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 23 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 23 KiB

View file

@ -581,11 +581,11 @@
"id": "circle",
"type": "oval",
"pos": {
"x": 825,
"y": 400
"x": 819,
"y": 394
},
"width": 91,
"height": 91,
"width": 103,
"height": 103,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -686,6 +686,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.586678832116788,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -1159,11 +1160,11 @@
},
{
"x": 870,
"y": 348.79998779296875
"y": 347.6000061035156
},
{
"x": 870,
"y": 400
"y": 394
}
],
"isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

@ -581,11 +581,11 @@
"id": "circle",
"type": "oval",
"pos": {
"x": 676,
"x": 670,
"y": 338
},
"width": 91,
"height": 91,
"width": 103,
"height": 103,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -686,6 +686,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.586678832116788,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 141 KiB

View file

@ -11,7 +11,7 @@
"y": 12
},
"width": 1276,
"height": 576,
"height": 606,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -667,11 +667,11 @@
"linked"
],
"pos": {
"x": 993,
"x": 978,
"y": 420
},
"width": 118,
"height": 118,
"width": 148,
"height": 148,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -778,6 +778,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.586678832116788,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -797,10 +798,10 @@
"type": "rectangle",
"pos": {
"x": 132,
"y": 658
"y": 688
},
"width": 1276,
"height": 576,
"height": 606,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -841,7 +842,7 @@
],
"pos": {
"x": 182,
"y": 734
"y": 764
},
"width": 143,
"height": 66,
@ -885,7 +886,7 @@
],
"pos": {
"x": 190,
"y": 870
"y": 900
},
"width": 126,
"height": 126,
@ -929,7 +930,7 @@
],
"pos": {
"x": 198,
"y": 1066
"y": 1096
},
"width": 111,
"height": 87,
@ -973,7 +974,7 @@
],
"pos": {
"x": 345,
"y": 734
"y": 764
},
"width": 228,
"height": 66,
@ -1017,7 +1018,7 @@
],
"pos": {
"x": 384,
"y": 895
"y": 925
},
"width": 149,
"height": 76,
@ -1061,7 +1062,7 @@
],
"pos": {
"x": 391,
"y": 1066
"y": 1096
},
"width": 136,
"height": 118,
@ -1105,7 +1106,7 @@
],
"pos": {
"x": 593,
"y": 734
"y": 764
},
"width": 173,
"height": 66,
@ -1149,7 +1150,7 @@
],
"pos": {
"x": 612,
"y": 896
"y": 926
},
"width": 135,
"height": 73,
@ -1193,7 +1194,7 @@
],
"pos": {
"x": 605,
"y": 1066
"y": 1096
},
"width": 148,
"height": 101,
@ -1237,7 +1238,7 @@
],
"pos": {
"x": 795,
"y": 709
"y": 739
},
"width": 127,
"height": 91,
@ -1281,7 +1282,7 @@
],
"pos": {
"x": 767,
"y": 900
"y": 930
},
"width": 183,
"height": 66,
@ -1325,7 +1326,7 @@
],
"pos": {
"x": 811,
"y": 1066
"y": 1096
},
"width": 95,
"height": 66,
@ -1369,7 +1370,7 @@
],
"pos": {
"x": 942,
"y": 708
"y": 738
},
"width": 220,
"height": 92,
@ -1413,7 +1414,7 @@
],
"pos": {
"x": 985,
"y": 898
"y": 928
},
"width": 134,
"height": 70,
@ -1456,11 +1457,11 @@
"tooltipped"
],
"pos": {
"x": 993,
"y": 1066
"x": 978,
"y": 1096
},
"width": 118,
"height": 118,
"width": 148,
"height": 148,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -1501,7 +1502,7 @@
],
"pos": {
"x": 1182,
"y": 731
"y": 761
},
"width": 176,
"height": 69,
@ -1545,7 +1546,7 @@
],
"pos": {
"x": 1198,
"y": 870
"y": 900
},
"width": 143,
"height": 84,
@ -1567,6 +1568,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.586678832116788,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -1586,10 +1588,10 @@
"type": "rectangle",
"pos": {
"x": 12,
"y": 1304
"y": 1364
},
"width": 1516,
"height": 637,
"height": 683,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -1631,7 +1633,7 @@
],
"pos": {
"x": 62,
"y": 1380
"y": 1440
},
"width": 175,
"height": 66,
@ -1676,7 +1678,7 @@
],
"pos": {
"x": 70,
"y": 1516
"y": 1576
},
"width": 158,
"height": 158,
@ -1721,7 +1723,7 @@
],
"pos": {
"x": 78,
"y": 1744
"y": 1804
},
"width": 143,
"height": 87,
@ -1766,7 +1768,7 @@
],
"pos": {
"x": 257,
"y": 1380
"y": 1440
},
"width": 260,
"height": 66,
@ -1811,7 +1813,7 @@
],
"pos": {
"x": 296,
"y": 1557
"y": 1617
},
"width": 181,
"height": 76,
@ -1856,7 +1858,7 @@
],
"pos": {
"x": 303,
"y": 1744
"y": 1804
},
"width": 168,
"height": 118,
@ -1901,7 +1903,7 @@
],
"pos": {
"x": 537,
"y": 1380
"y": 1440
},
"width": 205,
"height": 66,
@ -1946,7 +1948,7 @@
],
"pos": {
"x": 556,
"y": 1558
"y": 1618
},
"width": 167,
"height": 73,
@ -1991,7 +1993,7 @@
],
"pos": {
"x": 549,
"y": 1744
"y": 1804
},
"width": 180,
"height": 101,
@ -2036,7 +2038,7 @@
],
"pos": {
"x": 771,
"y": 1355
"y": 1415
},
"width": 159,
"height": 91,
@ -2081,7 +2083,7 @@
],
"pos": {
"x": 743,
"y": 1562
"y": 1622
},
"width": 215,
"height": 66,
@ -2126,7 +2128,7 @@
],
"pos": {
"x": 787,
"y": 1744
"y": 1804
},
"width": 127,
"height": 85,
@ -2171,7 +2173,7 @@
],
"pos": {
"x": 950,
"y": 1354
"y": 1414
},
"width": 284,
"height": 92,
@ -2216,7 +2218,7 @@
],
"pos": {
"x": 1006,
"y": 1560
"y": 1620
},
"width": 171,
"height": 70,
@ -2260,11 +2262,11 @@
"tooltipped"
],
"pos": {
"x": 1018,
"y": 1744
"x": 995,
"y": 1804
},
"width": 147,
"height": 147,
"width": 193,
"height": 193,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -2306,7 +2308,7 @@
],
"pos": {
"x": 1254,
"y": 1377
"y": 1437
},
"width": 224,
"height": 69,
@ -2351,7 +2353,7 @@
],
"pos": {
"x": 1275,
"y": 1516
"y": 1576
},
"width": 182,
"height": 84,
@ -2373,6 +2375,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.586678832116788,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -2833,11 +2836,11 @@
"route": [
{
"x": 253.5,
"y": 800
"y": 830
},
{
"x": 253.5,
"y": 870
"y": 900
}
],
"animated": false,
@ -2871,11 +2874,11 @@
"route": [
{
"x": 253.5,
"y": 996
"y": 1026
},
{
"x": 254,
"y": 1066
"y": 1096
}
],
"animated": false,
@ -2909,11 +2912,11 @@
"route": [
{
"x": 459,
"y": 800
"y": 830
},
{
"x": 459,
"y": 895
"y": 925
}
],
"animated": false,
@ -2947,11 +2950,11 @@
"route": [
{
"x": 459,
"y": 960
"y": 990
},
{
"x": 459,
"y": 1066
"y": 1096
}
],
"animated": false,
@ -2985,11 +2988,11 @@
"route": [
{
"x": 679,
"y": 800
"y": 830
},
{
"x": 680,
"y": 911
"y": 941
}
],
"animated": false,
@ -3023,11 +3026,11 @@
"route": [
{
"x": 679,
"y": 970
"y": 1000
},
{
"x": 680,
"y": 1066
"y": 1096
}
],
"animated": false,
@ -3061,11 +3064,11 @@
"route": [
{
"x": 859,
"y": 755
"y": 785
},
{
"x": 858,
"y": 900
"y": 930
}
],
"animated": false,
@ -3099,11 +3102,11 @@
"route": [
{
"x": 859,
"y": 966
"y": 996
},
{
"x": 858,
"y": 1066
"y": 1096
}
],
"animated": false,
@ -3137,11 +3140,11 @@
"route": [
{
"x": 1052,
"y": 800
"y": 830
},
{
"x": 1052,
"y": 898
"y": 928
}
],
"animated": false,
@ -3175,11 +3178,11 @@
"route": [
{
"x": 1052,
"y": 968
"y": 998
},
{
"x": 1052,
"y": 1066
"y": 1096
}
],
"animated": false,
@ -3213,11 +3216,11 @@
"route": [
{
"x": 1270,
"y": 800
"y": 830
},
{
"x": 1270,
"y": 871
"y": 901
}
],
"animated": false,
@ -3251,11 +3254,11 @@
"route": [
{
"x": 149.5,
"y": 1446
"y": 1506
},
{
"x": 149.5,
"y": 1516
"y": 1576
}
],
"animated": false,
@ -3289,11 +3292,11 @@
"route": [
{
"x": 149.5,
"y": 1674
"y": 1734
},
{
"x": 150,
"y": 1744
"y": 1804
}
],
"animated": false,
@ -3327,11 +3330,11 @@
"route": [
{
"x": 387,
"y": 1446
"y": 1506
},
{
"x": 387,
"y": 1557
"y": 1617
}
],
"animated": false,
@ -3365,11 +3368,11 @@
"route": [
{
"x": 387,
"y": 1622
"y": 1682
},
{
"x": 387,
"y": 1744
"y": 1804
}
],
"animated": false,
@ -3403,11 +3406,11 @@
"route": [
{
"x": 639,
"y": 1446
"y": 1506
},
{
"x": 640,
"y": 1573
"y": 1633
}
],
"animated": false,
@ -3441,11 +3444,11 @@
"route": [
{
"x": 639,
"y": 1632
"y": 1692
},
{
"x": 640,
"y": 1744
"y": 1804
}
],
"animated": false,
@ -3479,11 +3482,11 @@
"route": [
{
"x": 851,
"y": 1401
"y": 1461
},
{
"x": 850,
"y": 1562
"y": 1622
}
],
"animated": false,
@ -3517,11 +3520,11 @@
"route": [
{
"x": 850,
"y": 1628
"y": 1688
},
{
"x": 851,
"y": 1744
"y": 1804
}
],
"animated": false,
@ -3555,11 +3558,11 @@
"route": [
{
"x": 1092,
"y": 1446
"y": 1506
},
{
"x": 1092,
"y": 1560
"y": 1620
}
],
"animated": false,
@ -3593,11 +3596,11 @@
"route": [
{
"x": 1092,
"y": 1630
"y": 1690
},
{
"x": 1092,
"y": 1744
"y": 1804
}
],
"animated": false,
@ -3631,11 +3634,11 @@
"route": [
{
"x": 1366,
"y": 1446
"y": 1506
},
{
"x": 1366,
"y": 1517
"y": 1577
}
],
"animated": false,
@ -3669,11 +3672,11 @@
"route": [
{
"x": 770,
"y": 588
"y": 618
},
{
"x": 770,
"y": 658
"y": 688
}
],
"animated": false,
@ -3707,11 +3710,11 @@
"route": [
{
"x": 770,
"y": 1234
"y": 1294
},
{
"x": 770,
"y": 1304
"y": 1364
}
],
"animated": false,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 140 KiB

View file

@ -581,11 +581,11 @@
"id": "circle",
"type": "oval",
"pos": {
"x": 845,
"y": 400
"x": 839,
"y": 394
},
"width": 91,
"height": 91,
"width": 103,
"height": 103,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -686,6 +686,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.586678832116788,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -1159,11 +1160,11 @@
},
{
"x": 890,
"y": 347
"y": 345.79998779296875
},
{
"x": 890,
"y": 391
"y": 385
}
],
"isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -581,11 +581,11 @@
"id": "circle",
"type": "oval",
"pos": {
"x": 716,
"x": 710,
"y": 368
},
"width": 91,
"height": 91,
"width": 103,
"height": 103,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -686,6 +686,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.586678832116788,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -581,11 +581,11 @@
"id": "circle",
"type": "oval",
"pos": {
"x": 825,
"y": 400
"x": 819,
"y": 394
},
"width": 91,
"height": 91,
"width": 103,
"height": 103,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -686,6 +686,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.586678832116788,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -1159,11 +1160,11 @@
},
{
"x": 870,
"y": 348.79998779296875
"y": 347.6000061035156
},
{
"x": 870,
"y": 400
"y": 394
}
],
"isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -581,11 +581,11 @@
"id": "circle",
"type": "oval",
"pos": {
"x": 676,
"x": 670,
"y": 338
},
"width": 91,
"height": 91,
"width": 103,
"height": 103,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -686,6 +686,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.586678832116788,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

@ -11,7 +11,7 @@
"y": 23
},
"width": 802,
"height": 1268,
"height": 1270,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -52,7 +52,7 @@
"y": 64
},
"width": 574,
"height": 1197,
"height": 1199,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -93,7 +93,7 @@
"y": 691
},
"width": 253,
"height": 540,
"height": 542,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -293,7 +293,7 @@
"type": "rectangle",
"pos": {
"x": 177,
"y": 1135
"y": 1137
},
"width": 63,
"height": 66,
@ -415,11 +415,11 @@
"id": "aa.bb.kk",
"type": "oval",
"pos": {
"x": 451,
"x": 450,
"y": 1131
},
"width": 74,
"height": 74,
"width": 77,
"height": 77,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -539,7 +539,7 @@
"type": "text",
"pos": {
"x": 633,
"y": 1158
"y": 1159
},
"width": 16,
"height": 21,
@ -579,7 +579,7 @@
"type": "rectangle",
"pos": {
"x": 709,
"y": 1135
"y": 1137
},
"width": 63,
"height": 66,
@ -697,12 +697,12 @@
"y": 1058.300048828125
},
{
"x": 183.5500030517578,
"y": 1083.5
"x": 183.51600646972656,
"y": 1083.699951171875
},
{
"x": 198.75,
"y": 1135.5
"x": 198.58299255371094,
"y": 1136.5
}
],
"isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View file

@ -415,11 +415,11 @@
"id": "aa.bb.kk",
"type": "oval",
"pos": {
"x": 323,
"y": 589
"x": 322,
"y": 587
},
"width": 74,
"height": 74,
"width": 77,
"height": 77,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View file

@ -10,7 +10,7 @@
"dragon_ball"
],
"pos": {
"x": 1,
"x": 10,
"y": 0
},
"width": 50,
@ -53,11 +53,11 @@
"dragon_ball"
],
"pos": {
"x": 1,
"x": 0,
"y": 171
},
"width": 50,
"height": 50,
"width": 70,
"height": 70,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 0,
@ -98,10 +98,10 @@
],
"pos": {
"x": 0,
"y": 342
"y": 362
},
"width": 52,
"height": 52,
"width": 70,
"height": 70,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 0,
@ -164,19 +164,19 @@
"labelPercentage": 0,
"route": [
{
"x": 26,
"x": 35,
"y": 50
},
{
"x": 26,
"x": 35,
"y": 98.4000015258789
},
{
"x": 26,
"x": 35,
"y": 122.5999984741211
},
{
"x": 26,
"x": 35,
"y": 171
}
],
@ -214,20 +214,20 @@
"labelPercentage": 0,
"route": [
{
"x": 26,
"y": 221
"x": 35,
"y": 241
},
{
"x": 26,
"y": 269.3999938964844
"x": 35,
"y": 289.3999938964844
},
{
"x": 26,
"y": 293.6000061035156
"x": 35,
"y": 313.6000061035156
},
{
"x": 26,
"y": 342
"x": 35,
"y": 362
}
],
"isCurve": true,

View file

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 52 394"><svg id="d2-svg" class="d2-3999366538" width="52" height="394" viewBox="0 0 52 394"><rect x="0.000000" y="0.000000" width="52.000000" height="394.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3999366538 .text-bold {
font-family: "d2-3999366538-font-bold";
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 70 432"><svg id="d2-svg" class="d2-107579682" width="70" height="432" viewBox="0 0 70 432"><rect x="0.000000" y="0.000000" width="70.000000" height="432.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-107579682 .text-bold {
font-family: "d2-107579682-font-bold";
}
@font-face {
font-family: d2-3999366538-font-bold;
font-family: d2-107579682-font-bold;
src: url("data:application/font-woff;base64,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");
}
.d2-3999366538 .text-italic {
font-family: "d2-3999366538-font-italic";
.d2-107579682 .text-italic {
font-family: "d2-107579682-font-italic";
}
@font-face {
font-family: d2-3999366538-font-italic;
font-family: d2-107579682-font-italic;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
@ -25,81 +25,81 @@
opacity: 0.5;
}
.d2-3999366538 .fill-N1{fill:#0A0F25;}
.d2-3999366538 .fill-N2{fill:#676C7E;}
.d2-3999366538 .fill-N3{fill:#9499AB;}
.d2-3999366538 .fill-N4{fill:#CFD2DD;}
.d2-3999366538 .fill-N5{fill:#DEE1EB;}
.d2-3999366538 .fill-N6{fill:#EEF1F8;}
.d2-3999366538 .fill-N7{fill:#FFFFFF;}
.d2-3999366538 .fill-B1{fill:#0D32B2;}
.d2-3999366538 .fill-B2{fill:#0D32B2;}
.d2-3999366538 .fill-B3{fill:#E3E9FD;}
.d2-3999366538 .fill-B4{fill:#E3E9FD;}
.d2-3999366538 .fill-B5{fill:#EDF0FD;}
.d2-3999366538 .fill-B6{fill:#F7F8FE;}
.d2-3999366538 .fill-AA2{fill:#4A6FF3;}
.d2-3999366538 .fill-AA4{fill:#EDF0FD;}
.d2-3999366538 .fill-AA5{fill:#F7F8FE;}
.d2-3999366538 .fill-AB4{fill:#EDF0FD;}
.d2-3999366538 .fill-AB5{fill:#F7F8FE;}
.d2-3999366538 .stroke-N1{stroke:#0A0F25;}
.d2-3999366538 .stroke-N2{stroke:#676C7E;}
.d2-3999366538 .stroke-N3{stroke:#9499AB;}
.d2-3999366538 .stroke-N4{stroke:#CFD2DD;}
.d2-3999366538 .stroke-N5{stroke:#DEE1EB;}
.d2-3999366538 .stroke-N6{stroke:#EEF1F8;}
.d2-3999366538 .stroke-N7{stroke:#FFFFFF;}
.d2-3999366538 .stroke-B1{stroke:#0D32B2;}
.d2-3999366538 .stroke-B2{stroke:#0D32B2;}
.d2-3999366538 .stroke-B3{stroke:#E3E9FD;}
.d2-3999366538 .stroke-B4{stroke:#E3E9FD;}
.d2-3999366538 .stroke-B5{stroke:#EDF0FD;}
.d2-3999366538 .stroke-B6{stroke:#F7F8FE;}
.d2-3999366538 .stroke-AA2{stroke:#4A6FF3;}
.d2-3999366538 .stroke-AA4{stroke:#EDF0FD;}
.d2-3999366538 .stroke-AA5{stroke:#F7F8FE;}
.d2-3999366538 .stroke-AB4{stroke:#EDF0FD;}
.d2-3999366538 .stroke-AB5{stroke:#F7F8FE;}
.d2-3999366538 .background-color-N1{background-color:#0A0F25;}
.d2-3999366538 .background-color-N2{background-color:#676C7E;}
.d2-3999366538 .background-color-N3{background-color:#9499AB;}
.d2-3999366538 .background-color-N4{background-color:#CFD2DD;}
.d2-3999366538 .background-color-N5{background-color:#DEE1EB;}
.d2-3999366538 .background-color-N6{background-color:#EEF1F8;}
.d2-3999366538 .background-color-N7{background-color:#FFFFFF;}
.d2-3999366538 .background-color-B1{background-color:#0D32B2;}
.d2-3999366538 .background-color-B2{background-color:#0D32B2;}
.d2-3999366538 .background-color-B3{background-color:#E3E9FD;}
.d2-3999366538 .background-color-B4{background-color:#E3E9FD;}
.d2-3999366538 .background-color-B5{background-color:#EDF0FD;}
.d2-3999366538 .background-color-B6{background-color:#F7F8FE;}
.d2-3999366538 .background-color-AA2{background-color:#4A6FF3;}
.d2-3999366538 .background-color-AA4{background-color:#EDF0FD;}
.d2-3999366538 .background-color-AA5{background-color:#F7F8FE;}
.d2-3999366538 .background-color-AB4{background-color:#EDF0FD;}
.d2-3999366538 .background-color-AB5{background-color:#F7F8FE;}
.d2-3999366538 .color-N1{color:#0A0F25;}
.d2-3999366538 .color-N2{color:#676C7E;}
.d2-3999366538 .color-N3{color:#9499AB;}
.d2-3999366538 .color-N4{color:#CFD2DD;}
.d2-3999366538 .color-N5{color:#DEE1EB;}
.d2-3999366538 .color-N6{color:#EEF1F8;}
.d2-3999366538 .color-N7{color:#FFFFFF;}
.d2-3999366538 .color-B1{color:#0D32B2;}
.d2-3999366538 .color-B2{color:#0D32B2;}
.d2-3999366538 .color-B3{color:#E3E9FD;}
.d2-3999366538 .color-B4{color:#E3E9FD;}
.d2-3999366538 .color-B5{color:#EDF0FD;}
.d2-3999366538 .color-B6{color:#F7F8FE;}
.d2-3999366538 .color-AA2{color:#4A6FF3;}
.d2-3999366538 .color-AA4{color:#EDF0FD;}
.d2-3999366538 .color-AA5{color:#F7F8FE;}
.d2-3999366538 .color-AB4{color:#EDF0FD;}
.d2-3999366538 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="nostar" class="dragon_ball"><g class="shape" ><ellipse rx="25.000000" ry="25.000000" cx="26.000000" cy="25.000000" fill="orange" class="shape stroke-B1" style="stroke-width:0;" /></g></g><g id="1star" class="dragon_ball"><g class="shape" ><ellipse rx="25.000000" ry="25.000000" cx="26.000000" cy="196.000000" fill="orange" class="shape stroke-B1" style="stroke-width:0;" /></g><text x="26.000000" y="201.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">*</text></g><g id="2star" class="dragon_ball"><g class="shape" ><ellipse rx="26.000000" ry="26.000000" cx="26.000000" cy="368.000000" fill="orange" class="shape stroke-B1" style="stroke-width:0;" /></g><text x="26.000000" y="373.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">**</text></g><g id="(nostar -&gt; 1star)[0]" class="path"><marker id="mk-3519660172" markerWidth="16.000000" markerHeight="20.000000" refX="10.000000" refY="10.000000" viewBox="0.000000 0.000000 16.000000 20.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 16.000000,10.000000 0.000000,20.000000" class="connection fill-B1" stroke-width="4" /> </marker><path d="M 26.000000 52.000000 C 26.000000 98.400002 26.000000 122.599998 26.000000 165.000000" fill="none" class="connection stroke-B1" style="stroke-width:4;" marker-end="url(#mk-3519660172)" mask="url(#d2-3999366538)" /><text x="26.000000" y="116.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">then</text></g><g id="(1star -&gt; 2star)[0]" class="path"><path d="M 26.000000 223.000000 C 26.000000 269.399994 26.000000 293.600006 26.000000 336.000000" fill="none" class="connection stroke-B1" style="stroke-width:4;" marker-end="url(#mk-3519660172)" mask="url(#d2-3999366538)" /><text x="26.000000" y="287.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">then</text></g><mask id="d2-3999366538" maskUnits="userSpaceOnUse" x="0" y="0" width="52" height="394">
<rect x="0" y="0" width="52" height="394" fill="white"></rect>
<rect x="22.500000" y="185.500000" width="7" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="18.500000" y="357.500000" width="15" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="11.000000" y="100.000000" width="30" height="21" fill="black"></rect>
<rect x="11.000000" y="271.000000" width="30" height="21" fill="black"></rect>
.d2-107579682 .fill-N1{fill:#0A0F25;}
.d2-107579682 .fill-N2{fill:#676C7E;}
.d2-107579682 .fill-N3{fill:#9499AB;}
.d2-107579682 .fill-N4{fill:#CFD2DD;}
.d2-107579682 .fill-N5{fill:#DEE1EB;}
.d2-107579682 .fill-N6{fill:#EEF1F8;}
.d2-107579682 .fill-N7{fill:#FFFFFF;}
.d2-107579682 .fill-B1{fill:#0D32B2;}
.d2-107579682 .fill-B2{fill:#0D32B2;}
.d2-107579682 .fill-B3{fill:#E3E9FD;}
.d2-107579682 .fill-B4{fill:#E3E9FD;}
.d2-107579682 .fill-B5{fill:#EDF0FD;}
.d2-107579682 .fill-B6{fill:#F7F8FE;}
.d2-107579682 .fill-AA2{fill:#4A6FF3;}
.d2-107579682 .fill-AA4{fill:#EDF0FD;}
.d2-107579682 .fill-AA5{fill:#F7F8FE;}
.d2-107579682 .fill-AB4{fill:#EDF0FD;}
.d2-107579682 .fill-AB5{fill:#F7F8FE;}
.d2-107579682 .stroke-N1{stroke:#0A0F25;}
.d2-107579682 .stroke-N2{stroke:#676C7E;}
.d2-107579682 .stroke-N3{stroke:#9499AB;}
.d2-107579682 .stroke-N4{stroke:#CFD2DD;}
.d2-107579682 .stroke-N5{stroke:#DEE1EB;}
.d2-107579682 .stroke-N6{stroke:#EEF1F8;}
.d2-107579682 .stroke-N7{stroke:#FFFFFF;}
.d2-107579682 .stroke-B1{stroke:#0D32B2;}
.d2-107579682 .stroke-B2{stroke:#0D32B2;}
.d2-107579682 .stroke-B3{stroke:#E3E9FD;}
.d2-107579682 .stroke-B4{stroke:#E3E9FD;}
.d2-107579682 .stroke-B5{stroke:#EDF0FD;}
.d2-107579682 .stroke-B6{stroke:#F7F8FE;}
.d2-107579682 .stroke-AA2{stroke:#4A6FF3;}
.d2-107579682 .stroke-AA4{stroke:#EDF0FD;}
.d2-107579682 .stroke-AA5{stroke:#F7F8FE;}
.d2-107579682 .stroke-AB4{stroke:#EDF0FD;}
.d2-107579682 .stroke-AB5{stroke:#F7F8FE;}
.d2-107579682 .background-color-N1{background-color:#0A0F25;}
.d2-107579682 .background-color-N2{background-color:#676C7E;}
.d2-107579682 .background-color-N3{background-color:#9499AB;}
.d2-107579682 .background-color-N4{background-color:#CFD2DD;}
.d2-107579682 .background-color-N5{background-color:#DEE1EB;}
.d2-107579682 .background-color-N6{background-color:#EEF1F8;}
.d2-107579682 .background-color-N7{background-color:#FFFFFF;}
.d2-107579682 .background-color-B1{background-color:#0D32B2;}
.d2-107579682 .background-color-B2{background-color:#0D32B2;}
.d2-107579682 .background-color-B3{background-color:#E3E9FD;}
.d2-107579682 .background-color-B4{background-color:#E3E9FD;}
.d2-107579682 .background-color-B5{background-color:#EDF0FD;}
.d2-107579682 .background-color-B6{background-color:#F7F8FE;}
.d2-107579682 .background-color-AA2{background-color:#4A6FF3;}
.d2-107579682 .background-color-AA4{background-color:#EDF0FD;}
.d2-107579682 .background-color-AA5{background-color:#F7F8FE;}
.d2-107579682 .background-color-AB4{background-color:#EDF0FD;}
.d2-107579682 .background-color-AB5{background-color:#F7F8FE;}
.d2-107579682 .color-N1{color:#0A0F25;}
.d2-107579682 .color-N2{color:#676C7E;}
.d2-107579682 .color-N3{color:#9499AB;}
.d2-107579682 .color-N4{color:#CFD2DD;}
.d2-107579682 .color-N5{color:#DEE1EB;}
.d2-107579682 .color-N6{color:#EEF1F8;}
.d2-107579682 .color-N7{color:#FFFFFF;}
.d2-107579682 .color-B1{color:#0D32B2;}
.d2-107579682 .color-B2{color:#0D32B2;}
.d2-107579682 .color-B3{color:#E3E9FD;}
.d2-107579682 .color-B4{color:#E3E9FD;}
.d2-107579682 .color-B5{color:#EDF0FD;}
.d2-107579682 .color-B6{color:#F7F8FE;}
.d2-107579682 .color-AA2{color:#4A6FF3;}
.d2-107579682 .color-AA4{color:#EDF0FD;}
.d2-107579682 .color-AA5{color:#F7F8FE;}
.d2-107579682 .color-AB4{color:#EDF0FD;}
.d2-107579682 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="nostar" class="dragon_ball"><g class="shape" ><ellipse rx="25.000000" ry="25.000000" cx="35.000000" cy="25.000000" fill="orange" class="shape stroke-B1" style="stroke-width:0;" /></g></g><g id="1star" class="dragon_ball"><g class="shape" ><ellipse rx="35.000000" ry="35.000000" cx="35.000000" cy="206.000000" fill="orange" class="shape stroke-B1" style="stroke-width:0;" /></g><text x="35.000000" y="211.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">*</text></g><g id="2star" class="dragon_ball"><g class="shape" ><ellipse rx="35.000000" ry="35.000000" cx="35.000000" cy="397.000000" fill="orange" class="shape stroke-B1" style="stroke-width:0;" /></g><text x="35.000000" y="402.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">**</text></g><g id="(nostar -&gt; 1star)[0]" class="path"><marker id="mk-3519660172" markerWidth="16.000000" markerHeight="20.000000" refX="10.000000" refY="10.000000" viewBox="0.000000 0.000000 16.000000 20.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 16.000000,10.000000 0.000000,20.000000" class="connection fill-B1" stroke-width="4" /> </marker><path d="M 35.000000 52.000000 C 35.000000 98.400002 35.000000 122.599998 35.000000 165.000000" fill="none" class="connection stroke-B1" style="stroke-width:4;" marker-end="url(#mk-3519660172)" mask="url(#d2-107579682)" /><text x="35.000000" y="116.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">then</text></g><g id="(1star -&gt; 2star)[0]" class="path"><path d="M 35.000000 243.000000 C 35.000000 289.399994 35.000000 313.600006 35.000000 356.000000" fill="none" class="connection stroke-B1" style="stroke-width:4;" marker-end="url(#mk-3519660172)" mask="url(#d2-107579682)" /><text x="35.000000" y="307.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">then</text></g><mask id="d2-107579682" maskUnits="userSpaceOnUse" x="0" y="0" width="70" height="432">
<rect x="0" y="0" width="70" height="432" fill="white"></rect>
<rect x="31.500000" y="195.500000" width="7" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="27.500000" y="386.500000" width="15" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="20.000000" y="100.000000" width="30" height="21" fill="black"></rect>
<rect x="20.000000" y="291.000000" width="30" height="21" fill="black"></rect>
</mask></svg></svg>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -10,7 +10,7 @@
"dragon_ball"
],
"pos": {
"x": 13,
"x": 22,
"y": 12
},
"width": 50,
@ -53,11 +53,11 @@
"dragon_ball"
],
"pos": {
"x": 13,
"x": 12,
"y": 223
},
"width": 50,
"height": 50,
"width": 70,
"height": 70,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 0,
@ -98,10 +98,10 @@
],
"pos": {
"x": 12,
"y": 434
"y": 454
},
"width": 52,
"height": 52,
"width": 70,
"height": 70,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 0,
@ -164,11 +164,11 @@
"labelPercentage": 0,
"route": [
{
"x": 38,
"x": 47,
"y": 62
},
{
"x": 38,
"x": 47,
"y": 223
}
],
@ -205,12 +205,12 @@
"labelPercentage": 0,
"route": [
{
"x": 38,
"y": 273
"x": 47,
"y": 293
},
{
"x": 38,
"y": 434
"x": 47,
"y": 454
}
],
"animated": false,

View file

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 52 474"><svg id="d2-svg" class="d2-2398321321" width="52" height="474" viewBox="12 12 52 474"><rect x="12.000000" y="12.000000" width="52.000000" height="474.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2398321321 .text-bold {
font-family: "d2-2398321321-font-bold";
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 70 512"><svg id="d2-svg" class="d2-3768899376" width="70" height="512" viewBox="12 12 70 512"><rect x="12.000000" y="12.000000" width="70.000000" height="512.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3768899376 .text-bold {
font-family: "d2-3768899376-font-bold";
}
@font-face {
font-family: d2-2398321321-font-bold;
font-family: d2-3768899376-font-bold;
src: url("data:application/font-woff;base64,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");
}
.d2-2398321321 .text-italic {
font-family: "d2-2398321321-font-italic";
.d2-3768899376 .text-italic {
font-family: "d2-3768899376-font-italic";
}
@font-face {
font-family: d2-2398321321-font-italic;
font-family: d2-3768899376-font-italic;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
@ -25,81 +25,81 @@
opacity: 0.5;
}
.d2-2398321321 .fill-N1{fill:#0A0F25;}
.d2-2398321321 .fill-N2{fill:#676C7E;}
.d2-2398321321 .fill-N3{fill:#9499AB;}
.d2-2398321321 .fill-N4{fill:#CFD2DD;}
.d2-2398321321 .fill-N5{fill:#DEE1EB;}
.d2-2398321321 .fill-N6{fill:#EEF1F8;}
.d2-2398321321 .fill-N7{fill:#FFFFFF;}
.d2-2398321321 .fill-B1{fill:#0D32B2;}
.d2-2398321321 .fill-B2{fill:#0D32B2;}
.d2-2398321321 .fill-B3{fill:#E3E9FD;}
.d2-2398321321 .fill-B4{fill:#E3E9FD;}
.d2-2398321321 .fill-B5{fill:#EDF0FD;}
.d2-2398321321 .fill-B6{fill:#F7F8FE;}
.d2-2398321321 .fill-AA2{fill:#4A6FF3;}
.d2-2398321321 .fill-AA4{fill:#EDF0FD;}
.d2-2398321321 .fill-AA5{fill:#F7F8FE;}
.d2-2398321321 .fill-AB4{fill:#EDF0FD;}
.d2-2398321321 .fill-AB5{fill:#F7F8FE;}
.d2-2398321321 .stroke-N1{stroke:#0A0F25;}
.d2-2398321321 .stroke-N2{stroke:#676C7E;}
.d2-2398321321 .stroke-N3{stroke:#9499AB;}
.d2-2398321321 .stroke-N4{stroke:#CFD2DD;}
.d2-2398321321 .stroke-N5{stroke:#DEE1EB;}
.d2-2398321321 .stroke-N6{stroke:#EEF1F8;}
.d2-2398321321 .stroke-N7{stroke:#FFFFFF;}
.d2-2398321321 .stroke-B1{stroke:#0D32B2;}
.d2-2398321321 .stroke-B2{stroke:#0D32B2;}
.d2-2398321321 .stroke-B3{stroke:#E3E9FD;}
.d2-2398321321 .stroke-B4{stroke:#E3E9FD;}
.d2-2398321321 .stroke-B5{stroke:#EDF0FD;}
.d2-2398321321 .stroke-B6{stroke:#F7F8FE;}
.d2-2398321321 .stroke-AA2{stroke:#4A6FF3;}
.d2-2398321321 .stroke-AA4{stroke:#EDF0FD;}
.d2-2398321321 .stroke-AA5{stroke:#F7F8FE;}
.d2-2398321321 .stroke-AB4{stroke:#EDF0FD;}
.d2-2398321321 .stroke-AB5{stroke:#F7F8FE;}
.d2-2398321321 .background-color-N1{background-color:#0A0F25;}
.d2-2398321321 .background-color-N2{background-color:#676C7E;}
.d2-2398321321 .background-color-N3{background-color:#9499AB;}
.d2-2398321321 .background-color-N4{background-color:#CFD2DD;}
.d2-2398321321 .background-color-N5{background-color:#DEE1EB;}
.d2-2398321321 .background-color-N6{background-color:#EEF1F8;}
.d2-2398321321 .background-color-N7{background-color:#FFFFFF;}
.d2-2398321321 .background-color-B1{background-color:#0D32B2;}
.d2-2398321321 .background-color-B2{background-color:#0D32B2;}
.d2-2398321321 .background-color-B3{background-color:#E3E9FD;}
.d2-2398321321 .background-color-B4{background-color:#E3E9FD;}
.d2-2398321321 .background-color-B5{background-color:#EDF0FD;}
.d2-2398321321 .background-color-B6{background-color:#F7F8FE;}
.d2-2398321321 .background-color-AA2{background-color:#4A6FF3;}
.d2-2398321321 .background-color-AA4{background-color:#EDF0FD;}
.d2-2398321321 .background-color-AA5{background-color:#F7F8FE;}
.d2-2398321321 .background-color-AB4{background-color:#EDF0FD;}
.d2-2398321321 .background-color-AB5{background-color:#F7F8FE;}
.d2-2398321321 .color-N1{color:#0A0F25;}
.d2-2398321321 .color-N2{color:#676C7E;}
.d2-2398321321 .color-N3{color:#9499AB;}
.d2-2398321321 .color-N4{color:#CFD2DD;}
.d2-2398321321 .color-N5{color:#DEE1EB;}
.d2-2398321321 .color-N6{color:#EEF1F8;}
.d2-2398321321 .color-N7{color:#FFFFFF;}
.d2-2398321321 .color-B1{color:#0D32B2;}
.d2-2398321321 .color-B2{color:#0D32B2;}
.d2-2398321321 .color-B3{color:#E3E9FD;}
.d2-2398321321 .color-B4{color:#E3E9FD;}
.d2-2398321321 .color-B5{color:#EDF0FD;}
.d2-2398321321 .color-B6{color:#F7F8FE;}
.d2-2398321321 .color-AA2{color:#4A6FF3;}
.d2-2398321321 .color-AA4{color:#EDF0FD;}
.d2-2398321321 .color-AA5{color:#F7F8FE;}
.d2-2398321321 .color-AB4{color:#EDF0FD;}
.d2-2398321321 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="nostar" class="dragon_ball"><g class="shape" ><ellipse rx="25.000000" ry="25.000000" cx="38.000000" cy="37.000000" fill="orange" class="shape stroke-B1" style="stroke-width:0;" /></g></g><g id="1star" class="dragon_ball"><g class="shape" ><ellipse rx="25.000000" ry="25.000000" cx="38.000000" cy="248.000000" fill="orange" class="shape stroke-B1" style="stroke-width:0;" /></g><text x="38.000000" y="253.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">*</text></g><g id="2star" class="dragon_ball"><g class="shape" ><ellipse rx="26.000000" ry="26.000000" cx="38.000000" cy="460.000000" fill="orange" class="shape stroke-B1" style="stroke-width:0;" /></g><text x="38.000000" y="465.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">**</text></g><g id="(nostar -&gt; 1star)[0]" class="path"><marker id="mk-3519660172" markerWidth="16.000000" markerHeight="20.000000" refX="10.000000" refY="10.000000" viewBox="0.000000 0.000000 16.000000 20.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 16.000000,10.000000 0.000000,20.000000" class="connection fill-B1" stroke-width="4" /> </marker><path d="M 38.000000 64.000000 L 38.000000 217.000000" fill="none" class="connection stroke-B1" style="stroke-width:4;" marker-end="url(#mk-3519660172)" mask="url(#d2-2398321321)" /><text x="38.000000" y="148.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">then</text></g><g id="(1star -&gt; 2star)[0]" class="path"><path d="M 38.000000 275.000000 L 38.000000 428.000000" fill="none" class="connection stroke-B1" style="stroke-width:4;" marker-end="url(#mk-3519660172)" mask="url(#d2-2398321321)" /><text x="38.000000" y="359.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">then</text></g><mask id="d2-2398321321" maskUnits="userSpaceOnUse" x="12" y="12" width="52" height="474">
<rect x="12" y="12" width="52" height="474" fill="white"></rect>
<rect x="34.500000" y="237.500000" width="7" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="30.500000" y="449.500000" width="15" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="23.000000" y="132.000000" width="30" height="21" fill="black"></rect>
<rect x="23.000000" y="343.000000" width="30" height="21" fill="black"></rect>
.d2-3768899376 .fill-N1{fill:#0A0F25;}
.d2-3768899376 .fill-N2{fill:#676C7E;}
.d2-3768899376 .fill-N3{fill:#9499AB;}
.d2-3768899376 .fill-N4{fill:#CFD2DD;}
.d2-3768899376 .fill-N5{fill:#DEE1EB;}
.d2-3768899376 .fill-N6{fill:#EEF1F8;}
.d2-3768899376 .fill-N7{fill:#FFFFFF;}
.d2-3768899376 .fill-B1{fill:#0D32B2;}
.d2-3768899376 .fill-B2{fill:#0D32B2;}
.d2-3768899376 .fill-B3{fill:#E3E9FD;}
.d2-3768899376 .fill-B4{fill:#E3E9FD;}
.d2-3768899376 .fill-B5{fill:#EDF0FD;}
.d2-3768899376 .fill-B6{fill:#F7F8FE;}
.d2-3768899376 .fill-AA2{fill:#4A6FF3;}
.d2-3768899376 .fill-AA4{fill:#EDF0FD;}
.d2-3768899376 .fill-AA5{fill:#F7F8FE;}
.d2-3768899376 .fill-AB4{fill:#EDF0FD;}
.d2-3768899376 .fill-AB5{fill:#F7F8FE;}
.d2-3768899376 .stroke-N1{stroke:#0A0F25;}
.d2-3768899376 .stroke-N2{stroke:#676C7E;}
.d2-3768899376 .stroke-N3{stroke:#9499AB;}
.d2-3768899376 .stroke-N4{stroke:#CFD2DD;}
.d2-3768899376 .stroke-N5{stroke:#DEE1EB;}
.d2-3768899376 .stroke-N6{stroke:#EEF1F8;}
.d2-3768899376 .stroke-N7{stroke:#FFFFFF;}
.d2-3768899376 .stroke-B1{stroke:#0D32B2;}
.d2-3768899376 .stroke-B2{stroke:#0D32B2;}
.d2-3768899376 .stroke-B3{stroke:#E3E9FD;}
.d2-3768899376 .stroke-B4{stroke:#E3E9FD;}
.d2-3768899376 .stroke-B5{stroke:#EDF0FD;}
.d2-3768899376 .stroke-B6{stroke:#F7F8FE;}
.d2-3768899376 .stroke-AA2{stroke:#4A6FF3;}
.d2-3768899376 .stroke-AA4{stroke:#EDF0FD;}
.d2-3768899376 .stroke-AA5{stroke:#F7F8FE;}
.d2-3768899376 .stroke-AB4{stroke:#EDF0FD;}
.d2-3768899376 .stroke-AB5{stroke:#F7F8FE;}
.d2-3768899376 .background-color-N1{background-color:#0A0F25;}
.d2-3768899376 .background-color-N2{background-color:#676C7E;}
.d2-3768899376 .background-color-N3{background-color:#9499AB;}
.d2-3768899376 .background-color-N4{background-color:#CFD2DD;}
.d2-3768899376 .background-color-N5{background-color:#DEE1EB;}
.d2-3768899376 .background-color-N6{background-color:#EEF1F8;}
.d2-3768899376 .background-color-N7{background-color:#FFFFFF;}
.d2-3768899376 .background-color-B1{background-color:#0D32B2;}
.d2-3768899376 .background-color-B2{background-color:#0D32B2;}
.d2-3768899376 .background-color-B3{background-color:#E3E9FD;}
.d2-3768899376 .background-color-B4{background-color:#E3E9FD;}
.d2-3768899376 .background-color-B5{background-color:#EDF0FD;}
.d2-3768899376 .background-color-B6{background-color:#F7F8FE;}
.d2-3768899376 .background-color-AA2{background-color:#4A6FF3;}
.d2-3768899376 .background-color-AA4{background-color:#EDF0FD;}
.d2-3768899376 .background-color-AA5{background-color:#F7F8FE;}
.d2-3768899376 .background-color-AB4{background-color:#EDF0FD;}
.d2-3768899376 .background-color-AB5{background-color:#F7F8FE;}
.d2-3768899376 .color-N1{color:#0A0F25;}
.d2-3768899376 .color-N2{color:#676C7E;}
.d2-3768899376 .color-N3{color:#9499AB;}
.d2-3768899376 .color-N4{color:#CFD2DD;}
.d2-3768899376 .color-N5{color:#DEE1EB;}
.d2-3768899376 .color-N6{color:#EEF1F8;}
.d2-3768899376 .color-N7{color:#FFFFFF;}
.d2-3768899376 .color-B1{color:#0D32B2;}
.d2-3768899376 .color-B2{color:#0D32B2;}
.d2-3768899376 .color-B3{color:#E3E9FD;}
.d2-3768899376 .color-B4{color:#E3E9FD;}
.d2-3768899376 .color-B5{color:#EDF0FD;}
.d2-3768899376 .color-B6{color:#F7F8FE;}
.d2-3768899376 .color-AA2{color:#4A6FF3;}
.d2-3768899376 .color-AA4{color:#EDF0FD;}
.d2-3768899376 .color-AA5{color:#F7F8FE;}
.d2-3768899376 .color-AB4{color:#EDF0FD;}
.d2-3768899376 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="nostar" class="dragon_ball"><g class="shape" ><ellipse rx="25.000000" ry="25.000000" cx="47.000000" cy="37.000000" fill="orange" class="shape stroke-B1" style="stroke-width:0;" /></g></g><g id="1star" class="dragon_ball"><g class="shape" ><ellipse rx="35.000000" ry="35.000000" cx="47.000000" cy="258.000000" fill="orange" class="shape stroke-B1" style="stroke-width:0;" /></g><text x="47.000000" y="263.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">*</text></g><g id="2star" class="dragon_ball"><g class="shape" ><ellipse rx="35.000000" ry="35.000000" cx="47.000000" cy="489.000000" fill="orange" class="shape stroke-B1" style="stroke-width:0;" /></g><text x="47.000000" y="494.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">**</text></g><g id="(nostar -&gt; 1star)[0]" class="path"><marker id="mk-3519660172" markerWidth="16.000000" markerHeight="20.000000" refX="10.000000" refY="10.000000" viewBox="0.000000 0.000000 16.000000 20.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 16.000000,10.000000 0.000000,20.000000" class="connection fill-B1" stroke-width="4" /> </marker><path d="M 47.000000 64.000000 L 47.000000 217.000000" fill="none" class="connection stroke-B1" style="stroke-width:4;" marker-end="url(#mk-3519660172)" mask="url(#d2-3768899376)" /><text x="47.000000" y="148.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">then</text></g><g id="(1star -&gt; 2star)[0]" class="path"><path d="M 47.000000 295.000000 L 47.000000 448.000000" fill="none" class="connection stroke-B1" style="stroke-width:4;" marker-end="url(#mk-3519660172)" mask="url(#d2-3768899376)" /><text x="47.000000" y="379.000000" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">then</text></g><mask id="d2-3768899376" maskUnits="userSpaceOnUse" x="12" y="12" width="70" height="512">
<rect x="12" y="12" width="70" height="512" fill="white"></rect>
<rect x="43.500000" y="247.500000" width="7" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="39.500000" y="478.500000" width="15" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="32.000000" y="132.000000" width="30" height="21" fill="black"></rect>
<rect x="32.000000" y="363.000000" width="30" height="21" fill="black"></rect>
</mask></svg></svg>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -484,11 +484,11 @@
"labelPercentage": 0,
"route": [
{
"x": 66.5,
"x": 66.875,
"y": 178
},
{
"x": 66.5,
"x": 66.875,
"y": 364
}
],
@ -525,11 +525,11 @@
"labelPercentage": 0,
"route": [
{
"x": 93.25,
"x": 93.625,
"y": 367
},
{
"x": 233.25,
"x": 233.625,
"y": 211
}
],
@ -563,19 +563,19 @@
"labelPercentage": 0,
"route": [
{
"x": 193,
"x": 193.375,
"y": 244
},
{
"x": 193,
"x": 193.375,
"y": 300
},
{
"x": 193,
"x": 193.375,
"y": 374
},
{
"x": 193,
"x": 193.375,
"y": 414
}
],
@ -610,31 +610,31 @@
"labelPercentage": 0,
"route": [
{
"x": 286.5,
"x": 286.875,
"y": 214
},
{
"x": 318.5,
"x": 318.875,
"y": 254
},
{
"x": 326.5,
"x": 326.875,
"y": 274
},
{
"x": 326.5,
"x": 326.875,
"y": 289
},
{
"x": 326.5,
"x": 326.875,
"y": 304
},
{
"x": 326.5,
"x": 326.875,
"y": 374
},
{
"x": 326.5,
"x": 326.875,
"y": 414
}
],
@ -672,11 +672,11 @@
"labelPercentage": 0,
"route": [
{
"x": 299.5,
"x": 299.875,
"y": 416
},
{
"x": 92.5,
"x": 92.875,
"y": 176
}
],

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View file

@ -215,7 +215,7 @@
"x": 273,
"y": 1889
},
"width": 281,
"width": 284,
"height": 388,
"opacity": 1,
"strokeDash": 0,
@ -458,11 +458,11 @@
"id": "ll",
"type": "rectangle",
"pos": {
"x": 251,
"x": 249,
"y": 2468
},
"width": 265,
"height": 317,
"width": 268,
"height": 320,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -499,11 +499,11 @@
"id": "ll.mm",
"type": "oval",
"pos": {
"x": 301,
"x": 299,
"y": 2518
},
"width": 81,
"height": 81,
"width": 84,
"height": 84,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -541,10 +541,10 @@
"type": "oval",
"pos": {
"x": 423,
"y": 1944
"y": 1943
},
"width": 81,
"height": 81,
"width": 84,
"height": 84,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -582,7 +582,7 @@
"type": "cylinder",
"pos": {
"x": 79,
"y": 3469
"y": 3472
},
"width": 327,
"height": 210,
@ -623,7 +623,7 @@
"type": "rectangle",
"pos": {
"x": 129,
"y": 3563
"y": 3566
},
"width": 63,
"height": 66,
@ -663,7 +663,7 @@
"id": "ff.pp",
"type": "rectangle",
"pos": {
"x": 402,
"x": 404,
"y": 2161
},
"width": 63,
@ -704,8 +704,8 @@
"id": "ll.qq",
"type": "rectangle",
"pos": {
"x": 402,
"y": 2525
"x": 403,
"y": 2527
},
"width": 64,
"height": 66,
@ -745,8 +745,8 @@
"id": "ll.rr",
"type": "rectangle",
"pos": {
"x": 405,
"y": 2669
"x": 406,
"y": 2672
},
"width": 58,
"height": 66,
@ -1004,7 +1004,7 @@
"type": "rectangle",
"pos": {
"x": 113,
"y": 2635
"y": 2637
},
"width": 80,
"height": 66,
@ -1045,7 +1045,7 @@
"type": "rectangle",
"pos": {
"x": 212,
"y": 3563
"y": 3566
},
"width": 62,
"height": 66,
@ -1085,8 +1085,8 @@
"id": "yy",
"type": "rectangle",
"pos": {
"x": 309,
"y": 2975
"x": 312,
"y": 2978
},
"width": 238,
"height": 354,
@ -1126,8 +1126,8 @@
"id": "yy.zz",
"type": "queue",
"pos": {
"x": 359,
"y": 3025
"x": 362,
"y": 3028
},
"width": 138,
"height": 118,
@ -1179,8 +1179,8 @@
"id": "yy.ab",
"type": "rectangle",
"pos": {
"x": 397,
"y": 3213
"x": 399,
"y": 3216
},
"width": 63,
"height": 66,
@ -1221,7 +1221,7 @@
"type": "rectangle",
"pos": {
"x": 294,
"y": 3563
"y": 3566
},
"width": 62,
"height": 66,
@ -1261,8 +1261,8 @@
"id": "ad",
"type": "parallelogram",
"pos": {
"x": 267,
"y": 3754
"x": 268,
"y": 3757
},
"width": 115,
"height": 66,
@ -1669,12 +1669,12 @@
"y": 1646
},
{
"x": 442.5830078125,
"x": 443.3330078125,
"y": 1646
},
{
"x": 443,
"y": 1950
"y": 1949
}
],
"animated": false,
@ -1707,15 +1707,15 @@
"labelPercentage": 0,
"route": [
{
"x": 464,
"y": 2026
"x": 465,
"y": 2027
},
{
"x": 463.6659851074219,
"x": 465.1659851074219,
"y": 2121
},
{
"x": 351.6659851074219,
"x": 352.4159851074219,
"y": 2121
},
{
@ -1754,27 +1754,27 @@
"route": [
{
"x": 342,
"y": 2599
"y": 2602
},
{
"x": 341.6659851074219,
"y": 2880
"y": 2883
},
{
"x": 94.66600036621094,
"y": 2880
"y": 2883
},
{
"x": 94.66600036621094,
"y": 3424
"y": 3427
},
{
"x": 160.58299255371094,
"y": 3424
"x": 161.33299255371094,
"y": 3427
},
{
"x": 160.58299255371094,
"y": 3563
"x": 161.33299255371094,
"y": 3566
}
],
"animated": false,
@ -1815,11 +1815,11 @@
"y": 2071
},
{
"x": 434.1659851074219,
"x": 435.6659851074219,
"y": 2071
},
{
"x": 434.1659851074219,
"x": 435.6659851074219,
"y": 2161
}
],
@ -1853,12 +1853,12 @@
"labelPercentage": 0,
"route": [
{
"x": 434.1659851074219,
"y": 2226.5
"x": 435.6659851074219,
"y": 2227
},
{
"x": 434.1659851074219,
"y": 2525.5
"x": 435.6659851074219,
"y": 2527
}
],
"animated": false,
@ -1891,12 +1891,12 @@
"labelPercentage": 0,
"route": [
{
"x": 434.1659851074219,
"y": 2591
"x": 435.6659851074219,
"y": 2593
},
{
"x": 434.1659851074219,
"y": 2669
"x": 435.6659851074219,
"y": 2672
}
],
"animated": false,
@ -2102,7 +2102,7 @@
},
{
"x": 153,
"y": 2635
"y": 2637
}
],
"animated": false,
@ -2136,19 +2136,19 @@
"route": [
{
"x": 139.66600036621094,
"y": 2701
"y": 2703
},
{
"x": 139.66600036621094,
"y": 3374
"y": 3377
},
{
"x": 243.08299255371094,
"y": 3374
"x": 243.83299255371094,
"y": 3377
},
{
"x": 243.08299255371094,
"y": 3563
"x": 243.83299255371094,
"y": 3566
}
],
"animated": false,
@ -2181,12 +2181,12 @@
"labelPercentage": 0,
"route": [
{
"x": 451.8330078125,
"y": 2735
"x": 454.0830078125,
"y": 2738
},
{
"x": 452,
"y": 3025
"x": 454,
"y": 3028
}
],
"animated": false,
@ -2220,19 +2220,19 @@
"route": [
{
"x": 166.33299255371094,
"y": 2701
"y": 2703
},
{
"x": 166.33299255371094,
"y": 2830
"y": 2833
},
{
"x": 405.8330078125,
"y": 2830
"x": 408.0830078125,
"y": 2833
},
{
"x": 406,
"y": 3025
"x": 408,
"y": 3028
}
],
"animated": false,
@ -2265,12 +2265,12 @@
"labelPercentage": 0,
"route": [
{
"x": 429,
"y": 3143
"x": 431,
"y": 3146
},
{
"x": 429,
"y": 3213
"x": 431,
"y": 3216
}
],
"animated": false,
@ -2303,20 +2303,20 @@
"labelPercentage": 0,
"route": [
{
"x": 428.8330078125,
"y": 3279
"x": 431.0830078125,
"y": 3282
},
{
"x": 428.8330078125,
"y": 3374
"x": 431.0830078125,
"y": 3377
},
{
"x": 325.0830078125,
"y": 3374
"x": 325.8330078125,
"y": 3377
},
{
"x": 325.0830078125,
"y": 3563
"x": 325.8330078125,
"y": 3566
}
],
"animated": false,
@ -2349,12 +2349,12 @@
"labelPercentage": 0,
"route": [
{
"x": 325.0830078125,
"y": 3629
"x": 325.8330078125,
"y": 3632
},
{
"x": 325,
"y": 3754
"x": 326,
"y": 3757
}
],
"animated": false,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View file

@ -92,7 +92,7 @@
"x": 166,
"y": 0
},
"width": 156,
"width": 157,
"height": 192,
"opacity": 1,
"strokeDash": 0,
@ -133,8 +133,8 @@
"x": 206,
"y": 58
},
"width": 76,
"height": 76,
"width": 77,
"height": 77,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,

View file

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 324 234"><svg id="d2-svg" class="d2-461144874" width="324" height="234" viewBox="-1 -41 324 234"><rect x="-1.000000" y="-41.000000" width="324.000000" height="234.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-461144874 .text {
font-family: "d2-461144874-font-regular";
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 325 234"><svg id="d2-svg" class="d2-2175518901" width="325" height="234" viewBox="-1 -41 325 234"><rect x="-1.000000" y="-41.000000" width="325.000000" height="234.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2175518901 .text {
font-family: "d2-2175518901-font-regular";
}
@font-face {
font-family: d2-461144874-font-regular;
font-family: d2-2175518901-font-regular;
src: url("data:application/font-woff;base64,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");
}
.d2-461144874 .text-bold {
font-family: "d2-461144874-font-bold";
.d2-2175518901 .text-bold {
font-family: "d2-2175518901-font-bold";
}
@font-face {
font-family: d2-461144874-font-bold;
font-family: d2-2175518901-font-bold;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
@ -25,81 +25,81 @@
opacity: 0.5;
}
.d2-461144874 .fill-N1{fill:#0A0F25;}
.d2-461144874 .fill-N2{fill:#676C7E;}
.d2-461144874 .fill-N3{fill:#9499AB;}
.d2-461144874 .fill-N4{fill:#CFD2DD;}
.d2-461144874 .fill-N5{fill:#DEE1EB;}
.d2-461144874 .fill-N6{fill:#EEF1F8;}
.d2-461144874 .fill-N7{fill:#FFFFFF;}
.d2-461144874 .fill-B1{fill:#0D32B2;}
.d2-461144874 .fill-B2{fill:#0D32B2;}
.d2-461144874 .fill-B3{fill:#E3E9FD;}
.d2-461144874 .fill-B4{fill:#E3E9FD;}
.d2-461144874 .fill-B5{fill:#EDF0FD;}
.d2-461144874 .fill-B6{fill:#F7F8FE;}
.d2-461144874 .fill-AA2{fill:#4A6FF3;}
.d2-461144874 .fill-AA4{fill:#EDF0FD;}
.d2-461144874 .fill-AA5{fill:#F7F8FE;}
.d2-461144874 .fill-AB4{fill:#EDF0FD;}
.d2-461144874 .fill-AB5{fill:#F7F8FE;}
.d2-461144874 .stroke-N1{stroke:#0A0F25;}
.d2-461144874 .stroke-N2{stroke:#676C7E;}
.d2-461144874 .stroke-N3{stroke:#9499AB;}
.d2-461144874 .stroke-N4{stroke:#CFD2DD;}
.d2-461144874 .stroke-N5{stroke:#DEE1EB;}
.d2-461144874 .stroke-N6{stroke:#EEF1F8;}
.d2-461144874 .stroke-N7{stroke:#FFFFFF;}
.d2-461144874 .stroke-B1{stroke:#0D32B2;}
.d2-461144874 .stroke-B2{stroke:#0D32B2;}
.d2-461144874 .stroke-B3{stroke:#E3E9FD;}
.d2-461144874 .stroke-B4{stroke:#E3E9FD;}
.d2-461144874 .stroke-B5{stroke:#EDF0FD;}
.d2-461144874 .stroke-B6{stroke:#F7F8FE;}
.d2-461144874 .stroke-AA2{stroke:#4A6FF3;}
.d2-461144874 .stroke-AA4{stroke:#EDF0FD;}
.d2-461144874 .stroke-AA5{stroke:#F7F8FE;}
.d2-461144874 .stroke-AB4{stroke:#EDF0FD;}
.d2-461144874 .stroke-AB5{stroke:#F7F8FE;}
.d2-461144874 .background-color-N1{background-color:#0A0F25;}
.d2-461144874 .background-color-N2{background-color:#676C7E;}
.d2-461144874 .background-color-N3{background-color:#9499AB;}
.d2-461144874 .background-color-N4{background-color:#CFD2DD;}
.d2-461144874 .background-color-N5{background-color:#DEE1EB;}
.d2-461144874 .background-color-N6{background-color:#EEF1F8;}
.d2-461144874 .background-color-N7{background-color:#FFFFFF;}
.d2-461144874 .background-color-B1{background-color:#0D32B2;}
.d2-461144874 .background-color-B2{background-color:#0D32B2;}
.d2-461144874 .background-color-B3{background-color:#E3E9FD;}
.d2-461144874 .background-color-B4{background-color:#E3E9FD;}
.d2-461144874 .background-color-B5{background-color:#EDF0FD;}
.d2-461144874 .background-color-B6{background-color:#F7F8FE;}
.d2-461144874 .background-color-AA2{background-color:#4A6FF3;}
.d2-461144874 .background-color-AA4{background-color:#EDF0FD;}
.d2-461144874 .background-color-AA5{background-color:#F7F8FE;}
.d2-461144874 .background-color-AB4{background-color:#EDF0FD;}
.d2-461144874 .background-color-AB5{background-color:#F7F8FE;}
.d2-461144874 .color-N1{color:#0A0F25;}
.d2-461144874 .color-N2{color:#676C7E;}
.d2-461144874 .color-N3{color:#9499AB;}
.d2-461144874 .color-N4{color:#CFD2DD;}
.d2-461144874 .color-N5{color:#DEE1EB;}
.d2-461144874 .color-N6{color:#EEF1F8;}
.d2-461144874 .color-N7{color:#FFFFFF;}
.d2-461144874 .color-B1{color:#0D32B2;}
.d2-461144874 .color-B2{color:#0D32B2;}
.d2-461144874 .color-B3{color:#E3E9FD;}
.d2-461144874 .color-B4{color:#E3E9FD;}
.d2-461144874 .color-B5{color:#EDF0FD;}
.d2-461144874 .color-B6{color:#F7F8FE;}
.d2-461144874 .color-AA2{color:#4A6FF3;}
.d2-461144874 .color-AA4{color:#EDF0FD;}
.d2-461144874 .color-AA5{color:#F7F8FE;}
.d2-461144874 .color-AB4{color:#EDF0FD;}
.d2-461144874 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="aa"><g class="shape" ><path d="M 0 0 L 73 0 L 73 38 L 146 38 L 146 192 L 0 192 Z" class=" stroke-B1 fill-AA4" style="stroke-width:2;" /></g><text x="73.000000" y="-13.000000" class="text fill-N1" style="text-anchor:middle;font-size:28px">aa</text></g><g id="cc"><g class="shape" ><path d="M 244 192 C 243 192 243 192 243 191 L 167 98 C 166 97 166 96 167 95 L 243 1 C 244 0 245 0 246 1 L 322 95 C 323 96 323 97 322 98 L 245 191 C 245 192 245 192 244 192 Z" class=" stroke-B1 fill-N4" style="stroke-width:2;" /></g><text x="244.000000" y="-13.000000" class="text fill-N1" style="text-anchor:middle;font-size:28px">cc</text></g><g id="aa.bb"><g class="shape" ><path d="M 73 142 C 73 142 73 142 72 142 L 40 97 C 40 97 40 96 40 95 L 72 50 C 72 50 73 50 73 50 L 105 95 C 105 95 105 96 105 97 L 74 142 C 73 142 73 142 73 142 Z" class=" stroke-B1 fill-N4" style="stroke-width:2;" /></g><text x="73.000000" y="101.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">bb</text></g><g id="cc.dd"><g class="shape" ><ellipse rx="38.000000" ry="38.000000" cx="244.000000" cy="96.000000" class="shape stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="244.000000" y="101.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">dd</text></g><mask id="d2-461144874" maskUnits="userSpaceOnUse" x="-1" y="-41" width="324" height="234">
<rect x="-1" y="-41" width="324" height="234" fill="white"></rect>
.d2-2175518901 .fill-N1{fill:#0A0F25;}
.d2-2175518901 .fill-N2{fill:#676C7E;}
.d2-2175518901 .fill-N3{fill:#9499AB;}
.d2-2175518901 .fill-N4{fill:#CFD2DD;}
.d2-2175518901 .fill-N5{fill:#DEE1EB;}
.d2-2175518901 .fill-N6{fill:#EEF1F8;}
.d2-2175518901 .fill-N7{fill:#FFFFFF;}
.d2-2175518901 .fill-B1{fill:#0D32B2;}
.d2-2175518901 .fill-B2{fill:#0D32B2;}
.d2-2175518901 .fill-B3{fill:#E3E9FD;}
.d2-2175518901 .fill-B4{fill:#E3E9FD;}
.d2-2175518901 .fill-B5{fill:#EDF0FD;}
.d2-2175518901 .fill-B6{fill:#F7F8FE;}
.d2-2175518901 .fill-AA2{fill:#4A6FF3;}
.d2-2175518901 .fill-AA4{fill:#EDF0FD;}
.d2-2175518901 .fill-AA5{fill:#F7F8FE;}
.d2-2175518901 .fill-AB4{fill:#EDF0FD;}
.d2-2175518901 .fill-AB5{fill:#F7F8FE;}
.d2-2175518901 .stroke-N1{stroke:#0A0F25;}
.d2-2175518901 .stroke-N2{stroke:#676C7E;}
.d2-2175518901 .stroke-N3{stroke:#9499AB;}
.d2-2175518901 .stroke-N4{stroke:#CFD2DD;}
.d2-2175518901 .stroke-N5{stroke:#DEE1EB;}
.d2-2175518901 .stroke-N6{stroke:#EEF1F8;}
.d2-2175518901 .stroke-N7{stroke:#FFFFFF;}
.d2-2175518901 .stroke-B1{stroke:#0D32B2;}
.d2-2175518901 .stroke-B2{stroke:#0D32B2;}
.d2-2175518901 .stroke-B3{stroke:#E3E9FD;}
.d2-2175518901 .stroke-B4{stroke:#E3E9FD;}
.d2-2175518901 .stroke-B5{stroke:#EDF0FD;}
.d2-2175518901 .stroke-B6{stroke:#F7F8FE;}
.d2-2175518901 .stroke-AA2{stroke:#4A6FF3;}
.d2-2175518901 .stroke-AA4{stroke:#EDF0FD;}
.d2-2175518901 .stroke-AA5{stroke:#F7F8FE;}
.d2-2175518901 .stroke-AB4{stroke:#EDF0FD;}
.d2-2175518901 .stroke-AB5{stroke:#F7F8FE;}
.d2-2175518901 .background-color-N1{background-color:#0A0F25;}
.d2-2175518901 .background-color-N2{background-color:#676C7E;}
.d2-2175518901 .background-color-N3{background-color:#9499AB;}
.d2-2175518901 .background-color-N4{background-color:#CFD2DD;}
.d2-2175518901 .background-color-N5{background-color:#DEE1EB;}
.d2-2175518901 .background-color-N6{background-color:#EEF1F8;}
.d2-2175518901 .background-color-N7{background-color:#FFFFFF;}
.d2-2175518901 .background-color-B1{background-color:#0D32B2;}
.d2-2175518901 .background-color-B2{background-color:#0D32B2;}
.d2-2175518901 .background-color-B3{background-color:#E3E9FD;}
.d2-2175518901 .background-color-B4{background-color:#E3E9FD;}
.d2-2175518901 .background-color-B5{background-color:#EDF0FD;}
.d2-2175518901 .background-color-B6{background-color:#F7F8FE;}
.d2-2175518901 .background-color-AA2{background-color:#4A6FF3;}
.d2-2175518901 .background-color-AA4{background-color:#EDF0FD;}
.d2-2175518901 .background-color-AA5{background-color:#F7F8FE;}
.d2-2175518901 .background-color-AB4{background-color:#EDF0FD;}
.d2-2175518901 .background-color-AB5{background-color:#F7F8FE;}
.d2-2175518901 .color-N1{color:#0A0F25;}
.d2-2175518901 .color-N2{color:#676C7E;}
.d2-2175518901 .color-N3{color:#9499AB;}
.d2-2175518901 .color-N4{color:#CFD2DD;}
.d2-2175518901 .color-N5{color:#DEE1EB;}
.d2-2175518901 .color-N6{color:#EEF1F8;}
.d2-2175518901 .color-N7{color:#FFFFFF;}
.d2-2175518901 .color-B1{color:#0D32B2;}
.d2-2175518901 .color-B2{color:#0D32B2;}
.d2-2175518901 .color-B3{color:#E3E9FD;}
.d2-2175518901 .color-B4{color:#E3E9FD;}
.d2-2175518901 .color-B5{color:#EDF0FD;}
.d2-2175518901 .color-B6{color:#F7F8FE;}
.d2-2175518901 .color-AA2{color:#4A6FF3;}
.d2-2175518901 .color-AA4{color:#EDF0FD;}
.d2-2175518901 .color-AA5{color:#F7F8FE;}
.d2-2175518901 .color-AB4{color:#EDF0FD;}
.d2-2175518901 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="aa"><g class="shape" ><path d="M 0 0 L 73 0 L 73 38 L 146 38 L 146 192 L 0 192 Z" class=" stroke-B1 fill-AA4" style="stroke-width:2;" /></g><text x="73.000000" y="-13.000000" class="text fill-N1" style="text-anchor:middle;font-size:28px">aa</text></g><g id="cc"><g class="shape" ><path d="M 245 192 C 244 192 244 192 244 191 L 167 98 C 166 97 166 96 167 95 L 243 1 C 244 0 245 0 246 1 L 322 95 C 323 96 323 97 322 98 L 246 191 C 246 192 245 192 245 192 Z" class=" stroke-B1 fill-N4" style="stroke-width:2;" /></g><text x="244.500000" y="-13.000000" class="text fill-N1" style="text-anchor:middle;font-size:28px">cc</text></g><g id="aa.bb"><g class="shape" ><path d="M 73 142 C 73 142 73 142 72 142 L 40 97 C 40 97 40 96 40 95 L 72 50 C 72 50 73 50 73 50 L 105 95 C 105 95 105 96 105 97 L 74 142 C 73 142 73 142 73 142 Z" class=" stroke-B1 fill-N4" style="stroke-width:2;" /></g><text x="73.000000" y="101.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">bb</text></g><g id="cc.dd"><g class="shape" ><ellipse rx="38.500000" ry="38.500000" cx="244.500000" cy="96.500000" class="shape stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="244.500000" y="102.000000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">dd</text></g><mask id="d2-2175518901" maskUnits="userSpaceOnUse" x="-1" y="-41" width="325" height="234">
<rect x="-1" y="-41" width="325" height="234" fill="white"></rect>
<rect x="59.500000" y="-41.000000" width="27" height="36" fill="rgba(0,0,0,0.75)"></rect>
<rect x="231.500000" y="-41.000000" width="25" height="36" fill="rgba(0,0,0,0.75)"></rect>
<rect x="232.000000" y="-41.000000" width="25" height="36" fill="rgba(0,0,0,0.75)"></rect>
<rect x="64.000000" y="85.500000" width="18" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="234.500000" y="85.500000" width="19" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="235.000000" y="86.000000" width="19" height="21" fill="rgba(0,0,0,0.75)"></rect>
</mask></svg></svg>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -8,7 +8,7 @@
"type": "package",
"pos": {
"x": 12,
"y": 17
"y": 18
},
"width": 166,
"height": 234,
@ -49,7 +49,7 @@
"type": "diamond",
"pos": {
"x": 62,
"y": 109
"y": 110
},
"width": 66,
"height": 92,
@ -92,8 +92,8 @@
"x": 198,
"y": 12
},
"width": 176,
"height": 244,
"width": 177,
"height": 247,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -131,10 +131,10 @@
"type": "oval",
"pos": {
"x": 248,
"y": 119
"y": 120
},
"width": 76,
"height": 76,
"width": 77,
"height": 77,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,

View file

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 364 246"><svg id="d2-svg" class="d2-384993329" width="364" height="246" viewBox="11 11 364 246"><rect x="11.000000" y="11.000000" width="364.000000" height="246.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-384993329 .text {
font-family: "d2-384993329-font-regular";
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.6.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 365 249"><svg id="d2-svg" class="d2-1759373644" width="365" height="249" viewBox="11 11 365 249"><rect x="11.000000" y="11.000000" width="365.000000" height="249.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1759373644 .text {
font-family: "d2-1759373644-font-regular";
}
@font-face {
font-family: d2-384993329-font-regular;
font-family: d2-1759373644-font-regular;
src: url("data:application/font-woff;base64,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");
}
.d2-384993329 .text-bold {
font-family: "d2-384993329-font-bold";
.d2-1759373644 .text-bold {
font-family: "d2-1759373644-font-bold";
}
@font-face {
font-family: d2-384993329-font-bold;
font-family: d2-1759373644-font-bold;
src: url("data:application/font-woff;base64,d09GRgABAAAAAAdEAAoAAAAADBQAAguFAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgXxHXrmNtYXAAAAFUAAAANgAAADYAEACnZ2x5ZgAAAYwAAAHTAAAB6CtRtZRoZWFkAAADYAAAADYAAAA2G38e1GhoZWEAAAOYAAAAJAAAACQKfwXEaG10eAAAA7wAAAAUAAAAFAsOAQZsb2NhAAAD0AAAAAwAAAAMASYBtm1heHAAAAPcAAAAIAAAACAAHQD3bmFtZQAAA/wAAAMoAAAIKgjwVkFwb3N0AAAHJAAAAB0AAAAg/9EAMgADAioCvAAFAAACigJYAAAASwKKAlgAAAFeADIBKQAAAgsHAwMEAwICBGAAAvcAAAADAAAAAAAAAABBREJPACAAIP//Au7/BgAAA9gBESAAAZ8AAAAAAfAClAAAACAAAwAAAAEAAwABAAAADAAEACoAAAAEAAQAAQAAAGT//wAAAGH///+gAAEAAAAAAAEAAgADAAQAAAAAeJxM0M1uElEcBfD/vZ3eUUJKYL6RcYa5MNdptSjDzJhCSwlQNBka1NiSaBxl4UZjY2sNdW3cGFd04cqVLkx8AZvgC3TrI/gEhriiYCCa9AXO75wDi9ABwD18DAtwERKQAgnATWaTeZcxygduEFBlIWAoyXdwavLlM3M4x+GWzY/GmyhC7Uf4+Oz5g3av9ycqlyefvp9MPqCDEwAMy9MR+onGoAEFUCzbK/mBbVOL8Mz33aIsJSmjhARFP/AIkUT5R6PzdoCpY2zmvMKztehpP8YZrQtaXtiuGPHd6nY3kWWq9ETPvdif/HIzdF8RdmMruqrAzKtNR1jGQxDBAFi0bEZ5mnQlfo7JkkgIK/peiVq8JMuoma3rXPxgwOkNq9ItVKKu7e9cdcQr8azp4eG3MK1vvAzvH1X7W+G7a6epJQBAkJuO0BCNIT0XZpNm4Qo/myWJslv0A4UQpDX3ardeN1ZbmSY1vWr1uroqrOV34uuHd++9Wr+sRHpY22xLicfmJZh3Z9MRGuMhCGD+/2oezDz33Ev2P+b3w71yVHJuamTQj3HpLayylLAiUr8Qf39053Ajo4Zfz+o30rQvaqeppXrrdvMvAAAA//8BAAD//+K9Z3sAAAEAAAACC4UakGRnXw889QABA+gAAAAA2F2ghAAAAADdZi82/jf+xAhtA/EAAQADAAIAAAAAAAAAAQAAA9j+7wAACJj+N/43CG0AAQAAAAAAAAAAAAAAAAAAAAUCsgBQAg8AKgI9AEEB0wAkAj0AJwAAACwAZACWAMIA9AABAAAABQCQAAwAYwAHAAEAAAAAAAAAAAAAAAAABAADeJyclM9uG1UUxn9ObNMKwQJFVbqJ7oJFkejYVEnVNiuH1IpFFAePC0JCSBPP+I8ynhl5Jg7hCVjzFrxFVzwEz4FYo/l87NgF0SaKknx37vnznXO+c4Ed/mabSvUh8Ec9MVxhr35ueIsH9RPD27TrW4arPKn9abhGWJsbrvN5rWf4I95WfzP8gP3qT4YfslttG/6YZ9Udw59sO/4y/Cn7vF3gCrzgV8MVdskMb7HDj4a3eYTFrFR5RNNwjc/YM1xnD+gzoSBmQsIIx5AJI66YEZHjEzFjwpCIEEeHFjGFviYEQo7Rf34N8CmYESjimAJHjE9MQM7YIv4ir5RzZRzqNLO7FgVjAi7kcUlAgiNlREpCxKXiFBRkvKJBg5yB+GYU5HjkTIjxSJkxokGXNqf0GTMhx9FWpJKZT8qQgmsC5XdmUXZmQERCbqyuSAjF04lfJO8Opzi6ZLJdj3y6EeFLHN/Ju+SWyvYrPP26NWabeZdsAubqZ6yuxLq51gTHui3ztvhWuOAV7l792WTy/h6F+l8o8gVXmn+oSSVikuDcLi18Kch3j3Ec6dzBV0e+p0OfE7q8oa9zix49WpzRp8Nr+Xbp4fiaLmccy6MjvLhrSzFn/IDjGzqyKWNH1p/FxCJ+JjN15+I4Ux1TMvW8ZO6p1kgV3n3C5Q6lG+rI5TPQHpWWTvNLtGcBI1NFJoZT9XKpjdz6F5oipqqlnO3tfbkNc9u95RbfkGqHS7UuOJWTWzB631S9dzRzrR+PgJCUC1kMSJnSoOBGvM8JuCLGcazunWhLClornzLPjVQSMRWDDonizMj0NzDd+MZ9sKF7Z29JKP+S6eWqqvtkcerV7YzeqHvLO9+6HK1NoGFTTdfUNBDXxLQfaafW+fvyzfW6pTzliJSY8F8vwDM8muxzwCFjZRjoZm6vQ1MvRJOXHKr6SyJZDaXnyCIc4PGcAw54yfN3+rhk4oyLW3FZz93imCO6HH5QFQv7Lke8Xn37/6y/i2lTtTierk4v7j3FJ3dQ6xfas9v3sqeJlZOYW7TbrTgjYFpycbvrNbnHeP8AAAD//wEAAP//9LdPUXicYmBmAIP/5xiMGLAAAAAAAP//AQAA//8vAQIDAAAA");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
@ -25,81 +25,81 @@
opacity: 0.5;
}
.d2-384993329 .fill-N1{fill:#0A0F25;}
.d2-384993329 .fill-N2{fill:#676C7E;}
.d2-384993329 .fill-N3{fill:#9499AB;}
.d2-384993329 .fill-N4{fill:#CFD2DD;}
.d2-384993329 .fill-N5{fill:#DEE1EB;}
.d2-384993329 .fill-N6{fill:#EEF1F8;}
.d2-384993329 .fill-N7{fill:#FFFFFF;}
.d2-384993329 .fill-B1{fill:#0D32B2;}
.d2-384993329 .fill-B2{fill:#0D32B2;}
.d2-384993329 .fill-B3{fill:#E3E9FD;}
.d2-384993329 .fill-B4{fill:#E3E9FD;}
.d2-384993329 .fill-B5{fill:#EDF0FD;}
.d2-384993329 .fill-B6{fill:#F7F8FE;}
.d2-384993329 .fill-AA2{fill:#4A6FF3;}
.d2-384993329 .fill-AA4{fill:#EDF0FD;}
.d2-384993329 .fill-AA5{fill:#F7F8FE;}
.d2-384993329 .fill-AB4{fill:#EDF0FD;}
.d2-384993329 .fill-AB5{fill:#F7F8FE;}
.d2-384993329 .stroke-N1{stroke:#0A0F25;}
.d2-384993329 .stroke-N2{stroke:#676C7E;}
.d2-384993329 .stroke-N3{stroke:#9499AB;}
.d2-384993329 .stroke-N4{stroke:#CFD2DD;}
.d2-384993329 .stroke-N5{stroke:#DEE1EB;}
.d2-384993329 .stroke-N6{stroke:#EEF1F8;}
.d2-384993329 .stroke-N7{stroke:#FFFFFF;}
.d2-384993329 .stroke-B1{stroke:#0D32B2;}
.d2-384993329 .stroke-B2{stroke:#0D32B2;}
.d2-384993329 .stroke-B3{stroke:#E3E9FD;}
.d2-384993329 .stroke-B4{stroke:#E3E9FD;}
.d2-384993329 .stroke-B5{stroke:#EDF0FD;}
.d2-384993329 .stroke-B6{stroke:#F7F8FE;}
.d2-384993329 .stroke-AA2{stroke:#4A6FF3;}
.d2-384993329 .stroke-AA4{stroke:#EDF0FD;}
.d2-384993329 .stroke-AA5{stroke:#F7F8FE;}
.d2-384993329 .stroke-AB4{stroke:#EDF0FD;}
.d2-384993329 .stroke-AB5{stroke:#F7F8FE;}
.d2-384993329 .background-color-N1{background-color:#0A0F25;}
.d2-384993329 .background-color-N2{background-color:#676C7E;}
.d2-384993329 .background-color-N3{background-color:#9499AB;}
.d2-384993329 .background-color-N4{background-color:#CFD2DD;}
.d2-384993329 .background-color-N5{background-color:#DEE1EB;}
.d2-384993329 .background-color-N6{background-color:#EEF1F8;}
.d2-384993329 .background-color-N7{background-color:#FFFFFF;}
.d2-384993329 .background-color-B1{background-color:#0D32B2;}
.d2-384993329 .background-color-B2{background-color:#0D32B2;}
.d2-384993329 .background-color-B3{background-color:#E3E9FD;}
.d2-384993329 .background-color-B4{background-color:#E3E9FD;}
.d2-384993329 .background-color-B5{background-color:#EDF0FD;}
.d2-384993329 .background-color-B6{background-color:#F7F8FE;}
.d2-384993329 .background-color-AA2{background-color:#4A6FF3;}
.d2-384993329 .background-color-AA4{background-color:#EDF0FD;}
.d2-384993329 .background-color-AA5{background-color:#F7F8FE;}
.d2-384993329 .background-color-AB4{background-color:#EDF0FD;}
.d2-384993329 .background-color-AB5{background-color:#F7F8FE;}
.d2-384993329 .color-N1{color:#0A0F25;}
.d2-384993329 .color-N2{color:#676C7E;}
.d2-384993329 .color-N3{color:#9499AB;}
.d2-384993329 .color-N4{color:#CFD2DD;}
.d2-384993329 .color-N5{color:#DEE1EB;}
.d2-384993329 .color-N6{color:#EEF1F8;}
.d2-384993329 .color-N7{color:#FFFFFF;}
.d2-384993329 .color-B1{color:#0D32B2;}
.d2-384993329 .color-B2{color:#0D32B2;}
.d2-384993329 .color-B3{color:#E3E9FD;}
.d2-384993329 .color-B4{color:#E3E9FD;}
.d2-384993329 .color-B5{color:#EDF0FD;}
.d2-384993329 .color-B6{color:#F7F8FE;}
.d2-384993329 .color-AA2{color:#4A6FF3;}
.d2-384993329 .color-AA4{color:#EDF0FD;}
.d2-384993329 .color-AA5{color:#F7F8FE;}
.d2-384993329 .color-AB4{color:#EDF0FD;}
.d2-384993329 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="aa"><g class="shape" ><path d="M 12 17 L 95 17 L 95 64 L 178 64 L 178 251 L 12 251 Z" class=" stroke-B1 fill-AA4" style="stroke-width:2;" /></g><text x="95.000000" y="96.800000" class="text fill-N1" style="text-anchor:middle;font-size:28px">aa</text></g><g id="cc"><g class="shape" ><path d="M 286 256 C 285 256 285 256 284 255 L 199 136 C 198 135 198 133 199 132 L 284 13 C 285 12 286 12 287 13 L 373 132 C 374 133 374 135 373 136 L 288 255 C 287 256 287 256 286 256 Z" class=" stroke-B1 fill-N4" style="stroke-width:2;" /></g><text x="286.000000" y="106.000000" class="text fill-N1" style="text-anchor:middle;font-size:28px">cc</text></g><g id="aa.bb"><g class="shape" ><path d="M 95 201 C 95 201 95 201 94 201 L 62 156 C 62 156 62 155 62 154 L 94 109 C 94 109 95 109 95 109 L 127 154 C 127 154 127 155 127 156 L 96 201 C 95 201 95 201 95 201 Z" class=" stroke-B1 fill-N4" style="stroke-width:2;" /></g><text x="95.000000" y="160.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">bb</text></g><g id="cc.dd"><g class="shape" ><ellipse rx="38.000000" ry="38.000000" cx="286.000000" cy="157.000000" class="shape stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="286.000000" y="162.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">dd</text></g><mask id="d2-384993329" maskUnits="userSpaceOnUse" x="11" y="11" width="364" height="246">
<rect x="11" y="11" width="364" height="246" fill="white"></rect>
<rect x="81.500000" y="68.800000" width="27" height="36" fill="rgba(0,0,0,0.75)"></rect>
<rect x="273.500000" y="78.000000" width="25" height="36" fill="rgba(0,0,0,0.75)"></rect>
<rect x="86.000000" y="144.500000" width="18" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="276.500000" y="146.500000" width="19" height="21" fill="rgba(0,0,0,0.75)"></rect>
.d2-1759373644 .fill-N1{fill:#0A0F25;}
.d2-1759373644 .fill-N2{fill:#676C7E;}
.d2-1759373644 .fill-N3{fill:#9499AB;}
.d2-1759373644 .fill-N4{fill:#CFD2DD;}
.d2-1759373644 .fill-N5{fill:#DEE1EB;}
.d2-1759373644 .fill-N6{fill:#EEF1F8;}
.d2-1759373644 .fill-N7{fill:#FFFFFF;}
.d2-1759373644 .fill-B1{fill:#0D32B2;}
.d2-1759373644 .fill-B2{fill:#0D32B2;}
.d2-1759373644 .fill-B3{fill:#E3E9FD;}
.d2-1759373644 .fill-B4{fill:#E3E9FD;}
.d2-1759373644 .fill-B5{fill:#EDF0FD;}
.d2-1759373644 .fill-B6{fill:#F7F8FE;}
.d2-1759373644 .fill-AA2{fill:#4A6FF3;}
.d2-1759373644 .fill-AA4{fill:#EDF0FD;}
.d2-1759373644 .fill-AA5{fill:#F7F8FE;}
.d2-1759373644 .fill-AB4{fill:#EDF0FD;}
.d2-1759373644 .fill-AB5{fill:#F7F8FE;}
.d2-1759373644 .stroke-N1{stroke:#0A0F25;}
.d2-1759373644 .stroke-N2{stroke:#676C7E;}
.d2-1759373644 .stroke-N3{stroke:#9499AB;}
.d2-1759373644 .stroke-N4{stroke:#CFD2DD;}
.d2-1759373644 .stroke-N5{stroke:#DEE1EB;}
.d2-1759373644 .stroke-N6{stroke:#EEF1F8;}
.d2-1759373644 .stroke-N7{stroke:#FFFFFF;}
.d2-1759373644 .stroke-B1{stroke:#0D32B2;}
.d2-1759373644 .stroke-B2{stroke:#0D32B2;}
.d2-1759373644 .stroke-B3{stroke:#E3E9FD;}
.d2-1759373644 .stroke-B4{stroke:#E3E9FD;}
.d2-1759373644 .stroke-B5{stroke:#EDF0FD;}
.d2-1759373644 .stroke-B6{stroke:#F7F8FE;}
.d2-1759373644 .stroke-AA2{stroke:#4A6FF3;}
.d2-1759373644 .stroke-AA4{stroke:#EDF0FD;}
.d2-1759373644 .stroke-AA5{stroke:#F7F8FE;}
.d2-1759373644 .stroke-AB4{stroke:#EDF0FD;}
.d2-1759373644 .stroke-AB5{stroke:#F7F8FE;}
.d2-1759373644 .background-color-N1{background-color:#0A0F25;}
.d2-1759373644 .background-color-N2{background-color:#676C7E;}
.d2-1759373644 .background-color-N3{background-color:#9499AB;}
.d2-1759373644 .background-color-N4{background-color:#CFD2DD;}
.d2-1759373644 .background-color-N5{background-color:#DEE1EB;}
.d2-1759373644 .background-color-N6{background-color:#EEF1F8;}
.d2-1759373644 .background-color-N7{background-color:#FFFFFF;}
.d2-1759373644 .background-color-B1{background-color:#0D32B2;}
.d2-1759373644 .background-color-B2{background-color:#0D32B2;}
.d2-1759373644 .background-color-B3{background-color:#E3E9FD;}
.d2-1759373644 .background-color-B4{background-color:#E3E9FD;}
.d2-1759373644 .background-color-B5{background-color:#EDF0FD;}
.d2-1759373644 .background-color-B6{background-color:#F7F8FE;}
.d2-1759373644 .background-color-AA2{background-color:#4A6FF3;}
.d2-1759373644 .background-color-AA4{background-color:#EDF0FD;}
.d2-1759373644 .background-color-AA5{background-color:#F7F8FE;}
.d2-1759373644 .background-color-AB4{background-color:#EDF0FD;}
.d2-1759373644 .background-color-AB5{background-color:#F7F8FE;}
.d2-1759373644 .color-N1{color:#0A0F25;}
.d2-1759373644 .color-N2{color:#676C7E;}
.d2-1759373644 .color-N3{color:#9499AB;}
.d2-1759373644 .color-N4{color:#CFD2DD;}
.d2-1759373644 .color-N5{color:#DEE1EB;}
.d2-1759373644 .color-N6{color:#EEF1F8;}
.d2-1759373644 .color-N7{color:#FFFFFF;}
.d2-1759373644 .color-B1{color:#0D32B2;}
.d2-1759373644 .color-B2{color:#0D32B2;}
.d2-1759373644 .color-B3{color:#E3E9FD;}
.d2-1759373644 .color-B4{color:#E3E9FD;}
.d2-1759373644 .color-B5{color:#EDF0FD;}
.d2-1759373644 .color-B6{color:#F7F8FE;}
.d2-1759373644 .color-AA2{color:#4A6FF3;}
.d2-1759373644 .color-AA4{color:#EDF0FD;}
.d2-1759373644 .color-AA5{color:#F7F8FE;}
.d2-1759373644 .color-AB4{color:#EDF0FD;}
.d2-1759373644 .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);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="aa"><g class="shape" ><path d="M 12 18 L 95 18 L 95 65 L 178 65 L 178 252 L 12 252 Z" class=" stroke-B1 fill-AA4" style="stroke-width:2;" /></g><text x="95.000000" y="97.800000" class="text fill-N1" style="text-anchor:middle;font-size:28px">aa</text></g><g id="cc"><g class="shape" ><path d="M 287 259 C 286 259 286 259 285 258 L 199 138 C 198 137 198 135 199 134 L 285 13 C 286 12 287 12 288 13 L 374 133 C 375 134 375 136 374 137 L 288 258 C 288 259 287 259 287 259 Z" class=" stroke-B1 fill-N4" style="stroke-width:2;" /></g><text x="286.500000" y="106.750000" class="text fill-N1" style="text-anchor:middle;font-size:28px">cc</text></g><g id="aa.bb"><g class="shape" ><path d="M 95 202 C 95 202 95 202 94 202 L 62 157 C 62 157 62 156 62 155 L 94 110 C 94 110 95 110 95 110 L 127 155 C 127 155 127 156 127 157 L 96 202 C 95 202 95 202 95 202 Z" class=" stroke-B1 fill-N4" style="stroke-width:2;" /></g><text x="95.000000" y="161.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">bb</text></g><g id="cc.dd"><g class="shape" ><ellipse rx="38.500000" ry="38.500000" cx="286.500000" cy="158.500000" class="shape stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="286.500000" y="164.000000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">dd</text></g><mask id="d2-1759373644" maskUnits="userSpaceOnUse" x="11" y="11" width="365" height="249">
<rect x="11" y="11" width="365" height="249" fill="white"></rect>
<rect x="81.500000" y="69.800000" width="27" height="36" fill="rgba(0,0,0,0.75)"></rect>
<rect x="274.000000" y="78.750000" width="25" height="36" fill="rgba(0,0,0,0.75)"></rect>
<rect x="86.000000" y="145.500000" width="18" height="21" fill="rgba(0,0,0,0.75)"></rect>
<rect x="277.000000" y="148.000000" width="19" height="21" fill="rgba(0,0,0,0.75)"></rect>
</mask></svg></svg>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View file

@ -48,11 +48,11 @@
"id": "b",
"type": "oval",
"pos": {
"x": 259,
"y": 135
"x": 258,
"y": 133
},
"width": 101,
"height": 101,
"width": 103,
"height": 103,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -89,7 +89,7 @@
"id": "c",
"type": "class",
"pos": {
"x": 400,
"x": 401,
"y": 52
},
"width": 302,
@ -144,7 +144,7 @@
"id": "d",
"type": "cloud",
"pos": {
"x": 742,
"x": 743,
"y": 152
},
"width": 140,
@ -167,6 +167,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 4.253649635036496,
"label": "cloudyyyy",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -185,7 +186,7 @@
"id": "e",
"type": "code",
"pos": {
"x": 922,
"x": 923,
"y": 158
},
"width": 199,
@ -226,7 +227,7 @@
"id": "f",
"type": "cylinder",
"pos": {
"x": 1143,
"x": 1144,
"y": 118
},
"width": 100,
@ -267,7 +268,7 @@
"id": "g",
"type": "diamond",
"pos": {
"x": 1293,
"x": 1294,
"y": 144
},
"width": 100,
@ -308,7 +309,7 @@
"id": "h",
"type": "document",
"pos": {
"x": 1443,
"x": 1444,
"y": 160
},
"width": 100,
@ -349,7 +350,7 @@
"id": "i",
"type": "hexagon",
"pos": {
"x": 1583,
"x": 1584,
"y": 167
},
"width": 146,
@ -390,7 +391,7 @@
"id": "j",
"type": "image",
"pos": {
"x": 1769,
"x": 1770,
"y": 87
},
"width": 128,
@ -443,7 +444,7 @@
"id": "k",
"type": "oval",
"pos": {
"x": 1935,
"x": 1936,
"y": 163
},
"width": 100,
@ -484,7 +485,7 @@
"id": "l",
"type": "package",
"pos": {
"x": 2085,
"x": 2086,
"y": 163
},
"width": 100,
@ -525,7 +526,7 @@
"id": "m",
"type": "page",
"pos": {
"x": 2229,
"x": 2230,
"y": 149
},
"width": 113,
@ -566,7 +567,7 @@
"id": "n",
"type": "parallelogram",
"pos": {
"x": 2382,
"x": 2383,
"y": 154
},
"width": 169,
@ -607,7 +608,7 @@
"id": "o",
"type": "person",
"pos": {
"x": 2571,
"x": 2572,
"y": 64
},
"width": 100,
@ -648,7 +649,7 @@
"id": "p",
"type": "queue",
"pos": {
"x": 2711,
"x": 2712,
"y": 170
},
"width": 151,
@ -689,7 +690,7 @@
"id": "q",
"type": "rectangle",
"pos": {
"x": 2902,
"x": 2903,
"y": 133
},
"width": 103,
@ -730,7 +731,7 @@
"id": "r",
"type": "step",
"pos": {
"x": 3045,
"x": 3046,
"y": 135
},
"width": 187,
@ -771,7 +772,7 @@
"id": "s",
"type": "stored_data",
"pos": {
"x": 3270,
"x": 3271,
"y": 170
},
"width": 100,
@ -812,7 +813,7 @@
"id": "t",
"type": "sql_table",
"pos": {
"x": 3410,
"x": 3411,
"y": 128
},
"width": 161,
@ -1002,7 +1003,7 @@
"y": 376
},
{
"x": 551,
"x": 552,
"y": 376
}
],
@ -1036,11 +1037,11 @@
"labelPercentage": 0,
"route": [
{
"x": 551,
"x": 552,
"y": 446
},
{
"x": 812,
"x": 813,
"y": 446
}
],
@ -1074,11 +1075,11 @@
"labelPercentage": 0,
"route": [
{
"x": 812,
"x": 813,
"y": 516
},
{
"x": 1021.5,
"x": 1022.5,
"y": 516
}
],
@ -1112,11 +1113,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1021.5,
"x": 1022.5,
"y": 586
},
{
"x": 1193,
"x": 1194,
"y": 586
}
],
@ -1150,11 +1151,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1193,
"x": 1194,
"y": 656
},
{
"x": 1343,
"x": 1344,
"y": 656
}
],
@ -1188,11 +1189,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1343,
"x": 1344,
"y": 726
},
{
"x": 1493,
"x": 1494,
"y": 726
}
],
@ -1226,11 +1227,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1493,
"x": 1494,
"y": 796
},
{
"x": 1656,
"x": 1657,
"y": 796
}
],
@ -1264,11 +1265,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1656,
"x": 1657,
"y": 866
},
{
"x": 1833,
"x": 1834,
"y": 866
}
],
@ -1302,11 +1303,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1833,
"x": 1834,
"y": 936
},
{
"x": 1985,
"x": 1986,
"y": 936
}
],
@ -1340,11 +1341,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1985,
"x": 1986,
"y": 1006
},
{
"x": 2135,
"x": 2136,
"y": 1006
}
],
@ -1378,11 +1379,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2135,
"x": 2136,
"y": 1076
},
{
"x": 2285.5,
"x": 2286.5,
"y": 1076
}
],
@ -1416,11 +1417,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2285.5,
"x": 2286.5,
"y": 1146
},
{
"x": 2466.5,
"x": 2467.5,
"y": 1146
}
],
@ -1454,11 +1455,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2466.5,
"x": 2467.5,
"y": 1216
},
{
"x": 2621,
"x": 2622,
"y": 1216
}
],
@ -1492,11 +1493,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2621,
"x": 2622,
"y": 1286
},
{
"x": 2786.5,
"x": 2787.5,
"y": 1286
}
],
@ -1530,11 +1531,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2786.5,
"x": 2787.5,
"y": 1356
},
{
"x": 2953.5,
"x": 2954.5,
"y": 1356
}
],
@ -1568,11 +1569,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2953.5,
"x": 2954.5,
"y": 1426
},
{
"x": 3138.5,
"x": 3139.5,
"y": 1426
}
],
@ -1606,11 +1607,11 @@
"labelPercentage": 0,
"route": [
{
"x": 3138.5,
"x": 3139.5,
"y": 1496
},
{
"x": 3320,
"x": 3321,
"y": 1496
}
],
@ -1644,11 +1645,11 @@
"labelPercentage": 0,
"route": [
{
"x": 3320,
"x": 3321,
"y": 1566
},
{
"x": 3490.5,
"x": 3491.5,
"y": 1566
}
],
@ -1758,11 +1759,11 @@
"labelPercentage": 0,
"route": [
{
"x": 551,
"x": 552,
"y": 236
},
{
"x": 551,
"x": 552,
"y": 1636
}
],
@ -1796,11 +1797,11 @@
"labelPercentage": 0,
"route": [
{
"x": 812,
"x": 813,
"y": 236
},
{
"x": 812,
"x": 813,
"y": 1636
}
],
@ -1834,11 +1835,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1021.5,
"x": 1022.5,
"y": 236
},
{
"x": 1021.5,
"x": 1022.5,
"y": 1636
}
],
@ -1872,11 +1873,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1193,
"x": 1194,
"y": 236
},
{
"x": 1193,
"x": 1194,
"y": 1636
}
],
@ -1910,11 +1911,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1343,
"x": 1344,
"y": 236
},
{
"x": 1343,
"x": 1344,
"y": 1636
}
],
@ -1948,11 +1949,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1493,
"x": 1494,
"y": 236
},
{
"x": 1493,
"x": 1494,
"y": 1636
}
],
@ -1986,11 +1987,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1656,
"x": 1657,
"y": 236
},
{
"x": 1656,
"x": 1657,
"y": 1636
}
],
@ -2024,11 +2025,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1833,
"x": 1834,
"y": 241
},
{
"x": 1833,
"x": 1834,
"y": 1636
}
],
@ -2062,11 +2063,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1985,
"x": 1986,
"y": 236
},
{
"x": 1985,
"x": 1986,
"y": 1636
}
],
@ -2100,11 +2101,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2135,
"x": 2136,
"y": 236
},
{
"x": 2135,
"x": 2136,
"y": 1636
}
],
@ -2138,11 +2139,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2285.5,
"x": 2286.5,
"y": 236
},
{
"x": 2285.5,
"x": 2286.5,
"y": 1636
}
],
@ -2176,11 +2177,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2466.5,
"x": 2467.5,
"y": 236
},
{
"x": 2466.5,
"x": 2467.5,
"y": 1636
}
],
@ -2214,11 +2215,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2621,
"x": 2622,
"y": 241
},
{
"x": 2621,
"x": 2622,
"y": 1636
}
],
@ -2252,11 +2253,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2786.5,
"x": 2787.5,
"y": 236
},
{
"x": 2786.5,
"x": 2787.5,
"y": 1636
}
],
@ -2290,11 +2291,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2953.5,
"x": 2954.5,
"y": 236
},
{
"x": 2953.5,
"x": 2954.5,
"y": 1636
}
],
@ -2328,11 +2329,11 @@
"labelPercentage": 0,
"route": [
{
"x": 3138.5,
"x": 3139.5,
"y": 236
},
{
"x": 3138.5,
"x": 3139.5,
"y": 1636
}
],
@ -2366,11 +2367,11 @@
"labelPercentage": 0,
"route": [
{
"x": 3320,
"x": 3321,
"y": 236
},
{
"x": 3320,
"x": 3321,
"y": 1636
}
],
@ -2404,11 +2405,11 @@
"labelPercentage": 0,
"route": [
{
"x": 3490.5,
"x": 3491.5,
"y": 236
},
{
"x": 3490.5,
"x": 3491.5,
"y": 1636
}
],

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View file

@ -48,11 +48,11 @@
"id": "b",
"type": "oval",
"pos": {
"x": 259,
"y": 135
"x": 258,
"y": 133
},
"width": 101,
"height": 101,
"width": 103,
"height": 103,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -89,7 +89,7 @@
"id": "c",
"type": "class",
"pos": {
"x": 400,
"x": 401,
"y": 52
},
"width": 302,
@ -144,7 +144,7 @@
"id": "d",
"type": "cloud",
"pos": {
"x": 742,
"x": 743,
"y": 152
},
"width": 140,
@ -167,6 +167,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 4.253649635036496,
"label": "cloudyyyy",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -185,7 +186,7 @@
"id": "e",
"type": "code",
"pos": {
"x": 922,
"x": 923,
"y": 158
},
"width": 199,
@ -226,7 +227,7 @@
"id": "f",
"type": "cylinder",
"pos": {
"x": 1143,
"x": 1144,
"y": 118
},
"width": 100,
@ -267,7 +268,7 @@
"id": "g",
"type": "diamond",
"pos": {
"x": 1293,
"x": 1294,
"y": 144
},
"width": 100,
@ -308,7 +309,7 @@
"id": "h",
"type": "document",
"pos": {
"x": 1443,
"x": 1444,
"y": 160
},
"width": 100,
@ -349,7 +350,7 @@
"id": "i",
"type": "hexagon",
"pos": {
"x": 1583,
"x": 1584,
"y": 167
},
"width": 146,
@ -390,7 +391,7 @@
"id": "j",
"type": "image",
"pos": {
"x": 1769,
"x": 1770,
"y": 87
},
"width": 128,
@ -443,7 +444,7 @@
"id": "k",
"type": "oval",
"pos": {
"x": 1935,
"x": 1936,
"y": 163
},
"width": 100,
@ -484,7 +485,7 @@
"id": "l",
"type": "package",
"pos": {
"x": 2085,
"x": 2086,
"y": 163
},
"width": 100,
@ -525,7 +526,7 @@
"id": "m",
"type": "page",
"pos": {
"x": 2229,
"x": 2230,
"y": 149
},
"width": 113,
@ -566,7 +567,7 @@
"id": "n",
"type": "parallelogram",
"pos": {
"x": 2382,
"x": 2383,
"y": 154
},
"width": 169,
@ -607,7 +608,7 @@
"id": "o",
"type": "person",
"pos": {
"x": 2571,
"x": 2572,
"y": 64
},
"width": 100,
@ -648,7 +649,7 @@
"id": "p",
"type": "queue",
"pos": {
"x": 2711,
"x": 2712,
"y": 170
},
"width": 151,
@ -689,7 +690,7 @@
"id": "q",
"type": "rectangle",
"pos": {
"x": 2902,
"x": 2903,
"y": 133
},
"width": 103,
@ -730,7 +731,7 @@
"id": "r",
"type": "step",
"pos": {
"x": 3045,
"x": 3046,
"y": 135
},
"width": 187,
@ -771,7 +772,7 @@
"id": "s",
"type": "stored_data",
"pos": {
"x": 3270,
"x": 3271,
"y": 170
},
"width": 100,
@ -812,7 +813,7 @@
"id": "t",
"type": "sql_table",
"pos": {
"x": 3410,
"x": 3411,
"y": 128
},
"width": 161,
@ -1002,7 +1003,7 @@
"y": 376
},
{
"x": 551,
"x": 552,
"y": 376
}
],
@ -1036,11 +1037,11 @@
"labelPercentage": 0,
"route": [
{
"x": 551,
"x": 552,
"y": 446
},
{
"x": 812,
"x": 813,
"y": 446
}
],
@ -1074,11 +1075,11 @@
"labelPercentage": 0,
"route": [
{
"x": 812,
"x": 813,
"y": 516
},
{
"x": 1021.5,
"x": 1022.5,
"y": 516
}
],
@ -1112,11 +1113,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1021.5,
"x": 1022.5,
"y": 586
},
{
"x": 1193,
"x": 1194,
"y": 586
}
],
@ -1150,11 +1151,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1193,
"x": 1194,
"y": 656
},
{
"x": 1343,
"x": 1344,
"y": 656
}
],
@ -1188,11 +1189,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1343,
"x": 1344,
"y": 726
},
{
"x": 1493,
"x": 1494,
"y": 726
}
],
@ -1226,11 +1227,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1493,
"x": 1494,
"y": 796
},
{
"x": 1656,
"x": 1657,
"y": 796
}
],
@ -1264,11 +1265,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1656,
"x": 1657,
"y": 866
},
{
"x": 1833,
"x": 1834,
"y": 866
}
],
@ -1302,11 +1303,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1833,
"x": 1834,
"y": 936
},
{
"x": 1985,
"x": 1986,
"y": 936
}
],
@ -1340,11 +1341,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1985,
"x": 1986,
"y": 1006
},
{
"x": 2135,
"x": 2136,
"y": 1006
}
],
@ -1378,11 +1379,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2135,
"x": 2136,
"y": 1076
},
{
"x": 2285.5,
"x": 2286.5,
"y": 1076
}
],
@ -1416,11 +1417,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2285.5,
"x": 2286.5,
"y": 1146
},
{
"x": 2466.5,
"x": 2467.5,
"y": 1146
}
],
@ -1454,11 +1455,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2466.5,
"x": 2467.5,
"y": 1216
},
{
"x": 2621,
"x": 2622,
"y": 1216
}
],
@ -1492,11 +1493,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2621,
"x": 2622,
"y": 1286
},
{
"x": 2786.5,
"x": 2787.5,
"y": 1286
}
],
@ -1530,11 +1531,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2786.5,
"x": 2787.5,
"y": 1356
},
{
"x": 2953.5,
"x": 2954.5,
"y": 1356
}
],
@ -1568,11 +1569,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2953.5,
"x": 2954.5,
"y": 1426
},
{
"x": 3138.5,
"x": 3139.5,
"y": 1426
}
],
@ -1606,11 +1607,11 @@
"labelPercentage": 0,
"route": [
{
"x": 3138.5,
"x": 3139.5,
"y": 1496
},
{
"x": 3320,
"x": 3321,
"y": 1496
}
],
@ -1644,11 +1645,11 @@
"labelPercentage": 0,
"route": [
{
"x": 3320,
"x": 3321,
"y": 1566
},
{
"x": 3490.5,
"x": 3491.5,
"y": 1566
}
],
@ -1758,11 +1759,11 @@
"labelPercentage": 0,
"route": [
{
"x": 551,
"x": 552,
"y": 236
},
{
"x": 551,
"x": 552,
"y": 1636
}
],
@ -1796,11 +1797,11 @@
"labelPercentage": 0,
"route": [
{
"x": 812,
"x": 813,
"y": 236
},
{
"x": 812,
"x": 813,
"y": 1636
}
],
@ -1834,11 +1835,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1021.5,
"x": 1022.5,
"y": 236
},
{
"x": 1021.5,
"x": 1022.5,
"y": 1636
}
],
@ -1872,11 +1873,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1193,
"x": 1194,
"y": 236
},
{
"x": 1193,
"x": 1194,
"y": 1636
}
],
@ -1910,11 +1911,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1343,
"x": 1344,
"y": 236
},
{
"x": 1343,
"x": 1344,
"y": 1636
}
],
@ -1948,11 +1949,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1493,
"x": 1494,
"y": 236
},
{
"x": 1493,
"x": 1494,
"y": 1636
}
],
@ -1986,11 +1987,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1656,
"x": 1657,
"y": 236
},
{
"x": 1656,
"x": 1657,
"y": 1636
}
],
@ -2024,11 +2025,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1833,
"x": 1834,
"y": 241
},
{
"x": 1833,
"x": 1834,
"y": 1636
}
],
@ -2062,11 +2063,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1985,
"x": 1986,
"y": 236
},
{
"x": 1985,
"x": 1986,
"y": 1636
}
],
@ -2100,11 +2101,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2135,
"x": 2136,
"y": 236
},
{
"x": 2135,
"x": 2136,
"y": 1636
}
],
@ -2138,11 +2139,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2285.5,
"x": 2286.5,
"y": 236
},
{
"x": 2285.5,
"x": 2286.5,
"y": 1636
}
],
@ -2176,11 +2177,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2466.5,
"x": 2467.5,
"y": 236
},
{
"x": 2466.5,
"x": 2467.5,
"y": 1636
}
],
@ -2214,11 +2215,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2621,
"x": 2622,
"y": 241
},
{
"x": 2621,
"x": 2622,
"y": 1636
}
],
@ -2252,11 +2253,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2786.5,
"x": 2787.5,
"y": 236
},
{
"x": 2786.5,
"x": 2787.5,
"y": 1636
}
],
@ -2290,11 +2291,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2953.5,
"x": 2954.5,
"y": 236
},
{
"x": 2953.5,
"x": 2954.5,
"y": 1636
}
],
@ -2328,11 +2329,11 @@
"labelPercentage": 0,
"route": [
{
"x": 3138.5,
"x": 3139.5,
"y": 236
},
{
"x": 3138.5,
"x": 3139.5,
"y": 1636
}
],
@ -2366,11 +2367,11 @@
"labelPercentage": 0,
"route": [
{
"x": 3320,
"x": 3321,
"y": 236
},
{
"x": 3320,
"x": 3321,
"y": 1636
}
],
@ -2404,11 +2405,11 @@
"labelPercentage": 0,
"route": [
{
"x": 3490.5,
"x": 3491.5,
"y": 236
},
{
"x": 3490.5,
"x": 3491.5,
"y": 1636
}
],

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -8,10 +8,10 @@
"type": "rectangle",
"pos": {
"x": 0,
"y": 224
"y": 194
},
"width": 272,
"height": 461,
"width": 302,
"height": 520,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -47,7 +47,7 @@
"id": "via",
"type": "rectangle",
"pos": {
"x": 543,
"x": 573,
"y": 149
},
"width": 236,
@ -87,7 +87,7 @@
"id": "teleport",
"type": "rectangle",
"pos": {
"x": 1050,
"x": 1080,
"y": 303
},
"width": 473,
@ -128,7 +128,7 @@
"id": "jita",
"type": "rectangle",
"pos": {
"x": 2025,
"x": 2055,
"y": 0
},
"width": 820,
@ -169,7 +169,7 @@
"id": "infra",
"type": "rectangle",
"pos": {
"x": 2144,
"x": 2174,
"y": 272
},
"width": 582,
@ -210,7 +210,7 @@
"id": "identity provider",
"type": "rectangle",
"pos": {
"x": 2335,
"x": 2365,
"y": 676
},
"width": 201,
@ -264,10 +264,10 @@
"type": "oval",
"pos": {
"x": 60,
"y": 284
"y": 254
},
"width": 152,
"height": 152,
"width": 182,
"height": 182,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -319,8 +319,8 @@
"x": 60,
"y": 476
},
"width": 152,
"height": 149,
"width": 182,
"height": 178,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -369,7 +369,7 @@
"id": "via.https",
"type": "rectangle",
"pos": {
"x": 603,
"x": 633,
"y": 209
},
"width": 116,
@ -410,7 +410,7 @@
"id": "via.kubectl",
"type": "rectangle",
"pos": {
"x": 603,
"x": 633,
"y": 315
},
"width": 116,
@ -451,7 +451,7 @@
"id": "via.tsh",
"type": "rectangle",
"pos": {
"x": 603,
"x": 633,
"y": 421
},
"width": 116,
@ -492,7 +492,7 @@
"id": "via.api",
"type": "rectangle",
"pos": {
"x": 603,
"x": 633,
"y": 527
},
"width": 116,
@ -533,7 +533,7 @@
"id": "via.db clients",
"type": "rectangle",
"pos": {
"x": 603,
"x": 633,
"y": 633
},
"width": 116,
@ -574,7 +574,7 @@
"id": "teleport.inp",
"type": "text",
"pos": {
"x": 1110,
"x": 1140,
"y": 363
},
"width": 353,
@ -614,7 +614,7 @@
"id": "teleport.Audit Log",
"type": "rectangle",
"pos": {
"x": 1110,
"x": 1140,
"y": 454
},
"width": 140,
@ -667,7 +667,7 @@
"id": "teleport.Cert Authority",
"type": "rectangle",
"pos": {
"x": 1290,
"x": 1320,
"y": 454
},
"width": 173,
@ -720,7 +720,7 @@
"id": "jita.Slack",
"type": "rectangle",
"pos": {
"x": 2085,
"x": 2115,
"y": 60
},
"width": 110,
@ -773,7 +773,7 @@
"id": "jita.Mattermost",
"type": "rectangle",
"pos": {
"x": 2235,
"x": 2265,
"y": 60
},
"width": 128,
@ -814,7 +814,7 @@
"id": "jita.Jira",
"type": "rectangle",
"pos": {
"x": 2403,
"x": 2433,
"y": 60
},
"width": 72,
@ -855,7 +855,7 @@
"id": "jita.Pagerduty",
"type": "rectangle",
"pos": {
"x": 2515,
"x": 2545,
"y": 60
},
"width": 119,
@ -896,7 +896,7 @@
"id": "jita.Email",
"type": "rectangle",
"pos": {
"x": 2674,
"x": 2704,
"y": 60
},
"width": 111,
@ -949,7 +949,7 @@
"id": "infra.ssh",
"type": "rectangle",
"pos": {
"x": 2204,
"x": 2234,
"y": 332
},
"width": 103,
@ -1002,7 +1002,7 @@
"id": "infra.Kubernetes",
"type": "rectangle",
"pos": {
"x": 2347,
"x": 2377,
"y": 332
},
"width": 152,
@ -1055,7 +1055,7 @@
"id": "infra.My SQL",
"type": "rectangle",
"pos": {
"x": 2539,
"x": 2569,
"y": 332
},
"width": 126,
@ -1108,7 +1108,7 @@
"id": "infra.MongoDB",
"type": "rectangle",
"pos": {
"x": 2204,
"x": 2234,
"y": 464
},
"width": 138,
@ -1161,7 +1161,7 @@
"id": "infra.PSQL",
"type": "rectangle",
"pos": {
"x": 2382,
"x": 2412,
"y": 464
},
"width": 108,
@ -1214,7 +1214,7 @@
"id": "infra.Windows",
"type": "rectangle",
"pos": {
"x": 2530,
"x": 2560,
"y": 464
},
"width": 136,
@ -1290,19 +1290,19 @@
"labelPercentage": 0,
"route": [
{
"x": 271.5,
"x": 301.5,
"y": 454
},
{
"x": 380.29998779296875,
"x": 410.29998779296875,
"y": 454
},
{
"x": 434.70001220703125,
"x": 464.70001220703125,
"y": 454
},
{
"x": 543.5,
"x": 573.5,
"y": 454
}
],
@ -1337,19 +1337,19 @@
"labelPercentage": 0,
"route": [
{
"x": 778.5,
"x": 808.5,
"y": 454
},
{
"x": 887.2999877929688,
"x": 917.2999877929688,
"y": 454
},
{
"x": 941.7000122070312,
"x": 971.7000122070312,
"y": 454
},
{
"x": 1050.5,
"x": 1080.5,
"y": 454
}
],
@ -1384,19 +1384,19 @@
"labelPercentage": 0,
"route": [
{
"x": 1498.72998046875,
"x": 1528.72998046875,
"y": 302.5
},
{
"x": 1718.946044921875,
"x": 1748.946044921875,
"y": 145.2989959716797
},
{
"x": 1824.199951171875,
"x": 1854.199951171875,
"y": 106
},
{
"x": 2025,
"x": 2055,
"y": 106
}
],
@ -1431,19 +1431,19 @@
"labelPercentage": 0,
"route": [
{
"x": 1523,
"x": 1553,
"y": 449
},
{
"x": 1723.800048828125,
"x": 1753.800048828125,
"y": 445
},
{
"x": 1848,
"x": 1878,
"y": 444
},
{
"x": 2144,
"x": 2174,
"y": 444
}
],
@ -1478,19 +1478,19 @@
"labelPercentage": 0,
"route": [
{
"x": 1523,
"x": 1553,
"y": 521
},
{
"x": 1723.800048828125,
"x": 1753.800048828125,
"y": 578.5999755859375
},
{
"x": 1886.0999755859375,
"x": 1916.0999755859375,
"y": 621.0770263671875
},
{
"x": 2334.5,
"x": 2364.5,
"y": 733.385986328125
}
],
@ -1525,19 +1525,19 @@
"labelPercentage": 0,
"route": [
{
"x": 1523,
"x": 1553,
"y": 589
},
{
"x": 1723.800048828125,
"x": 1753.800048828125,
"y": 728.2000122070312
},
{
"x": 1886.0999755859375,
"x": 1916.0999755859375,
"y": 761.3040161132812
},
{
"x": 2334.5,
"x": 2364.5,
"y": 754.52001953125
}
],

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View file

@ -8,10 +8,10 @@
"type": "rectangle",
"pos": {
"x": 12,
"y": 196
"y": 167
},
"width": 272,
"height": 461,
"width": 302,
"height": 520,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -47,7 +47,7 @@
"id": "via",
"type": "rectangle",
"pos": {
"x": 354,
"x": 384,
"y": 122
},
"width": 236,
@ -87,7 +87,7 @@
"id": "teleport",
"type": "rectangle",
"pos": {
"x": 660,
"x": 690,
"y": 275
},
"width": 473,
@ -128,7 +128,7 @@
"id": "jita",
"type": "rectangle",
"pos": {
"x": 1915,
"x": 1945,
"y": 12
},
"width": 820,
@ -169,7 +169,7 @@
"id": "infra",
"type": "rectangle",
"pos": {
"x": 1263,
"x": 1293,
"y": 150
},
"width": 582,
@ -210,7 +210,7 @@
"id": "identity provider",
"type": "rectangle",
"pos": {
"x": 1263,
"x": 1293,
"y": 514
},
"width": 201,
@ -264,10 +264,10 @@
"type": "oval",
"pos": {
"x": 72,
"y": 256
"y": 227
},
"width": 152,
"height": 152,
"width": 182,
"height": 182,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -317,10 +317,10 @@
"type": "oval",
"pos": {
"x": 72,
"y": 448
"y": 449
},
"width": 152,
"height": 149,
"width": 182,
"height": 178,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -369,7 +369,7 @@
"id": "via.https",
"type": "rectangle",
"pos": {
"x": 414,
"x": 444,
"y": 182
},
"width": 116,
@ -410,7 +410,7 @@
"id": "via.kubectl",
"type": "rectangle",
"pos": {
"x": 414,
"x": 444,
"y": 288
},
"width": 116,
@ -451,7 +451,7 @@
"id": "via.tsh",
"type": "rectangle",
"pos": {
"x": 414,
"x": 444,
"y": 394
},
"width": 116,
@ -492,7 +492,7 @@
"id": "via.api",
"type": "rectangle",
"pos": {
"x": 414,
"x": 444,
"y": 500
},
"width": 116,
@ -533,7 +533,7 @@
"id": "via.db clients",
"type": "rectangle",
"pos": {
"x": 414,
"x": 444,
"y": 606
},
"width": 116,
@ -574,7 +574,7 @@
"id": "teleport.inp",
"type": "text",
"pos": {
"x": 720,
"x": 750,
"y": 335
},
"width": 353,
@ -614,7 +614,7 @@
"id": "teleport.Audit Log",
"type": "rectangle",
"pos": {
"x": 720,
"x": 750,
"y": 426
},
"width": 140,
@ -667,7 +667,7 @@
"id": "teleport.Cert Authority",
"type": "rectangle",
"pos": {
"x": 900,
"x": 930,
"y": 426
},
"width": 173,
@ -720,7 +720,7 @@
"id": "jita.Slack",
"type": "rectangle",
"pos": {
"x": 1975,
"x": 2005,
"y": 72
},
"width": 110,
@ -773,7 +773,7 @@
"id": "jita.Mattermost",
"type": "rectangle",
"pos": {
"x": 2125,
"x": 2155,
"y": 72
},
"width": 128,
@ -814,7 +814,7 @@
"id": "jita.Jira",
"type": "rectangle",
"pos": {
"x": 2293,
"x": 2323,
"y": 72
},
"width": 72,
@ -855,7 +855,7 @@
"id": "jita.Pagerduty",
"type": "rectangle",
"pos": {
"x": 2405,
"x": 2435,
"y": 72
},
"width": 119,
@ -896,7 +896,7 @@
"id": "jita.Email",
"type": "rectangle",
"pos": {
"x": 2564,
"x": 2594,
"y": 72
},
"width": 111,
@ -949,7 +949,7 @@
"id": "infra.ssh",
"type": "rectangle",
"pos": {
"x": 1323,
"x": 1353,
"y": 210
},
"width": 103,
@ -1002,7 +1002,7 @@
"id": "infra.Kubernetes",
"type": "rectangle",
"pos": {
"x": 1466,
"x": 1496,
"y": 210
},
"width": 152,
@ -1055,7 +1055,7 @@
"id": "infra.My SQL",
"type": "rectangle",
"pos": {
"x": 1658,
"x": 1688,
"y": 210
},
"width": 126,
@ -1108,7 +1108,7 @@
"id": "infra.MongoDB",
"type": "rectangle",
"pos": {
"x": 1323,
"x": 1353,
"y": 342
},
"width": 138,
@ -1161,7 +1161,7 @@
"id": "infra.PSQL",
"type": "rectangle",
"pos": {
"x": 1501,
"x": 1531,
"y": 342
},
"width": 108,
@ -1214,7 +1214,7 @@
"id": "infra.Windows",
"type": "rectangle",
"pos": {
"x": 1649,
"x": 1679,
"y": 342
},
"width": 136,
@ -1290,11 +1290,11 @@
"labelPercentage": 0,
"route": [
{
"x": 284,
"x": 314,
"y": 427.0329895019531
},
{
"x": 354,
"x": 384,
"y": 427.0329895019531
}
],
@ -1328,11 +1328,11 @@
"labelPercentage": 0,
"route": [
{
"x": 590,
"x": 620,
"y": 427.0329895019531
},
{
"x": 660,
"x": 690,
"y": 427.0329895019531
}
],
@ -1366,19 +1366,19 @@
"labelPercentage": 0,
"route": [
{
"x": 1133,
"x": 1163,
"y": 336.13299560546875
},
{
"x": 1173,
"x": 1203,
"y": 336.13299560546875
},
{
"x": 1173,
"x": 1203,
"y": 118
},
{
"x": 1915,
"x": 1945,
"y": 118
}
],
@ -1412,11 +1412,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1133,
"x": 1163,
"y": 396.7330017089844
},
{
"x": 1263,
"x": 1293,
"y": 396.7330017089844
}
],
@ -1450,19 +1450,19 @@
"labelPercentage": 0,
"route": [
{
"x": 1133,
"x": 1163,
"y": 457.3330078125
},
{
"x": 1223,
"x": 1253,
"y": 457.3330078125
},
{
"x": 1223,
"x": 1253,
"y": 553.3330078125
},
{
"x": 1263,
"x": 1293,
"y": 553.3330078125
}
],
@ -1496,19 +1496,19 @@
"labelPercentage": 0,
"route": [
{
"x": 1133,
"x": 1163,
"y": 517.9329833984375
},
{
"x": 1173,
"x": 1203,
"y": 517.9329833984375
},
{
"x": 1173,
"x": 1203,
"y": 592.666015625
},
{
"x": 1263,
"x": 1293,
"y": 592.666015625
}
],

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View file

@ -71,6 +71,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 7.2903685241231955,
"label": "a container label",
"fontSize": 28,
"fontFamily": "DEFAULT",

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -71,6 +71,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 7.2903685241231955,
"label": "a container label",
"fontSize": 28,
"fontFamily": "DEFAULT",

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -399,6 +399,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.8467153284671527,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View file

@ -10,7 +10,7 @@
"x": 12,
"y": 12
},
"width": 1388,
"width": 1428,
"height": 411,
"opacity": 1,
"strokeDash": 0,
@ -49,10 +49,10 @@
"type": "oval",
"pos": {
"x": 62,
"y": 117
"y": 83
},
"width": 228,
"height": 200,
"width": 268,
"height": 268,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
@ -89,8 +89,8 @@
"id": "containers.circle container.diamond",
"type": "diamond",
"pos": {
"x": 112,
"y": 185
"x": 132,
"y": 206
},
"width": 128,
"height": 64,
@ -130,7 +130,7 @@
"id": "containers.diamond container",
"type": "diamond",
"pos": {
"x": 310,
"x": 350,
"y": 62
},
"width": 414,
@ -171,7 +171,7 @@
"id": "containers.diamond container.circle",
"type": "oval",
"pos": {
"x": 453,
"x": 493,
"y": 174
},
"width": 128,
@ -212,7 +212,7 @@
"id": "containers.oval container",
"type": "oval",
"pos": {
"x": 744,
"x": 784,
"y": 125
},
"width": 266,
@ -253,7 +253,7 @@
"id": "containers.oval container.hexagon",
"type": "hexagon",
"pos": {
"x": 813,
"x": 853,
"y": 195
},
"width": 128,
@ -294,7 +294,7 @@
"id": "containers.hexagon container",
"type": "hexagon",
"pos": {
"x": 1030,
"x": 1070,
"y": 124
},
"width": 320,
@ -335,7 +335,7 @@
"id": "containers.hexagon container.oval",
"type": "oval",
"pos": {
"x": 1126,
"x": 1166,
"y": 197
},
"width": 128,
@ -376,7 +376,7 @@
"id": "cloud",
"type": "cloud",
"pos": {
"x": 1420,
"x": 1460,
"y": 167
},
"width": 512,
@ -399,6 +399,7 @@
"fields": null,
"methods": null,
"columns": null,
"contentAspectRatio": 2.8467153284671527,
"label": "cloud",
"fontSize": 16,
"fontFamily": "DEFAULT",
@ -417,7 +418,7 @@
"id": "tall cylinder",
"type": "cylinder",
"pos": {
"x": 1548,
"x": 1588,
"y": 1363
},
"width": 256,
@ -458,7 +459,7 @@
"id": "class2",
"type": "class",
"pos": {
"x": 1276,
"x": 1316,
"y": 693
},
"width": 800,
@ -533,7 +534,7 @@
"id": "users",
"type": "sql_table",
"pos": {
"x": 1276,
"x": 1316,
"y": 1945
},
"width": 800,
@ -717,7 +718,7 @@
"id": "container",
"type": "rectangle",
"pos": {
"x": 2239,
"x": 2279,
"y": 357
},
"width": 114,
@ -758,7 +759,7 @@
"id": "text",
"type": "text",
"pos": {
"x": 2096,
"x": 2136,
"y": 493
},
"width": 400,
@ -798,7 +799,7 @@
"id": "code",
"type": "code",
"pos": {
"x": 2096,
"x": 2136,
"y": 1469
},
"width": 400,
@ -838,7 +839,7 @@
"id": "small code",
"type": "code",
"pos": {
"x": 2196,
"x": 2236,
"y": 1945
},
"width": 199,
@ -901,11 +902,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1676,
"x": 1716,
"y": 422
},
{
"x": 1676,
"x": 1716,
"y": 693
}
],
@ -939,11 +940,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1676,
"x": 1716,
"y": 1093
},
{
"x": 1676,
"x": 1716,
"y": 1363
}
],
@ -977,11 +978,11 @@
"labelPercentage": 0,
"route": [
{
"x": 1676,
"x": 1716,
"y": 1875
},
{
"x": 1676,
"x": 1716,
"y": 1945
}
],
@ -1015,11 +1016,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2296,
"x": 2336,
"y": 423
},
{
"x": 2296,
"x": 2336,
"y": 493
}
],
@ -1053,11 +1054,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2296,
"x": 2336,
"y": 1293
},
{
"x": 2296,
"x": 2336,
"y": 1469
}
],
@ -1091,11 +1092,11 @@
"labelPercentage": 0,
"route": [
{
"x": 2296,
"x": 2336,
"y": 1769
},
{
"x": 2296,
"x": 2336,
"y": 1945
}
],

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Some files were not shown because too many files have changed in this diff Show more