diff options
author | Jovansonlee Cesar <ivanceras@gmail.com> | 2018-08-02 01:49:09 +0800 |
---|---|---|
committer | Jovansonlee Cesar <ivanceras@gmail.com> | 2018-08-02 01:49:09 +0800 |
commit | 1cfc2804d95eebac927b0ea7a14a15c7ccbb3bf1 (patch) | |
tree | 485967c23b16a27a509a2c5b2f08938df528c489 | |
parent | 0e1b689ac20b9f8cd93033f86e2664a29aa6016d (diff) |
Make workspaces
rerun the demo
-rw-r--r-- | Cargo.lock | 253 | ||||
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | TODO.md | 6 | ||||
-rw-r--r-- | svgbob/examples/demo.svg | 656 |
4 files changed, 534 insertions, 383 deletions
diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..d4e68fe --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,253 @@ +[[package]] +name = "ansi_term" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "atty" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "bitflags" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cc" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cfg-if" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "clap" +version = "2.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "difference" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "handlebars" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", + "pest 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "libc" +version = "0.2.42" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "log" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "log" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "pest" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "pom" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "pretty_assertions" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "difference 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "quick-error" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "redox_syscall" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "redox_termios" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rustc-serialize" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "strsim" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "svg" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "svgbob" +version = "0.2.8" +dependencies = [ + "handlebars 0.21.1 (registry+https://github.com/rust-lang/crates.io-index)", + "pom 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pretty_assertions 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "svg 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", + "sys-info 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "svgbob" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "pom 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "svg 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "svgbob_cli" +version = "0.2.8" +dependencies = [ + "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", + "handlebars 0.21.1 (registry+https://github.com/rust-lang/crates.io-index)", + "svg 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", + "svgbob 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sys-info" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "termion" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "textwrap" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "unicode-width" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "vec_map" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[metadata] +"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" +"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" +"checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" +"checksum cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "2119ea4867bd2b8ed3aecab467709720b2d55b1bcfe09f772fd68066eaf15275" +"checksum cfg-if 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "efe5c877e17a9c717a0bf3613b2709f723202c4e4675cc8f12926ded29bcb17e" +"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e" +"checksum difference 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3304d19798a8e067e48d8e69b2c37f0b5e9b4e462504ad9e27e9f3fce02bba8" +"checksum handlebars 0.21.1 (registry+https://github.com/rust-lang/crates.io-index)" = "937e9d49d65ffb5f70e95710a6c8539addf40200275ad8b6cdba0f0a59d5814d" +"checksum libc 0.2.42 (registry+https://github.com/rust-lang/crates.io-index)" = "b685088df2b950fccadf07a7187c8ef846a959c142338a48f9dc0b94517eb5f1" +"checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" +"checksum log 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "61bd98ae7f7b754bc53dca7d44b604f733c6bba044ea6f41bc8d89272d8161d2" +"checksum pest 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0a6dda33d67c26f0aac90d324ab2eb7239c819fc7b2552fe9faa4fe88441edc8" +"checksum pom 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60f6ce597ecdcc9a098e7fddacb1065093a3d66446fa16c675e7e71d1b5c28e6" +"checksum pretty_assertions 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d510007841e87c7a6d829a36f7f0acb72aef12e38cc89073fe39810c1d976ac" +"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" +"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" +"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" +"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" +"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" +"checksum svg 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "7518a18ac78da03c41ca0611128c6d8adf1efae0773c337d6c19793dce860c9b" +"checksum svgbob 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "e0a04e79a650ad14ceb021dc289e9f14e44d21fa44d9a3e9108243eff7797602" +"checksum sys-info 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "617f594d3869801871433390254b4a79f2a18176d7f4ad5784fa990bc8c12986" +"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" +"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6" +"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526" +"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" +"checksum winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "773ef9dcc5f24b7d850d0ff101e542ff24c3b090a9768e03ff889fdef41f00fd" +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..535b5cb --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,2 @@ +[workspace] +members = ["svgbob", "svgbob_cli"] @@ -2,9 +2,11 @@ - [ ] detect rectangles - [x] detect whether used as text or used as graphs (if any of the 8 has no get character then it is used as text) - [ ] complete the specs -- [ ] Make the string literal escape work multiline +- [ ] ~~Make the string literal escape work multiline~~ Impractical - [x] Make a swap out interface. - useful for detecting broken lines such as - - - and replace it with ~~~~~. This way it will be easier to process by the fragment emitter - [ ] Group traced elements together, then reduce as needed -- [ ] Add `#` as square start marker for lines +- [x] Add `#` as square start marker for lines +- [ ] Support for geometric shapes https://en.wikipedia.org/wiki/Geometric_Shapes +- [ ] Add enhance circle, detect circles then enhance it. diff --git a/svgbob/examples/demo.svg b/svgbob/examples/demo.svg index ebfa5fd..dbc50d6 100644 --- a/svgbob/examples/demo.svg +++ b/svgbob/examples/demo.svg @@ -1,8 +1,20 @@ <svg class="bob" font-family="arial" font-size="14" height="4240" width="688" xmlns="http://www.w3.org/2000/svg"> <defs> -<marker id="triangle" markerHeight="10" markerUnits="strokeWidth" markerWidth="10" orient="auto" refX="15" refY="10" viewBox="0 0 50 20"> +<marker id="triangle" markerHeight="10" markerWidth="10" orient="auto" refX="15" refY="10" viewBox="0 0 50 20"> <path d="M 0 0 L 30 10 L 0 20 z"/> </marker> +<marker id="circle" markerHeight="5" markerWidth="5" refX="10" refY="10" viewBox="0 0 20 20"> +<circle cx="10" cy="10" fill="black" r="8"/> +</marker> +<marker id="square" markerHeight="5" markerWidth="5" refX="10" refY="10" viewBox="0 0 20 20"> +<rect fill="black" height="20" width="20" x="0" y="0"/> +</marker> +<marker id="open_circle" markerHeight="10" markerWidth="10" refX="10" refY="10" viewBox="0 0 20 20"> +<circle cx="10" cy="10" fill="white" r="4" stroke="black" stroke-width="2"/> +</marker> +<marker id="big_open_circle" markerHeight="20" markerWidth="20" refX="20" refY="20" viewBox="0 0 40 40"> +<circle cx="20" cy="20" fill="white" r="6" stroke="black" stroke-width="2"/> +</marker> </defs> <style> @@ -14,7 +26,11 @@ stroke-linecap: round; stroke-linejoin: miter; } - circle { + line.dashed { + stroke-dasharray: 5; + } + circle.solid { + fill:black; stroke: black; stroke-width: 2; stroke-opacity: 1; @@ -22,11 +38,14 @@ stroke-linecap: round; stroke-linejoin: miter; } - circle.solid { - fill:black; - } circle.open { fill:white; + stroke: black; + stroke-width: 2; + stroke-opacity: 1; + fill-opacity: 1; + stroke-linecap: round; + stroke-linejoin: miter; } tspan.head{ fill: none; @@ -35,55 +54,43 @@ </style> <rect fill="white" height="4240" width="688" x="0" y="0"/> -<line x1="0" x2="184" y1="3172" y2="3172"/> -<line x1="0" x2="184" y1="3176" y2="3176"/> +<line x1="0" x2="184" y1="3174" y2="3174"/> +<line x1="0" x2="184" y1="3178" y2="3178"/> <line x1="4" x2="4" y1="3400" y2="3432"/> <line x1="4" x2="92" y1="3400" y2="3400"/> <line x1="4" x2="92" y1="3432" y2="3432"/> <line x1="8" x2="112" y1="3016" y2="3016"/> -<line x1="8" x2="20" y1="3032" y2="3032"/> -<line x1="8" x2="20" y1="3064" y2="3064"/> -<line x1="8" x2="20" y1="3112" y2="3112"/> +<line marker-end="url(#circle)" x1="8" x2="20" y1="3032" y2="3032"/> +<line marker-end="url(#circle)" x1="8" x2="20" y1="3064" y2="3064"/> +<line marker-end="url(#circle)" x1="8" x2="20" y1="3112" y2="3112"/> <line marker-end="url(#triangle)" x1="8" x2="20" y1="3208" y2="3208"/> <line marker-end="url(#triangle)" x1="8" x2="20" y1="3256" y2="3256"/> <line x1="8" x2="10" y1="3360" y2="3364"/> <line x1="10" x2="8" y1="3340" y2="3344"/> -<line marker-end="url(#triangle)" x1="16" x2="28" y1="344" y2="344"/> -<line marker-end="url(#triangle)" x1="16" x2="28" y1="616" y2="616"/> -<line marker-end="url(#triangle)" x1="16" x2="28" y1="760" y2="760"/> -<line marker-end="url(#triangle)" x1="16" x2="28" y1="856" y2="856"/> -<line marker-end="url(#triangle)" x1="16" x2="28" y1="1016" y2="1016"/> -<line marker-end="url(#triangle)" x1="16" x2="28" y1="1320" y2="1320"/> -<line marker-end="url(#triangle)" x1="16" x2="28" y1="1640" y2="1640"/> -<line marker-end="url(#triangle)" x1="16" x2="28" y1="1832" y2="1832"/> -<line marker-end="url(#triangle)" x1="16" x2="28" y1="2344" y2="2344"/> <line x1="16" x2="256" y1="3336" y2="3336"/> <line x1="16" x2="256" y1="3368" y2="3368"/> <line x1="18" x2="6" y1="2988" y2="3012"/> <line x1="24" x2="26" y1="208" y2="212"/> <line x1="24" x2="128" y1="2984" y2="2984"/> <line x1="26" x2="24" y1="188" y2="192"/> -<line x1="32" x2="40" y1="184" y2="184"/> +<line x1="32" x2="44" y1="184" y2="184"/> <line x1="32" x2="40" y1="216" y2="216"/> <line x1="32" x2="34" y1="688" y2="692"/> <line x1="34" x2="32" y1="668" y2="672"/> -<line x1="40" x2="48" y1="664" y2="664"/> +<line x1="40" x2="52" y1="664" y2="664"/> <line x1="40" x2="48" y1="696" y2="696"/> <line x1="46" x2="60" y1="220" y2="248"/> <line x1="52" x2="52" y1="1064" y2="1128"/> -<line x1="52" x2="260" y1="1064" y2="1064"/> -<line x1="52" x2="68" y1="1128" y2="1128"/> -<line x1="52" x2="104" y1="2408" y2="2408"/> -<line x1="52" x2="104" y1="2488" y2="2488"/> +<line marker-end="url(#circle)" x1="52" x2="260" y1="1064" y2="1064"/> +<line marker-end="url(#circle)" x1="52" x2="212" y1="1080" y2="1080"/> +<line marker-end="url(#circle)" x1="52" x2="164" y1="1096" y2="1096"/> +<line marker-end="url(#circle)" x1="52" x2="116" y1="1112" y2="1112"/> +<line marker-end="url(#circle)" x1="52" x2="68" y1="1128" y2="1128"/> <line x1="54" x2="68" y1="700" y2="728"/> -<line x1="56" x2="64" y1="168" y2="168"/> <line x1="56" x2="72" y1="192" y2="224"/> <line x1="56" x2="72" y1="464" y2="432"/> <line x1="56" x2="72" y1="464" y2="496"/> -<line x1="56" x2="212" y1="1080" y2="1080"/> -<line x1="56" x2="164" y1="1096" y2="1096"/> -<line x1="56" x2="116" y1="1112" y2="1112"/> -<line x1="58" x2="36" y1="156" y2="200"/> +<line marker-end="url(#circle)" x1="58" x2="36" y1="156" y2="200"/> <line x1="60" x2="72" y1="248" y2="224"/> <line x1="60" x2="60" y1="376" y2="408"/> <line x1="60" x2="116" y1="376" y2="376"/> @@ -91,41 +98,35 @@ <line x1="64" x2="88" y1="152" y2="152"/> <line x1="64" x2="90" y1="208" y2="156"/> <line x1="64" x2="66" y1="544" y2="548"/> -<line x1="64" x2="72" y1="648" y2="648"/> <line x1="64" x2="80" y1="672" y2="704"/> -<line x1="64" x2="72" y1="2392" y2="2392"/> -<line x1="66" x2="56" y1="172" y2="192"/> <line x1="66" x2="64" y1="524" y2="528"/> -<line x1="66" x2="44" y1="636" y2="680"/> +<line marker-end="url(#circle)" x1="66" x2="44" y1="636" y2="680"/> <line x1="68" x2="80" y1="728" y2="704"/> -<line x1="68" x2="92" y1="1128" y2="1128"/> -<line x1="72" x2="80" y1="168" y2="168"/> +<line marker-end="url(#circle)" marker-start="url(#circle)" x1="68" x2="92" y1="1128" y2="1128"/> <line x1="72" x2="128" y1="432" y2="432"/> <line x1="72" x2="128" y1="496" y2="496"/> <line x1="72" x2="160" y1="520" y2="520"/> <line x1="72" x2="116" y1="552" y2="552"/> <line x1="72" x2="96" y1="632" y2="632"/> <line x1="72" x2="98" y1="688" y2="636"/> -<line x1="74" x2="64" y1="652" y2="672"/> +<line marker-end="url(#triangle)" x1="76" x2="92" y1="184" y2="184"/> <line x1="76" x2="76" y1="1404" y2="1456"/> -<line marker-end="url(#triangle)" x1="80" x2="92" y1="184" y2="184"/> -<line x1="80" x2="88" y1="648" y2="648"/> <line marker-end="url(#triangle)" x1="80" x2="100" y1="1400" y2="1400"/> <line x1="80" x2="136" y1="1456" y2="1456"/> <line x1="80" x2="88" y1="1728" y2="1712"/> -<line x1="84" x2="148" y1="920" y2="920"/> +<line x1="84" x2="104" y1="168" y2="168"/> +<line marker-end="url(#triangle)" x1="84" x2="100" y1="664" y2="664"/> +<line marker-end="url(#circle)" marker-start="url(#circle)" x1="84" x2="148" y1="920" y2="920"/> <line x1="84" x2="84" y1="1696" y2="1712"/> <line x1="84" x2="116" y1="1712" y2="1712"/> -<line x1="88" x2="104" y1="168" y2="168"/> -<line marker-end="url(#triangle)" x1="88" x2="100" y1="664" y2="664"/> +<line x1="88" x2="76" y1="1456" y2="1456"/> <line x1="88" x2="84" y1="1696" y2="1696"/> <line x1="88" x2="116" y1="1696" y2="1696"/> -<line x1="92" x2="116" y1="1128" y2="1128"/> +<line x1="92" x2="112" y1="648" y2="648"/> +<line marker-start="url(#circle)" x1="92" x2="116" y1="1128" y2="1128"/> <line x1="92" x2="92" y1="3400" y2="3432"/> <line x1="92" x2="92" y1="3948" y2="3972"/> -<line x1="96" x2="112" y1="648" y2="648"/> <line x1="96" x2="120" y1="2440" y2="2440"/> -<line x1="96" x2="104" y1="3912" y2="3912"/> <line x1="96" x2="192" y1="3944" y2="3944"/> <line x1="96" x2="192" y1="3976" y2="3976"/> <line x1="100" x2="100" y1="776" y2="792"/> @@ -133,14 +134,12 @@ <line x1="100" x2="100" y1="792" y2="808"/> <line x1="100" x2="116" y1="792" y2="792"/> <line x1="100" x2="116" y1="808" y2="808"/> +<line marker-end="url(#square)" marker-start="url(#square)" x1="100" x2="108" y1="2456" y2="2456"/> <line x1="104" x2="112" y1="1728" y2="1712"/> <line x1="108" x2="108" y1="1388" y2="1396"/> -<line x1="108" x2="108" y1="2412" y2="2432"/> -<line x1="108" x2="108" y1="2464" y2="2484"/> -<line x1="108" x2="108" y1="2492" y2="2512"/> +<line marker-end="url(#square)" marker-start="url(#square)" x1="108" x2="116" y1="2456" y2="2456"/> <line x1="112" x2="120" y1="1384" y2="1384"/> <line x1="112" x2="120" y1="1400" y2="1400"/> -<line x1="112" x2="160" y1="2408" y2="2408"/> <line x1="116" x2="116" y1="376" y2="408"/> <line x1="116" x2="116" y1="552" y2="576"/> <line x1="116" x2="116" y1="776" y2="792"/> @@ -148,7 +147,7 @@ <line x1="116" x2="116" y1="792" y2="808"/> <line x1="116" x2="124" y1="792" y2="792"/> <line x1="116" x2="124" y1="808" y2="808"/> -<line x1="116" x2="140" y1="1112" y2="1112"/> +<line marker-end="url(#circle)" marker-start="url(#circle)" x1="116" x2="140" y1="1112" y2="1112"/> <line x1="116" x2="116" y1="1128" y2="1120"/> <line x1="116" x2="140" y1="1128" y2="1128"/> <line x1="116" x2="116" y1="1696" y2="1712"/> @@ -157,22 +156,28 @@ <line x1="124" x2="124" y1="776" y2="792"/> <line x1="124" x2="124" y1="792" y2="808"/> <line x1="124" x2="124" y1="1388" y2="1396"/> -<line x1="124" x2="124" y1="1696" y2="1728"/> +<line x1="124" x2="124" y1="1696" y2="1712"/> +<line x1="124" x2="128" y1="1696" y2="1696"/> +<line x1="124" x2="124" y1="1712" y2="1728"/> <line x1="128" x2="144" y1="432" y2="464"/> <line x1="128" x2="144" y1="496" y2="464"/> <line x1="128" x2="136" y1="1696" y2="1696"/> -<line x1="128" x2="136" y1="1700" y2="1700"/> -<line x1="128" x2="136" y1="1704" y2="1704"/> +<line x1="128" x2="136" y1="1702" y2="1702"/> +<line x1="128" x2="136" y1="1706" y2="1706"/> <line x1="128" x2="136" y1="1728" y2="1728"/> +<line x1="128" x2="140" y1="1728" y2="1728"/> <line x1="130" x2="120" y1="556" y2="576"/> -<line x1="132" x2="170" y1="1960" y2="2036"/> +<line marker-start="url(#circle)" x1="132" x2="170" y1="1960" y2="2036"/> <line x1="136" x2="160" y1="552" y2="552"/> <line x1="136" x2="146" y1="1456" y2="1436"/> <line x1="136" x2="148" y1="1456" y2="1480"/> +<line x1="136" x2="140" y1="1696" y2="1696"/> +<line x1="136" x2="124" y1="1728" y2="1728"/> <line x1="140" x2="140" y1="1128" y2="1120"/> <line x1="140" x2="164" y1="1128" y2="1128"/> <line x1="140" x2="140" y1="1388" y2="1396"/> -<line x1="140" x2="140" y1="1696" y2="1728"/> +<line x1="140" x2="140" y1="1696" y2="1712"/> +<line x1="140" x2="140" y1="1712" y2="1728"/> <line x1="144" x2="154" y1="704" y2="724"/> <line x1="144" x2="152" y1="1384" y2="1384"/> <line x1="144" x2="152" y1="1400" y2="1400"/> @@ -180,8 +185,8 @@ <line x1="146" x2="174" y1="776" y2="776"/> <line x1="146" x2="174" y1="812" y2="812"/> <line x1="148" x2="148" y1="380" y2="404"/> -<line marker-end="url(#triangle)" x1="148" x2="166" y1="920" y2="956"/> -<line x1="148" x2="196" y1="920" y2="920"/> +<line marker-end="url(#triangle)" marker-start="url(#circle)" x1="148" x2="166" y1="920" y2="956"/> +<line marker-end="url(#circle)" marker-start="url(#circle)" x1="148" x2="196" y1="920" y2="920"/> <line x1="148" x2="148" y1="1408" y2="1428"/> <line x1="148" x2="148" y1="1428" y2="1424"/> <line x1="148" x2="136" y1="1432" y2="1456"/> @@ -201,16 +206,16 @@ <line marker-end="url(#triangle)" x1="152" x2="172" y1="1496" y2="1496"/> <line marker-end="url(#triangle)" x1="152" x2="172" y1="1704" y2="1704"/> <line x1="156" x2="156" y1="1388" y2="1396"/> -<line x1="156" x2="216" y1="1912" y2="1912"/> +<line marker-start="url(#circle)" x1="156" x2="216" y1="1912" y2="1912"/> <line x1="160" x2="176" y1="728" y2="728"/> <line x1="160" x2="200" y1="1456" y2="1456"/> <line x1="160" x2="168" y1="3248" y2="3232"/> <line x1="162" x2="162" y1="780" y2="792"/> <line x1="162" x2="162" y1="796" y2="808"/> -<line x1="164" x2="164" y1="1096" y2="1128"/> -<line x1="164" x2="188" y1="1096" y2="1096"/> +<line x1="164" x2="184" y1="664" y2="664"/> +<line marker-start="url(#circle)" x1="164" x2="164" y1="1096" y2="1128"/> +<line marker-end="url(#circle)" marker-start="url(#circle)" x1="164" x2="188" y1="1096" y2="1096"/> <line x1="164" x2="188" y1="1128" y2="1128"/> -<line x1="164" x2="164" y1="2412" y2="2484"/> <line x1="166" x2="168" y1="524" y2="528"/> <line x1="166" x2="168" y1="548" y2="544"/> <line x1="166" x2="166" y1="780" y2="792"/> @@ -219,13 +224,11 @@ <line x1="166" x2="166" y1="796" y2="808"/> <line x1="166" x2="170" y1="796" y2="796"/> <line x1="166" x2="170" y1="808" y2="808"/> -<line x1="168" x2="184" y1="664" y2="664"/> -<line x1="168" x2="176" y1="2408" y2="2408"/> <line x1="168" x2="184" y1="2488" y2="2488"/> <line x1="170" x2="144" y1="652" y2="704"/> <line x1="170" x2="170" y1="780" y2="792"/> <line x1="170" x2="170" y1="796" y2="808"/> -<line x1="172" x2="172" y1="688" y2="712"/> +<line x1="172" x2="188" y1="696" y2="696"/> <line x1="172" x2="168" y1="712" y2="712"/> <line x1="172" x2="176" y1="712" y2="712"/> <line x1="172" x2="172" y1="1388" y2="1396"/> @@ -234,26 +237,25 @@ <line x1="176" x2="192" y1="464" y2="432"/> <line x1="176" x2="192" y1="464" y2="496"/> <line x1="176" x2="192" y1="648" y2="648"/> -<line x1="176" x2="184" y1="696" y2="696"/> <line x1="176" x2="184" y1="1384" y2="1384"/> <line x1="176" x2="184" y1="1400" y2="1400"/> <line marker-end="url(#triangle)" x1="176" x2="162" y1="1408" y2="1436"/> <line marker-end="url(#triangle)" x1="176" x2="228" y1="2040" y2="2040"/> <line x1="176" x2="188" y1="2520" y2="2520"/> <line x1="176" x2="220" y1="2776" y2="2776"/> -<line x1="176" x2="184" y1="4164" y2="4164"/> -<line x1="176" x2="184" y1="4168" y2="4168"/> <line marker-end="url(#triangle)" x1="180" x2="180" y1="1340" y2="1372"/> <line x1="180" x2="180" y1="2400" y2="2416"/> +<line x1="180" x2="184" y1="2400" y2="2400"/> <line x1="182" x2="192" y1="708" y2="688"/> <line marker-end="url(#triangle)" x1="184" x2="204" y1="968" y2="968"/> <line x1="184" x2="200" y1="1336" y2="1336"/> <line x1="184" x2="192" y1="1504" y2="1488"/> +<line x1="184" x2="216" y1="1504" y2="1504"/> <line x1="184" x2="186" y1="1712" y2="1716"/> <line x1="184" x2="208" y1="2400" y2="2400"/> <line x1="184" x2="208" y1="2416" y2="2416"/> <line x1="186" x2="184" y1="1692" y2="1696"/> -<line x1="188" x2="188" y1="1096" y2="1128"/> +<line marker-start="url(#circle)" x1="188" x2="188" y1="1096" y2="1128"/> <line x1="188" x2="212" y1="1128" y2="1128"/> <line x1="188" x2="188" y1="1388" y2="1396"/> <line x1="188" x2="188" y1="2492" y2="2520"/> @@ -261,17 +263,18 @@ <line x1="190" x2="192" y1="668" y2="672"/> <line x1="192" x2="208" y1="432" y2="464"/> <line x1="192" x2="208" y1="496" y2="464"/> +<line x1="192" x2="204" y1="1456" y2="1456"/> <line x1="192" x2="224" y1="1488" y2="1488"/> -<line x1="192" x2="216" y1="1504" y2="1504"/> <line x1="192" x2="200" y1="1688" y2="1688"/> <line x1="192" x2="200" y1="1720" y2="1720"/> +<line x1="192" x2="180" y1="2416" y2="2416"/> <line x1="194" x2="194" y1="776" y2="808"/> <line x1="194" x2="222" y1="776" y2="776"/> <line x1="194" x2="222" y1="808" y2="808"/> <line marker-end="url(#triangle)" x1="194" x2="170" y1="2172" y2="2220"/> <line marker-end="url(#triangle)" x1="194" x2="170" y1="2204" y2="2252"/> <line marker-end="url(#triangle)" x1="194" x2="170" y1="2236" y2="2284"/> -<line x1="196" x2="228" y1="920" y2="920"/> +<line marker-end="url(#circle)" marker-start="url(#circle)" x1="196" x2="228" y1="920" y2="920"/> <line x1="196" x2="196" y1="2140" y2="2228"/> <line x1="196" x2="196" y1="2164" y2="2160"/> <line x1="196" x2="196" y1="2196" y2="2192"/> @@ -280,16 +283,18 @@ <line x1="198" x2="198" y1="776" y2="808"/> <line x1="198" x2="218" y1="792" y2="792"/> <line x1="200" x2="198" y1="2128" y2="2132"/> +<line x1="200" x2="212" y1="2416" y2="2416"/> <line x1="204" x2="204" y1="380" y2="404"/> <line x1="204" x2="204" y1="664" y2="680"/> <line x1="204" x2="182" y1="680" y2="724"/> <line x1="204" x2="204" y1="1340" y2="1456"/> <line x1="208" x2="210" y1="1728" y2="1732"/> +<line x1="208" x2="212" y1="2400" y2="2400"/> <line x1="210" x2="210" y1="776" y2="808"/> <line x1="210" x2="208" y1="1676" y2="1680"/> <line marker-end="url(#triangle)" x1="210" x2="170" y1="2108" y2="2188"/> -<line x1="212" x2="212" y1="1080" y2="1128"/> -<line x1="212" x2="236" y1="1080" y2="1080"/> +<line marker-start="url(#circle)" x1="212" x2="212" y1="1080" y2="1128"/> +<line marker-end="url(#circle)" marker-start="url(#circle)" x1="212" x2="236" y1="1080" y2="1080"/> <line x1="212" x2="236" y1="1128" y2="1128"/> <line x1="212" x2="212" y1="2400" y2="2416"/> <line x1="212" x2="212" y1="3936" y2="3984"/> @@ -298,30 +303,27 @@ <line x1="216" x2="224" y1="1672" y2="1672"/> <line x1="216" x2="224" y1="1736" y2="1736"/> <line x1="216" x2="232" y1="2104" y2="2104"/> -<line x1="216" x2="224" y1="2408" y2="2408"/> <line x1="218" x2="218" y1="776" y2="808"/> <line x1="220" x2="220" y1="2776" y2="2836"/> <line x1="220" x2="260" y1="2776" y2="2776"/> <line x1="222" x2="222" y1="776" y2="808"/> -<line x1="222" x2="266" y1="1916" y2="2004"/> <line x1="224" x2="232" y1="432" y2="448"/> <line x1="224" x2="288" y1="432" y2="432"/> <line x1="224" x2="232" y1="480" y2="464"/> +<line x1="224" x2="288" y1="480" y2="480"/> <line x1="224" x2="226" y1="544" y2="548"/> -<line x1="224" x2="272" y1="2840" y2="2840"/> +<line x1="224" x2="276" y1="2840" y2="2840"/> <line x1="226" x2="224" y1="524" y2="528"/> -<line x1="228" x2="268" y1="920" y2="920"/> -<line x1="228" x2="228" y1="2412" y2="2520"/> +<line marker-end="url(#circle)" marker-start="url(#circle)" x1="228" x2="268" y1="920" y2="920"/> +<line x1="228" x2="228" y1="2416" y2="2520"/> <line x1="228" x2="252" y1="2520" y2="2520"/> <line x1="228" x2="228" y1="3948" y2="3972"/> -<line x1="232" x2="288" y1="480" y2="480"/> <line marker-end="url(#triangle)" x1="232" x2="236" y1="552" y2="552"/> <line x1="232" x2="240" y1="968" y2="968"/> -<line x1="232" x2="248" y1="2408" y2="2408"/> <line x1="232" x2="320" y1="3944" y2="3944"/> <line x1="232" x2="320" y1="3976" y2="3976"/> -<line x1="236" x2="236" y1="1080" y2="1128"/> -<line x1="236" x2="256" y1="1080" y2="1080"/> +<line marker-start="url(#circle)" x1="236" x2="236" y1="1080" y2="1128"/> +<line marker-start="url(#circle)" x1="236" x2="260" y1="1080" y2="1080"/> <line x1="236" x2="260" y1="1128" y2="1128"/> <line x1="240" x2="242" y1="400" y2="404"/> <line x1="242" x2="240" y1="380" y2="384"/> @@ -338,9 +340,8 @@ <line x1="248" x2="296" y1="408" y2="408"/> <line x1="248" x2="250" y1="2048" y2="2052"/> <line x1="250" x2="248" y1="2028" y2="2032"/> -<line x1="250" x2="238" y1="2076" y2="2100"/> <line x1="252" x2="252" y1="668" y2="692"/> -<line x1="252" x2="252" y1="2412" y2="2440"/> +<line x1="252" x2="252" y1="2416" y2="2440"/> <line x1="252" x2="248" y1="2440" y2="2440"/> <line x1="252" x2="256" y1="2440" y2="2440"/> <line x1="252" x2="248" y1="2488" y2="2488"/> @@ -351,10 +352,10 @@ <line x1="256" x2="272" y1="664" y2="664"/> <line x1="256" x2="280" y1="2024" y2="2024"/> <line x1="256" x2="280" y1="2056" y2="2056"/> -<line x1="256" x2="328" y1="2408" y2="2408"/> <line x1="260" x2="260" y1="780" y2="808"/> -<line x1="260" x2="260" y1="1064" y2="1128"/> -<line x1="260" x2="284" y1="1064" y2="1064"/> +<line marker-start="url(#circle)" x1="260" x2="260" y1="1064" y2="1128"/> +<line marker-start="url(#circle)" x1="260" x2="284" y1="1064" y2="1064"/> +<line marker-end="url(#circle)" x1="260" x2="284" y1="1080" y2="1080"/> <line x1="260" x2="284" y1="1128" y2="1128"/> <line x1="260" x2="260" y1="2444" y2="2484"/> <line x1="260" x2="260" y1="2776" y2="2804"/> @@ -363,54 +364,49 @@ <line x1="262" x2="264" y1="3364" y2="3360"/> <line marker-end="url(#triangle)" x1="264" x2="260" y1="520" y2="520"/> <line x1="264" x2="280" y1="720" y2="720"/> -<line x1="264" x2="284" y1="1080" y2="1080"/> <line x1="264" x2="272" y1="1736" y2="1736"/> -<line x1="264" x2="368" y1="2808" y2="2808"/> <line x1="268" x2="268" y1="776" y2="812"/> -<line x1="268" x2="282" y1="920" y2="948"/> -<line marker-end="url(#triangle)" x1="268" x2="316" y1="920" y2="920"/> +<line marker-start="url(#circle)" x1="268" x2="282" y1="920" y2="948"/> +<line marker-end="url(#triangle)" marker-start="url(#circle)" x1="268" x2="316" y1="920" y2="920"/> <line x1="270" x2="272" y1="524" y2="528"/> <line x1="272" x2="270" y1="544" y2="548"/> +<line x1="272" x2="280" y1="664" y2="664"/> <line x1="272" x2="280" y1="1672" y2="1672"/> <line x1="272" x2="282" y1="1744" y2="1764"/> <line x1="272" x2="280" y1="2848" y2="2832"/> <line x1="276" x2="276" y1="640" y2="656"/> -<line x1="276" x2="276" y1="672" y2="696"/> +<line x1="276" x2="280" y1="640" y2="640"/> +<line marker-end="url(#circle)" x1="276" x2="276" y1="672" y2="696"/> +<line x1="276" x2="292" y1="680" y2="680"/> <line x1="276" x2="276" y1="2524" y2="2568"/> <line x1="276" x2="276" y1="2568" y2="2772"/> -<line x1="276" x2="328" y1="2568" y2="2568"/> -<line x1="278" x2="354" y1="2076" y2="2228"/> +<line x1="276" x2="340" y1="2760" y2="2760"/> <line x1="280" x2="288" y1="640" y2="640"/> <line x1="280" x2="288" y1="648" y2="648"/> -<line x1="280" x2="288" y1="664" y2="664"/> -<line x1="280" x2="288" y1="680" y2="680"/> -<line x1="280" x2="296" y1="2712" y2="2712"/> -<line x1="280" x2="336" y1="2760" y2="2760"/> +<line x1="280" x2="292" y1="664" y2="664"/> <line x1="280" x2="288" y1="2832" y2="2848"/> -<line x1="282" x2="268" y1="892" y2="920"/> +<line marker-end="url(#circle)" x1="282" x2="268" y1="892" y2="920"/> <line x1="284" x2="284" y1="1064" y2="1072"/> -<line x1="284" x2="284" y1="1080" y2="1128"/> +<line marker-start="url(#circle)" x1="284" x2="284" y1="1080" y2="1128"/> <line x1="286" x2="288" y1="1676" y2="1680"/> <line x1="286" x2="288" y1="2028" y2="2032"/> <line x1="286" x2="288" y1="2052" y2="2048"/> <line x1="288" x2="296" y1="432" y2="448"/> <line x1="288" x2="296" y1="480" y2="464"/> +<line x1="288" x2="292" y1="640" y2="640"/> <line marker-end="url(#triangle)" x1="288" x2="316" y1="888" y2="888"/> <line marker-end="url(#triangle)" x1="288" x2="316" y1="952" y2="952"/> <line marker-end="url(#triangle)" x1="288" x2="316" y1="1768" y2="1768"/> <line x1="288" x2="296" y1="2848" y2="2832"/> -<line x1="292" x2="292" y1="640" y2="696"/> +<line x1="292" x2="292" y1="640" y2="656"/> +<line x1="292" x2="292" y1="656" y2="696"/> <line x1="292" x2="280" y1="696" y2="720"/> -<line x1="294" x2="346" y1="2076" y2="2180"/> <line x1="296" x2="304" y1="1688" y2="1688"/> <line x1="296" x2="304" y1="2832" y2="2848"/> -<line x1="298" x2="286" y1="1980" y2="2004"/> <line x1="302" x2="304" y1="380" y2="384"/> <line x1="302" x2="304" y1="404" y2="400"/> -<line x1="302" x2="330" y1="2060" y2="2116"/> <line x1="304" x2="312" y1="1720" y2="1720"/> <line marker-end="url(#triangle)" x1="304" x2="380" y1="1976" y2="1976"/> -<line x1="304" x2="320" y1="2024" y2="2024"/> <line x1="304" x2="312" y1="2848" y2="2832"/> <line x1="308" x2="308" y1="1340" y2="1348"/> <line x1="308" x2="308" y1="1404" y2="1428"/> @@ -422,12 +418,13 @@ <line x1="312" x2="408" y1="1432" y2="1432"/> <line x1="312" x2="624" y1="1560" y2="1560"/> <line x1="312" x2="624" y1="1592" y2="1592"/> -<line x1="312" x2="408" y1="2840" y2="2840"/> <line x1="320" x2="322" y1="544" y2="548"/> <line x1="320" x2="324" y1="1808" y2="1800"/> <line x1="322" x2="320" y1="524" y2="528"/> <line marker-end="url(#triangle)" x1="324" x2="324" y1="1360" y2="1388"/> -<line x1="324" x2="324" y1="1760" y2="1800"/> +<line x1="324" x2="324" y1="1760" y2="1776"/> +<line x1="324" x2="328" y1="1760" y2="1760"/> +<line x1="324" x2="324" y1="1776" y2="1800"/> <line x1="324" x2="324" y1="2492" y2="2532"/> <line x1="324" x2="324" y1="2604" y2="2644"/> <line x1="324" x2="324" y1="3948" y2="3972"/> @@ -438,26 +435,22 @@ <line x1="328" x2="360" y1="1792" y2="1792"/> <line x1="328" x2="352" y1="2032" y2="2032"/> <line x1="332" x2="332" y1="668" y2="692"/> -<line x1="332" x2="332" y1="2412" y2="2488"/> +<line marker-end="url(#triangle)" x1="332" x2="348" y1="680" y2="680"/> +<line x1="332" x2="332" y1="2416" y2="2488"/> <line x1=" |