aboutsummaryrefslogtreecommitdiff
path: root/davo-cv/portfolio
diff options
context:
space:
mode:
Diffstat (limited to 'davo-cv/portfolio')
-rw-r--r--davo-cv/portfolio/img/Luxriot-Monitor-Playback-1.webpbin0 -> 144476 bytes
-rw-r--r--davo-cv/portfolio/img/camsite-kr-0.webpbin0 -> 95122 bytes
-rw-r--r--davo-cv/portfolio/img/camsite-kr-1.webpbin0 -> 806782 bytes
-rw-r--r--davo-cv/portfolio/img/camsite-sv-0.webpbin0 -> 1192632 bytes
-rw-r--r--davo-cv/portfolio/img/camsite-wa-0.webpbin0 -> 834354 bytes
-rw-r--r--davo-cv/portfolio/img/camsite-wa-1.webpbin0 -> 1493556 bytes
-rw-r--r--davo-cv/portfolio/img/codec-research.webpbin0 -> 33338 bytes
-rw-r--r--davo-cv/portfolio/img/codec-research.xcfbin0 -> 379115 bytes
-rw-r--r--davo-cv/portfolio/img/codec-research/chip-cpu.svg27
-rw-r--r--davo-cv/portfolio/img/codec-research/color-adjustement-mode-channels.svg2
-rw-r--r--davo-cv/portfolio/img/codec-research/display-material-3.svg17
-rw-r--r--davo-cv/portfolio/img/codec-research/file.svg4
-rw-r--r--davo-cv/portfolio/img/codec-research/imx.webpbin0 -> 35902 bytes
-rw-r--r--davo-cv/portfolio/img/codec-research/outline-ram-red.svg37
-rw-r--r--davo-cv/portfolio/img/codec-research/picture.svg4
-rw-r--r--davo-cv/portfolio/img/codec-research/scale-03.svg4
-rw-r--r--davo-cv/portfolio/img/codec-research/video-card.svg42
-rw-r--r--davo-cv/portfolio/img/codec-traditional.webpbin0 -> 34820 bytes
-rw-r--r--davo-cv/portfolio/img/codec-traditional.xcfbin0 -> 360860 bytes
-rw-r--r--davo-cv/portfolio/img/danusys-prism-animated.webpbin0 -> 430408 bytes
-rw-r--r--davo-cv/portfolio/img/danusys-prism.xcfbin0 -> 19933492 bytes
-rw-r--r--davo-cv/portfolio/img/danusys-prism/13cameras4-superJumbo.jpgbin0 -> 419741 bytes
-rw-r--r--davo-cv/portfolio/img/danusys-prism/q8752e-zoom-left-2006.pngbin0 -> 626312 bytes
-rw-r--r--davo-cv/portfolio/img/danusys-prism_pipeline-0.webpbin0 -> 392750 bytes
-rw-r--r--davo-cv/portfolio/img/danusys-prism_pipeline-0.xcfbin0 -> 21130667 bytes
-rw-r--r--davo-cv/portfolio/img/danusys-prism_pipeline-1.webpbin0 -> 235696 bytes
-rw-r--r--davo-cv/portfolio/img/danusys-prism_pipeline-1.xcfbin0 -> 6356736 bytes
-rw-r--r--davo-cv/portfolio/img/danusys-sys-arch.webpbin0 -> 87440 bytes
-rw-r--r--davo-cv/portfolio/img/danusys-sys-arch.xcfbin0 -> 1633820 bytes
-rw-r--r--davo-cv/portfolio/img/danusys-sys-arch/car.svg4
-rw-r--r--davo-cv/portfolio/img/danusys-sys-arch/cctv.svg6
-rw-r--r--davo-cv/portfolio/img/danusys-sys-arch/fight.svg42
-rw-r--r--davo-cv/portfolio/img/danusys-sys-arch/fire.svg2
-rw-r--r--davo-cv/portfolio/img/danusys-sys-arch/monitor-tv.svg32
-rw-r--r--davo-cv/portfolio/img/danusys-sys-arch/server-minimalistic.svg5
-rw-r--r--davo-cv/portfolio/img/danusys-sys-arch/server-rack.svg15
-rw-r--r--davo-cv/portfolio/img/danusys-sys-arch/walking.svg2
-rw-r--r--davo-cv/portfolio/img/gis.webpbin0 -> 174078 bytes
-rw-r--r--davo-cv/portfolio/index.md301
39 files changed, 546 insertions, 0 deletions
diff --git a/davo-cv/portfolio/img/Luxriot-Monitor-Playback-1.webp b/davo-cv/portfolio/img/Luxriot-Monitor-Playback-1.webp
new file mode 100644
index 0000000..628444c
--- /dev/null
+++ b/davo-cv/portfolio/img/Luxriot-Monitor-Playback-1.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/camsite-kr-0.webp b/davo-cv/portfolio/img/camsite-kr-0.webp
new file mode 100644
index 0000000..ff63142
--- /dev/null
+++ b/davo-cv/portfolio/img/camsite-kr-0.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/camsite-kr-1.webp b/davo-cv/portfolio/img/camsite-kr-1.webp
new file mode 100644
index 0000000..2378bc3
--- /dev/null
+++ b/davo-cv/portfolio/img/camsite-kr-1.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/camsite-sv-0.webp b/davo-cv/portfolio/img/camsite-sv-0.webp
new file mode 100644
index 0000000..b387c62
--- /dev/null
+++ b/davo-cv/portfolio/img/camsite-sv-0.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/camsite-wa-0.webp b/davo-cv/portfolio/img/camsite-wa-0.webp
new file mode 100644
index 0000000..ecab05d
--- /dev/null
+++ b/davo-cv/portfolio/img/camsite-wa-0.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/camsite-wa-1.webp b/davo-cv/portfolio/img/camsite-wa-1.webp
new file mode 100644
index 0000000..4a7f3db
--- /dev/null
+++ b/davo-cv/portfolio/img/camsite-wa-1.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/codec-research.webp b/davo-cv/portfolio/img/codec-research.webp
new file mode 100644
index 0000000..969de73
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-research.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/codec-research.xcf b/davo-cv/portfolio/img/codec-research.xcf
new file mode 100644
index 0000000..1f3672f
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-research.xcf
Binary files differ
diff --git a/davo-cv/portfolio/img/codec-research/chip-cpu.svg b/davo-cv/portfolio/img/codec-research/chip-cpu.svg
new file mode 100644
index 0000000..1dc8b5c
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-research/chip-cpu.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg fill="#000000" height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+ viewBox="0 0 512 512" xml:space="preserve">
+<g>
+ <g>
+ <g>
+ <path d="M501.333,256C507.2,256,512,251.2,512,245.333c0-5.867-4.8-10.667-10.667-10.667h-74.667v-64h74.667
+ c5.867,0,10.667-4.8,10.667-10.667c0-5.867-4.8-10.667-10.667-10.667h-74.667V112.96c0-15.253-12.373-27.52-27.627-27.627
+ h-57.707V10.667C341.333,4.8,336.533,0,330.667,0C324.8,0,320,4.8,320,10.667v74.667h-64V10.667C256,4.8,251.2,0,245.333,0
+ c-5.867,0-10.667,4.8-10.667,10.667v74.667h-64V10.667C170.667,4.8,165.867,0,160,0c-5.867,0-10.667,4.8-10.667,10.667v74.667
+ H112.96c-15.253,0-27.627,12.373-27.627,27.627v25.707H10.667C4.8,138.667,0,143.467,0,149.333C0,155.2,4.8,160,10.667,160
+ h74.667v64H10.667C4.8,224,0,228.8,0,234.667c0,5.867,4.8,10.667,10.667,10.667h74.667v64H10.667C4.8,309.333,0,314.133,0,320
+ c0,5.867,4.8,10.667,10.667,10.667h74.667v68.373c0,15.253,12.373,27.52,27.627,27.627h57.707v74.667
+ c0,5.867,4.8,10.667,10.667,10.667C187.2,512,192,507.2,192,501.333v-74.667h64v74.667C256,507.2,260.8,512,266.667,512
+ c5.867,0,10.667-4.8,10.667-10.667v-74.667h64v74.667c0,5.867,4.8,10.667,10.667,10.667c5.867,0,10.667-4.8,10.667-10.667
+ v-74.667h36.373c15.253,0,27.52-12.373,27.627-27.627v-57.707h74.667c5.867,0,10.667-4.8,10.667-10.667
+ C512,324.8,507.2,320,501.333,320h-74.667v-64H501.333z M405.44,399.04h-0.107c0,3.413-2.773,6.293-6.293,6.293H112.96
+ c-3.413,0-6.293-2.773-6.293-6.293V112.96c0-3.413,2.773-6.293,6.293-6.293h286.187c3.413,0,6.293,2.773,6.293,6.293V399.04z"/>
+ <path d="M326.827,128H185.173C153.6,128,128,153.6,128,185.173v141.653C128.107,358.4,153.6,384,185.173,384h141.653
+ C358.4,384,384,358.4,384,326.827V185.173C383.893,153.6,358.4,128,326.827,128z M362.667,326.827
+ c0,19.84-16.107,35.84-35.84,35.84H185.173c-19.84,0-35.84-16-35.84-35.84V185.173c0.107-19.84,16.107-35.84,35.84-35.84H326.72
+ c19.84,0,35.84,16,35.947,35.84V326.827z"/>
+ </g>
+ </g>
+</g>
+</svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/codec-research/color-adjustement-mode-channels.svg b/davo-cv/portfolio/img/codec-research/color-adjustement-mode-channels.svg
new file mode 100644
index 0000000..5502e1e
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-research/color-adjustement-mode-channels.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg width="800px" height="800px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M10.5 10.5c.002 2.762-2.237 5-5 5s-5.002-2.238-5-5c-.002-2.76 2.237-5 5-5s5.002 2.24 5 5z" color="#000000" fill="#ff15a1" stroke="#373737" stroke-width=".49999682600000006"/><path d="M8 1.401a4.998 4.998 0 0 0-2.488 9.334c-.004-.078-.012-.155-.012-.234a4.998 4.998 0 0 1 7.488-4.334A4.994 4.994 0 0 0 8 1.4z" fill="#1583ff"/><path d="M10.5 5.5a4.998 4.998 0 0 0-5 5c0 .08.008.157.012.235A4.998 4.998 0 0 0 13 6.401c0-.079-.008-.156-.012-.234A4.975 4.975 0 0 0 10.5 5.5z" fill="#00cf2d"/><path d="M12.988 6.167c.004.078.012.155.012.234a4.998 4.998 0 0 1-7.489 4.334 4.994 4.994 0 0 0 4.989 4.766 4.998 4.998 0 0 0 2.488-9.334z" fill="#f8ff15"/><path d="M5.512 10.735a4.996 4.996 0 0 0 2.486 4.093 4.987 4.987 0 0 0 2.49-4.091A4.978 4.978 0 0 1 8 11.4a4.975 4.975 0 0 1-2.488-.666z" fill="#ef0000"/><path d="M7.998 6.173A4.991 4.991 0 0 0 5.5 10.5c0 .079.008.156.012.234a4.978 4.978 0 0 0 4.977.002c.003-.079.011-.157.011-.236a4.99 4.99 0 0 0-2.502-4.328z" fill="#383027"/><path d="M5.5 5.5c-.91 0-1.76.247-2.494.67a4.99 4.99 0 0 0 2.506 4.564c-.004-.077-.012-.154-.012-.233a4.991 4.991 0 0 1 2.498-4.328A4.975 4.975 0 0 0 5.5 5.5z" fill="#5100cc"/><path d="M8 1.401a4.998 4.998 0 0 0-4.994 4.77 4.998 4.998 0 1 0 4.992 8.658 4.998 4.998 0 1 0 4.99-8.662A4.994 4.994 0 0 0 8 1.4z" fill="none" stroke="#373737" stroke-width=".9999936520000001"/></svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/codec-research/display-material-3.svg b/davo-cv/portfolio/img/codec-research/display-material-3.svg
new file mode 100644
index 0000000..b0af631
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-research/display-material-3.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg version="1.1" id="_x32_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="800px" height="800px" viewBox="0 0 512 512" xml:space="preserve">
+<style type="text/css">
+<![CDATA[
+ .st0{fill:#000000;}
+]]>
+</style>
+<g>
+ <path class="st0" d="M488.188,41.797H23.813C10.719,41.797,0,52.516,0,65.609v311.969c0,13.094,10.719,23.813,23.813,23.813
+ h152.375v46.016h-31.031v22.797h221.688v-22.797h-31.031v-46.016h152.375c13.094,0,23.813-10.719,23.813-23.813V65.609
+ C512,52.516,501.281,41.797,488.188,41.797z M481.031,360.922H30.953V72.766h450.078V360.922z"/>
+</g>
+</svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/codec-research/file.svg b/davo-cv/portfolio/img/codec-research/file.svg
new file mode 100644
index 0000000..3a24946
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-research/file.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M19 9V17.8C19 18.9201 19 19.4802 18.782 19.908C18.5903 20.2843 18.2843 20.5903 17.908 20.782C17.4802 21 16.9201 21 15.8 21H8.2C7.07989 21 6.51984 21 6.09202 20.782C5.71569 20.5903 5.40973 20.2843 5.21799 19.908C5 19.4802 5 18.9201 5 17.8V6.2C5 5.07989 5 4.51984 5.21799 4.09202C5.40973 3.71569 5.71569 3.40973 6.09202 3.21799C6.51984 3 7.0799 3 8.2 3H13M19 9L13 3M19 9H14C13.4477 9 13 8.55228 13 8V3" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/codec-research/imx.webp b/davo-cv/portfolio/img/codec-research/imx.webp
new file mode 100644
index 0000000..19c3698
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-research/imx.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/codec-research/outline-ram-red.svg b/davo-cv/portfolio/img/codec-research/outline-ram-red.svg
new file mode 100644
index 0000000..a09d803
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-research/outline-ram-red.svg
@@ -0,0 +1,37 @@
+<?xml version="1.0" ?>
+ <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg width="800px" height="800px" viewBox="0 0 64 64" id="SVGRoot" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg">
+ <title id="title7560"/>
+ <defs id="defs7542"/>
+ <g id="layer1">
+ <path d="m 20,38 c -0.516545,0 -0.964854,0.08785 -1.337891,0.300781 -0.373036,0.212932 -0.642997,0.54971 -0.810547,0.9375 C 17.516464,40.013862 17.5,40.989314 17.5,42.25 h 1 c 0,-1.239312 0.06455,-2.138863 0.269531,-2.613281 0.102489,-0.23721 0.214237,-0.369182 0.388672,-0.46875 C 19.332638,39.0684 19.596699,39 20,39 c 0.427993,0 0.704413,0.07071 0.880859,0.169922 0.176447,0.09922 0.281691,0.224383 0.378907,0.458984 C 21.454196,40.098108 21.5,41.004796 21.5,42.25 h 1 c 0,-1.254794 0.0071,-2.223109 -0.316406,-3.003906 -0.161776,-0.390399 -0.433189,-0.733981 -0.8125,-0.947266 C 20.991782,38.085543 20.536046,38 20,38 Z" id="path1167" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="M 5.4995064,42.246556 H 17.996554 V 41.250001 H 6.4960616 C 6.3676276,33.761857 5.4995064,36.617748 5.4995064,42.246556 Z M 57.496557,41.250001 H 21.997538 v 0.996555 h 36.502956 c -0.500988,-5.996555 -1.003937,-8.534235 -1.003937,-0.996555 z" id="path1169" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 5.5,21.75 v 20.5 h 1 v -19.5 h 51 v 19.5 h 1 v -20.5 z" id="path1171" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 7.5,23.75 v 0.542969 11.136719 h 49 V 23.75 Z m 1.0839844,1.083984 H 55.416016 v 9.511719 H 8.5839844 Z" id="rect1173" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.08406425;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 9.5,39.25 v 3 h 1 v -3 z" id="path1183" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 11.5,39.25 v 3 h 1 v -3 z" id="path1185" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 13.5,39.25 v 3 h 1 v -3 z" id="path1187" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 15.5,39.25 v 3 h 1 v -3 z" id="path1189" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 23.5,39.25 v 3 h 1 v -3 z" id="path1191" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 25.5,39.25 v 3 h 1 v -3 z" id="path1193" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 27.5,39.25 v 3 h 1 v -3 z" id="path1195" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 29.5,39.25 v 3 h 1 v -3 z" id="path1197" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 31.5,39.25 v 3 h 1 v -3 z" id="path1199" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 33.5,39.25 v 3 h 1 v -3 z" id="path1201" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 35.5,39.25 v 3 h 1 v -3 z" id="path1203" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 37.5,39.25 v 3 h 1 v -3 z" id="path1205" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 39.5,39.25 v 3 h 1 v -3 z" id="path1207" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 41.5,39.25 v 3 h 1 v -3 z" id="path1209" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 43.5,39.25 v 3 h 1 v -3 z" id="path1211" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 45.5,39.25 v 3 h 1 v -3 z" id="path1213" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 47.5,39.25 v 3 h 1 v -3 z" id="path1215" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 49.5,39.25 v 3 h 1 v -3 z" id="path1217" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 51.5,39.25 v 3 h 1 v -3 z" id="path1219" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 53.5,39.25 v 3 h 1 v -3 z" id="path1221" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 7.5,39.25 v 3 h 1 v -3 z" id="path1246" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 55.5,39.25 v 3 h 1 v -3 z" id="path1248" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 6,36.75 v 1 h 52 v -1 z" id="path1250" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 9.5,31.25 v 2.5 H 12 v -1 h -1.5 v -1.5 z" id="path1252" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ <path d="m 52,25.75 v 1 h 1.5 v 1.5 h 1 v -2.5 z" id="path1254" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
+ </g>
+ </svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/codec-research/picture.svg b/davo-cv/portfolio/img/codec-research/picture.svg
new file mode 100644
index 0000000..bced148
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-research/picture.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg fill="#000000" width="800px" height="800px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
+ <path d="M30 2.497h-28c-1.099 0-2 0.901-2 2v23.006c0 1.099 0.9 2 2 2h28c1.099 0 2-0.901 2-2v-23.006c0-1.099-0.901-2-2-2zM30 27.503l-28-0v-5.892l8.027-7.779 8.275 8.265c0.341 0.414 0.948 0.361 1.379 0.035l3.652-3.306 6.587 6.762c0.025 0.025 0.053 0.044 0.080 0.065v1.85zM30 22.806l-5.876-6.013c-0.357-0.352-0.915-0.387-1.311-0.086l-3.768 3.282-8.28-8.19c-0.177-0.214-0.432-0.344-0.709-0.363-0.275-0.010-0.547 0.080-0.749 0.27l-7.309 7.112v-14.322h28v18.309zM23 12.504c1.102 0 1.995-0.894 1.995-1.995s-0.892-1.995-1.995-1.995-1.995 0.894-1.995 1.995c0 1.101 0.892 1.995 1.995 1.995z"></path>
+</svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/codec-research/scale-03.svg b/davo-cv/portfolio/img/codec-research/scale-03.svg
new file mode 100644
index 0000000..abdf721
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-research/scale-03.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M16.2 3H7.8C6.11984 3 5.27976 3 4.63803 3.32698C4.07354 3.6146 3.6146 4.07354 3.32698 4.63803C3 5.27976 3 6.11984 3 7.8V16.2C3 17.8802 3 18.7202 3.32698 19.362C3.6146 19.9265 4.07354 20.3854 4.63803 20.673C5.27976 21 6.11984 21 7.8 21H16.2C17.8802 21 18.7202 21 19.362 20.673C19.9265 20.3854 20.3854 19.9265 20.673 19.362C21 18.7202 21 17.8802 21 16.2V7.8M16.2 3C17.8802 3 18.7202 3 19.362 3.32698C19.9265 3.6146 20.3854 4.07354 20.673 4.63803C21 5.27976 21 6.11984 21 7.8M16.2 3H15.2C14.0799 3 13.5198 3 13.092 3.21799C12.7157 3.40973 12.4097 3.71569 12.218 4.09202C12 4.51984 12 5.07989 12 6.2V8.8C12 9.9201 12 10.4802 12.218 10.908C12.4097 11.2843 12.7157 11.5903 13.092 11.782C13.5198 12 14.0799 12 15.2 12H17.8C18.9201 12 19.4802 12 19.908 11.782C20.2843 11.5903 20.5903 11.2843 20.782 10.908C21 10.4802 21 9.92011 21 8.8V7.8M12.5 11.5L7 17M7 17H12M7 17L7 12" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/codec-research/video-card.svg b/davo-cv/portfolio/img/codec-research/video-card.svg
new file mode 100644
index 0000000..afe1385
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-research/video-card.svg
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg fill="#000000" height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+ viewBox="0 0 512 512" xml:space="preserve">
+<g>
+ <path d="M480.003,128H48c0-22.056-17.944-40-40-40c-4.418,0-8,3.582-8,8s3.582,8,8,8c13.234,0,24,10.766,24,24v288
+ c0,4.418,3.582,8,8,8s8-3.582,8-8v-8h16.01C77.238,408,88,397.238,88,384.01V384h392.003C497.646,384,512,369.646,512,352.003
+ V159.997C512,142.354,497.646,128,480.003,128z M496,352.003c0,8.821-7.176,15.997-15.997,15.997H80c-4.418,0-8,3.582-8,8v8.01
+ c0,4.406-3.584,7.99-7.99,7.99H48V144h432.003c8.821,0,15.997,7.176,15.997,15.997V352.003z"/>
+ <path d="M240,192c-22.922,0-43.057,12.12-54.363,30.28c-0.784,0.849-1.379,1.856-1.737,2.954c-5.03,9.136-7.9,19.621-7.9,30.766
+ c0,11.406,3.013,22.115,8.264,31.399c0.187,0.398,0.407,0.778,0.656,1.14C196.078,307.354,216.586,320,240,320
+ c35.29,0,64-28.71,64-64c0-11.406-3.013-22.115-8.264-31.399c-0.187-0.398-0.407-0.778-0.656-1.14
+ C283.922,204.646,263.414,192,240,192z M192,256c0-4.395,0.605-8.648,1.717-12.695c3.596,3.178,8.453,6.73,15.035,10.53
+ c6.376,3.681,11.742,6.078,16.208,7.612c-2.622,2.061-5.987,4.385-10.208,6.821c-8.449,4.878-14.816,7.039-18.36,7.752
+ C193.58,269.922,192,263.144,192,256z M288,256c0,4.103-0.52,8.087-1.493,11.891c-3.617-3.227-8.542-6.848-15.259-10.726
+ c-5.96-3.441-11.036-5.758-15.321-7.298c2.483-1.885,5.564-3.966,9.321-6.135c8.447-4.876,14.816-7.039,18.36-7.752
+ C286.42,242.078,288,248.856,288,256z M273.948,222.099c-4.562,1.524-10.087,3.96-16.699,7.777
+ c-6.252,3.61-10.952,6.997-14.49,10.051C242.31,236.682,242,232.717,242,228c0-9.763,1.314-16.361,2.469-19.785
+ C255.934,209.279,266.244,214.384,273.948,222.099z M227.619,209.627C226.655,214.344,226,220.354,226,228
+ c0,7.056,0.557,12.721,1.401,17.26c-3.022-1.232-6.59-2.938-10.65-5.282c-8.302-4.793-13.33-9.159-15.769-11.883
+ C207.376,219.18,216.739,212.535,227.619,209.627z M206.049,289.898c4.564-1.524,10.086-3.954,16.702-7.774
+ c6.252-3.61,10.952-6.997,14.49-10.051C237.69,275.318,238,279.283,238,284c0,9.763-1.314,16.361-2.469,19.785
+ C224.065,302.721,213.753,297.615,206.049,289.898z M252.381,302.373C253.345,297.656,254,291.646,254,284
+ c0-7.633-0.653-13.635-1.614-18.347c3.066,1.237,6.708,2.97,10.863,5.368c8.764,5.06,13.892,9.652,16.163,12.33
+ C273.012,292.546,263.486,299.405,252.381,302.373z"/>
+ <path d="M440,168c-4.418,0-8,3.582-8,8s3.582,8,8,8c8.822,0,16,7.178,16,16v112c0,8.822-7.178,16-16,16H240
+ c-39.701,0-72-32.299-72-72s32.299-72,72-72h168c4.418,0,8-3.582,8-8s-3.582-8-8-8H240c-48.523,0-88,39.477-88,88s39.477,88,88,88
+ h200c17.645,0,32-14.355,32-32V200C472,182.355,457.645,168,440,168z"/>
+ <path d="M112,232H88c-8.822,0-16,7.178-16,16v16c0,8.822,7.178,16,16,16h24c8.822,0,16-7.178,16-16v-16
+ C128,239.178,120.822,232,112,232z M88,264v-16h24l0.001,16H88z"/>
+ <path d="M112,176H88c-8.822,0-16,7.178-16,16v16c0,8.822,7.178,16,16,16h24c8.822,0,16-7.178,16-16v-16
+ C128,183.178,120.822,176,112,176z M88,208v-16h24l0.001,16H88z"/>
+ <path d="M112,288H88c-8.822,0-16,7.178-16,16v16c0,8.822,7.178,16,16,16h24c8.822,0,16-7.178,16-16v-16
+ C128,295.178,120.822,288,112,288z M88,320v-16h24l0.001,16H88z"/>
+ <path d="M432,200h-24c-4.418,0-8,3.582-8,8s3.582,8,8,8h24c4.418,0,8-3.582,8-8S436.418,200,432,200z"/>
+ <path d="M432,296h-24c-4.418,0-8,3.582-8,8s3.582,8,8,8h24c4.418,0,8-3.582,8-8S436.418,296,432,296z"/>
+ <path d="M432,224h-24c-4.418,0-8,3.582-8,8s3.582,8,8,8h24c4.418,0,8-3.582,8-8S436.418,224,432,224z"/>
+ <path d="M432,248h-24c-4.418,0-8,3.582-8,8s3.582,8,8,8h24c4.418,0,8-3.582,8-8S436.418,248,432,248z"/>
+ <path d="M432,272h-24c-4.418,0-8,3.582-8,8s3.582,8,8,8h24c4.418,0,8-3.582,8-8S436.418,272,432,272z"/>
+</g>
+</svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/codec-traditional.webp b/davo-cv/portfolio/img/codec-traditional.webp
new file mode 100644
index 0000000..9409179
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-traditional.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/codec-traditional.xcf b/davo-cv/portfolio/img/codec-traditional.xcf
new file mode 100644
index 0000000..430d77b
--- /dev/null
+++ b/davo-cv/portfolio/img/codec-traditional.xcf
Binary files differ
diff --git a/davo-cv/portfolio/img/danusys-prism-animated.webp b/davo-cv/portfolio/img/danusys-prism-animated.webp
new file mode 100644
index 0000000..de0153f
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-prism-animated.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/danusys-prism.xcf b/davo-cv/portfolio/img/danusys-prism.xcf
new file mode 100644
index 0000000..9e32371
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-prism.xcf
Binary files differ
diff --git a/davo-cv/portfolio/img/danusys-prism/13cameras4-superJumbo.jpg b/davo-cv/portfolio/img/danusys-prism/13cameras4-superJumbo.jpg
new file mode 100644
index 0000000..5bbdb09
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-prism/13cameras4-superJumbo.jpg
Binary files differ
diff --git a/davo-cv/portfolio/img/danusys-prism/q8752e-zoom-left-2006.png b/davo-cv/portfolio/img/danusys-prism/q8752e-zoom-left-2006.png
new file mode 100644
index 0000000..9517732
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-prism/q8752e-zoom-left-2006.png
Binary files differ
diff --git a/davo-cv/portfolio/img/danusys-prism_pipeline-0.webp b/davo-cv/portfolio/img/danusys-prism_pipeline-0.webp
new file mode 100644
index 0000000..c3ac568
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-prism_pipeline-0.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/danusys-prism_pipeline-0.xcf b/davo-cv/portfolio/img/danusys-prism_pipeline-0.xcf
new file mode 100644
index 0000000..d83469b
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-prism_pipeline-0.xcf
Binary files differ
diff --git a/davo-cv/portfolio/img/danusys-prism_pipeline-1.webp b/davo-cv/portfolio/img/danusys-prism_pipeline-1.webp
new file mode 100644
index 0000000..c29fd37
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-prism_pipeline-1.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/danusys-prism_pipeline-1.xcf b/davo-cv/portfolio/img/danusys-prism_pipeline-1.xcf
new file mode 100644
index 0000000..b533c8b
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-prism_pipeline-1.xcf
Binary files differ
diff --git a/davo-cv/portfolio/img/danusys-sys-arch.webp b/davo-cv/portfolio/img/danusys-sys-arch.webp
new file mode 100644
index 0000000..4d25038
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-sys-arch.webp
Binary files differ
diff --git a/davo-cv/portfolio/img/danusys-sys-arch.xcf b/davo-cv/portfolio/img/danusys-sys-arch.xcf
new file mode 100644
index 0000000..c9e5dc6
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-sys-arch.xcf
Binary files differ
diff --git a/davo-cv/portfolio/img/danusys-sys-arch/car.svg b/davo-cv/portfolio/img/danusys-sys-arch/car.svg
new file mode 100644
index 0000000..06764cf
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-sys-arch/car.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M3 8L5.72187 10.2682C5.90158 10.418 6.12811 10.5 6.36205 10.5H17.6379C17.8719 10.5 18.0984 10.418 18.2781 10.2682L21 8M6.5 14H6.51M17.5 14H17.51M8.16065 4.5H15.8394C16.5571 4.5 17.2198 4.88457 17.5758 5.50772L20.473 10.5777C20.8183 11.1821 21 11.8661 21 12.5623V18.5C21 19.0523 20.5523 19.5 20 19.5H19C18.4477 19.5 18 19.0523 18 18.5V17.5H6V18.5C6 19.0523 5.55228 19.5 5 19.5H4C3.44772 19.5 3 19.0523 3 18.5V12.5623C3 11.8661 3.18166 11.1821 3.52703 10.5777L6.42416 5.50772C6.78024 4.88457 7.44293 4.5 8.16065 4.5ZM7 14C7 14.2761 6.77614 14.5 6.5 14.5C6.22386 14.5 6 14.2761 6 14C6 13.7239 6.22386 13.5 6.5 13.5C6.77614 13.5 7 13.7239 7 14ZM18 14C18 14.2761 17.7761 14.5 17.5 14.5C17.2239 14.5 17 14.2761 17 14C17 13.7239 17.2239 13.5 17.5 13.5C17.7761 13.5 18 13.7239 18 14Z" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/danusys-sys-arch/cctv.svg b/davo-cv/portfolio/img/danusys-sys-arch/cctv.svg
new file mode 100644
index 0000000..e04ce4c
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-sys-arch/cctv.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg fill="#000000" width="800px" height="800px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
+<title>cctv</title>
+<path d="M31.119 14.845c-0.116-0.314-0.346-0.563-0.639-0.702l-0.008-0.003-1.765-0.823 0.39-0.836c0.074-0.155 0.117-0.336 0.117-0.528 0-0.499-0.292-0.93-0.715-1.13l-0.008-0.003-21.254-9.911c-0.155-0.074-0.337-0.117-0.529-0.117-0.499 0-0.929 0.292-1.129 0.714l-0.003 0.008-4.589 9.842c-0.074 0.155-0.117 0.337-0.117 0.529 0 0.499 0.292 0.929 0.714 1.129l0.008 0.003 7.773 3.624-2.19 5.11h-3.926v-3.75c0-0.69-0.56-1.25-1.25-1.25s-1.25 0.56-1.25 1.25v0 10c0 0.69 0.56 1.25 1.25 1.25s1.25-0.56 1.25-1.25v0-3.75h4.75c0.512-0 0.953-0.309 1.146-0.75l0.003-0.008 2.484-5.795 11.215 5.229c0.154 0.074 0.334 0.117 0.525 0.117 0.001 0 0.002 0 0.003 0h-0c0.498-0 0.928-0.292 1.13-0.713l0.003-0.008 0.39-0.835 1.767 0.824c0.154 0.074 0.334 0.117 0.525 0.117 0.001 0 0.002 0 0.003 0h-0c0.499-0 0.929-0.293 1.13-0.715l0.003-0.008 2.754-5.904c0.074-0.155 0.117-0.336 0.117-0.527 0-0.154-0.028-0.301-0.079-0.437l0.003 0.009zM22.77 20.133l-11.174-5.211c-0.030-0.023-0.063-0.047-0.098-0.069l-0.005-0.003c-0.029-0.013-0.060-0.009-0.090-0.019l-7.62-3.554 3.532-7.576 18.988 8.854zM26.586 19.516l-0.631-0.295 1.697-3.639 0.631 0.295z"></path>
+</svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/danusys-sys-arch/fight.svg b/davo-cv/portfolio/img/danusys-sys-arch/fight.svg
new file mode 100644
index 0000000..56902f4
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-sys-arch/fight.svg
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg fill="#000000" height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+ viewBox="0 0 512.001 512.001" xml:space="preserve">
+<g>
+ <g>
+ <path d="M493.046,350.741l-68.502-9.594c0,0,3.833-70.757,3.837-71.044l-10.089-60.112l-11.23-24.129l-55.818-24.001
+ l68.943,10.485c0.105,0.225,26.766,57.508,26.766,57.508c9.901,21.234,43.233,7.431,33.417-15.062
+ c-0.06-0.139-0.109-0.281-0.174-0.419c-32.516-69.863-31.08-67.024-32.255-68.799c-2.863-4.322-7.41-7.229-12.523-8.006
+ l-76.131-11.577l40.653-3.247c-5.78-9.338-16.893-14.642-28.33-12.479l-47.905,9.06c-14.377,2.719-23.98,16.234-22.007,30.57
+ l-21.394,23.769L223.83,139.64c-8.657-5.215-19.906-2.426-25.123,6.234c-5.216,8.659-2.426,19.907,6.234,25.124l69.414,41.817
+ c7.514,4.526,17.182,3.086,23.048-3.433l12.818-14.239l18.475,93.816l0.239,179.568c0.016,12.142,9.865,21.974,22.002,21.974
+ c0.01,0,0.02,0,0.03,0c12.152-0.016,21.99-9.88,21.974-22.032l-0.25-187.831l11.206-2.119l-4.392,80.417
+ c-0.623,11.414,7.597,21.404,18.918,22.989l88.523,12.398c1.036,0.146,2.064,0.215,3.08,0.215
+ c10.797-0.001,20.222-7.956,21.762-18.953C513.47,363.549,505.08,352.426,493.046,350.741z"/>
+ </g>
+</g>
+<g>
+ <g>
+ <circle cx="330.532" cy="61.973" r="40.473"/>
+ </g>
+</g>
+<g>
+ <g>
+ <path d="M293.033,349.048c-13.198-17.611-38.176-21.188-55.788-7.99c-12.192,9.138-19.84,25.972-13.518,44.123
+ c16.808,7.426,34.228,16.316,49.291,25.808c4.218-1.316,8.287-3.354,12.024-6.154
+ C302.654,391.636,306.231,366.659,293.033,349.048z"/>
+ </g>
+</g>
+<g>
+ <g>
+ <path d="M268.621,431.592l-59.283-30.512l-15.518-79.417c6.574,10.231,12.607,21.68,17.639,32.815
+ c6.005-9.205,5.965-21.554-1.009-30.859c-11.583-15.456-29.093-25.374-48.304-27.36c-19.212-1.987-38.381,4.138-52.88,16.896
+ l-43.052,37.882c-10.726,9.438-16.646,23.194-16.125,37.472c0.498,13.651,6.845,26.387,17.351,35.023
+ c2.185,2.579,1.066,1.492,29.977,23.273l-75.632-0.414c-0.041-0.001-0.081-0.001-0.121-0.001
+ c-11.909,0-21.597,9.622-21.663,21.547c-0.066,11.966,9.581,21.719,21.547,21.784c0.207,0.001,141.104,0.776,141.104,0.776
+ c9.289-0.001,17.552-5.926,20.526-14.736c2.988-8.849-0.031-18.615-7.489-24.234l-45.39-34.201l24.771-18.563
+ c-0.498-21.577,0.682-43.138,4.497-64.124l16.012,81.951c1.06,5.423,4.545,10.063,9.457,12.591l67.063,34.516
+ c8.877,4.567,19.758,1.065,24.315-7.791C280.976,447.041,277.487,436.155,268.621,431.592z"/>
+ </g>
+</g>
+</svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/danusys-sys-arch/fire.svg b/davo-cv/portfolio/img/danusys-sys-arch/fire.svg
new file mode 100644
index 0000000..d45ac09
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-sys-arch/fire.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg fill="#000000" width="800px" height="800px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M9.32 15.653a.812.812 0 0 1-.086-.855c.176-.342.245-.733.2-1.118a2.106 2.106 0 0 0-.267-.779 2.027 2.027 0 0 0-.541-.606 3.96 3.96 0 0 1-1.481-2.282c-1.708 2.239-1.053 3.51-.235 4.63a.748.748 0 0 1-.014.901.87.87 0 0 1-.394.283.838.838 0 0 1-.478.023c-1.105-.27-2.145-.784-2.85-1.603a4.686 4.686 0 0 1-.906-1.555 4.811 4.811 0 0 1-.263-1.797s-.133-2.463 2.837-4.876c0 0 3.51-2.978 2.292-5.18a.621.621 0 0 1 .112-.653.558.558 0 0 1 .623-.147l.146.058a7.63 7.63 0 0 1 2.96 3.5c.58 1.413.576 3.06.184 4.527.325-.292.596-.641.801-1.033l.029-.064c.198-.477.821-.325 1.055-.013.086.137 2.292 3.343 1.107 6.048a5.516 5.516 0 0 1-1.84 2.027 6.127 6.127 0 0 1-2.138.893.834.834 0 0 1-.472-.038.867.867 0 0 1-.381-.29zM7.554 7.892a.422.422 0 0 1 .55.146c.04.059.066.126.075.198l.045.349c.02.511.014 1.045.213 1.536.206.504.526.95.932 1.298a3.06 3.06 0 0 1 1.16 1.422c.22.564.25 1.19.084 1.773a4.123 4.123 0 0 0 1.39-.757l.103-.084c.336-.277.613-.623.813-1.017.201-.393.322-.825.354-1.269.065-1.025-.284-2.054-.827-2.972-.248.36-.59.639-.985.804-.247.105-.509.17-.776.19a.792.792 0 0 1-.439-.1.832.832 0 0 1-.321-.328.825.825 0 0 1-.035-.729c.412-.972.54-2.05.365-3.097a5.874 5.874 0 0 0-1.642-3.16c-.156 2.205-2.417 4.258-2.881 4.7a3.537 3.537 0 0 1-.224.194c-2.426 1.965-2.26 3.755-2.26 3.834a3.678 3.678 0 0 0 .459 2.043c.365.645.89 1.177 1.52 1.54C4.5 12.808 4.5 10.89 7.183 8.14l.372-.25z"/></svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/danusys-sys-arch/monitor-tv.svg b/davo-cv/portfolio/img/danusys-sys-arch/monitor-tv.svg
new file mode 100644
index 0000000..375d732
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-sys-arch/monitor-tv.svg
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg fill="#000000" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+ viewBox="0 0 512 512" xml:space="preserve">
+<g>
+ <g>
+ <path d="M474.056,80.593H37.944C17.019,80.593,0,97.606,0,118.523v237.028c0,20.917,17.019,37.931,37.944,37.931h436.111
+ c20.926,0,37.944-17.014,37.944-37.931V118.523C512,97.606,494.981,80.593,474.056,80.593z M493.037,355.551
+ c0,10.458-8.518,18.968-18.981,18.968H37.944c-10.463,0-18.981-8.509-18.981-18.968V118.523c0-10.459,8.519-18.968,18.981-18.968
+ h436.111c10.463,0,18.981,8.509,18.981,18.968V355.551z"/>
+ </g>
+</g>
+<g>
+ <g>
+ <rect x="18.963" y="412.444" width="474.074" height="18.963"/>
+ </g>
+</g>
+<g>
+ <g>
+ <path d="M92.037,130.778c-3.704-3.704-9.704-3.704-13.407,0l-28.444,28.444c-3.704,3.704-3.704,9.704,0,13.407
+ c1.852,1.852,4.278,2.778,6.704,2.778c2.426,0,4.852-0.926,6.704-2.778l28.444-28.444
+ C95.741,140.481,95.741,134.482,92.037,130.778z"/>
+ </g>
+</g>
+<g>
+ <g>
+ <path d="M163.259,140.259c-3.704-3.704-9.704-3.704-13.407,0l-99.667,99.666c-3.704,3.704-3.704,9.704,0,13.408
+ c1.852,1.852,4.278,2.778,6.704,2.778c2.426,0,4.852-0.926,6.704-2.778l99.667-99.667
+ C166.963,149.963,166.963,143.963,163.259,140.259z"/>
+ </g>
+</g>
+</svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/danusys-sys-arch/server-minimalistic.svg b/davo-cv/portfolio/img/danusys-sys-arch/server-minimalistic.svg
new file mode 100644
index 0000000..28e9811
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-sys-arch/server-minimalistic.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M3.5155 15.7248C3.78702 15.7062 4.13391 15.7059 4.63158 15.7059H19.3684C19.8661 15.7059 20.213 15.7062 20.4845 15.7248C20.7513 15.7431 20.9067 15.7774 21.0253 15.8268C21.4122 15.988 21.7196 16.2972 21.8798 16.6863C21.9289 16.8056 21.963 16.9619 21.9812 17.2303C21.9997 17.5034 22 17.8523 22 18.3529C22 18.8535 21.9997 19.2025 21.9812 19.4756C21.963 19.744 21.9289 19.9002 21.8798 20.0196C21.7196 20.4087 21.4122 20.7179 21.0253 20.8791C20.9067 20.9285 20.7513 20.9628 20.4845 20.9811C20.213 20.9997 19.8661 21 19.3684 21H4.63158C4.13391 21 3.78702 20.9997 3.5155 20.9811C3.2487 20.9628 3.09333 20.9285 2.97471 20.8791C2.58782 20.7179 2.28044 20.4087 2.12019 20.0196C2.07105 19.9002 2.03701 19.744 2.01881 19.4756C2.00028 19.2025 2 18.8535 2 18.3529C2 17.8523 2.00028 17.5034 2.01881 17.2303C2.03701 16.9619 2.07105 16.8056 2.12019 16.6863C2.28044 16.2972 2.58782 15.988 2.97471 15.8268C3.09333 15.7774 3.2487 15.7431 3.5155 15.7248ZM4.63158 19.4118C5.21293 19.4118 5.68421 18.9377 5.68421 18.3529C5.68421 17.7682 5.21293 17.2941 4.63158 17.2941C4.05023 17.2941 3.57895 17.7682 3.57895 18.3529C3.57895 18.9377 4.05023 19.4118 4.63158 19.4118Z" fill="#1C274C"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M4.63158 8.29412C4.13391 8.29412 3.78702 8.29383 3.5155 8.2752C3.2487 8.25689 3.09333 8.22265 2.97471 8.17322C2.58782 8.01202 2.28044 7.70284 2.12019 7.31367C2.07105 7.19435 2.03701 7.03807 2.01881 6.7697C2.00028 6.49658 2 6.14765 2 5.64706C2 5.14647 2.00028 4.79753 2.01881 4.52441C2.03701 4.25605 2.07105 4.09977 2.12019 3.98044C2.28044 3.59128 2.58782 3.28209 2.97471 3.1209C3.09333 3.07147 3.2487 3.03723 3.5155 3.01892C3.78702 3.00029 4.13391 3 4.63158 3H19.3684C19.8661 3 20.213 3.00029 20.4845 3.01892C20.7513 3.03723 20.9067 3.07147 21.0253 3.1209C21.4122 3.28209 21.7196 3.59128 21.8798 3.98044C21.9289 4.09977 21.963 4.25605 21.9812 4.52441C21.9997 4.79753 22 5.14647 22 5.64706C22 6.14765 21.9997 6.49658 21.9812 6.7697C21.963 7.03807 21.9289 7.19435 21.8798 7.31367C21.7196 7.70284 21.4122 8.01202 21.0253 8.17322C20.9067 8.22265 20.7513 8.25689 20.4845 8.2752C20.213 8.29383 19.8661 8.29412 19.3684 8.29412H4.63158ZM4.63158 9.35294C4.13391 9.35294 3.78702 9.35323 3.5155 9.37186C3.2487 9.39017 3.09333 9.42441 2.97471 9.47384C2.58782 9.63503 2.28044 9.94422 2.12019 10.3334C2.07105 10.4527 2.03701 10.609 2.01881 10.8774C2.00028 11.1505 2 11.4994 2 12C2 12.5006 2.00028 12.8495 2.01881 13.1226C2.03701 13.391 2.07105 13.5473 2.12019 13.6666C2.28044 14.0558 2.58782 14.365 2.97471 14.5262C3.09333 14.5756 3.2487 14.6098 3.5155 14.6281C3.78702 14.6468 4.13391 14.6471 4.63158 14.6471H19.3684C19.8661 14.6471 20.213 14.6468 20.4845 14.6281C20.7513 14.6098 20.9067 14.5756 21.0253 14.5262C21.4122 14.365 21.7196 14.0558 21.8798 13.6666C21.9289 13.5473 21.963 13.391 21.9812 13.1226C21.9997 12.8495 22 12.5006 22 12C22 11.4994 21.9997 11.1505 21.9812 10.8774C21.963 10.609 21.9289 10.4527 21.8798 10.3334C21.7196 9.94422 21.4122 9.63503 21.0253 9.47384C20.9067 9.42441 20.7513 9.39017 20.4845 9.37186C20.213 9.35323 19.8661 9.35294 19.3684 9.35294H4.63158ZM5.68421 12C5.68421 12.5848 5.21293 13.0588 4.63158 13.0588C4.05023 13.0588 3.57895 12.5848 3.57895 12C3.57895 11.4152 4.05023 10.9412 4.63158 10.9412C5.21293 10.9412 5.68421 11.4152 5.68421 12ZM4.63158 6.70588C5.21293 6.70588 5.68421 6.23183 5.68421 5.64706C5.68421 5.06229 5.21293 4.58824 4.63158 4.58824C4.05023 4.58824 3.57895 5.06229 3.57895 5.64706C3.57895 6.23183 4.05023 6.70588 4.63158 6.70588Z" fill="#1C274C"/>
+</svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/danusys-sys-arch/server-rack.svg b/davo-cv/portfolio/img/danusys-sys-arch/server-rack.svg
new file mode 100644
index 0000000..d5ca6d2
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-sys-arch/server-rack.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg fill="#000000" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+ viewBox="0 0 32 32" xml:space="preserve">
+<path id="server--rack_1_" d="M27,31.36H5c-0.199,0-0.36-0.161-0.36-0.36V1c0-0.199,0.161-0.36,0.36-0.36h22
+ c0.199,0,0.36,0.161,0.36,0.36v30C27.36,31.199,27.199,31.36,27,31.36z M5.36,30.64h21.28v-4.28H5.36V30.64z M5.36,25.64h21.28
+ v-4.28H5.36V25.64z M5.36,20.64h21.28v-4.28H5.36V20.64z M5.36,15.64h21.28v-4.28H5.36V15.64z M5.36,10.64h21.28V6.36H5.36V10.64z
+ M5.36,5.64h21.28V1.36H5.36V5.64z M25,28.36h-6v-0.72h6V28.36z M12,28.36h-1v-0.72h1V28.36z M10,28.36H9v-0.72h1V28.36z M8,28.36H7
+ v-0.72h1V28.36z M25,23.36h-6v-0.72h6V23.36z M12,23.36h-1v-0.72h1V23.36z M10,23.36H9v-0.72h1V23.36z M8,23.36H7v-0.72h1V23.36z
+ M25,18.36h-6v-0.72h6V18.36z M12,18.36h-1v-0.72h1V18.36z M10,18.36H9v-0.72h1V18.36z M8,18.36H7v-0.72h1V18.36z M25,13.36h-6
+ v-0.72h6V13.36z M12,13.36h-1v-0.72h1V13.36z M10,13.36H9v-0.72h1V13.36z M8,13.36H7v-0.72h1V13.36z M25,8.36h-6V7.64h6V8.36z
+ M12,8.36h-1V7.64h1V8.36z M10,8.36H9V7.64h1V8.36z M8,8.36H7V7.64h1V8.36z M25,3.36h-6V2.64h6V3.36z M12,3.36h-1V2.64h1V3.36z
+ M10,3.36H9V2.64h1V3.36z M8,3.36H7V2.64h1V3.36z"/>
+<rect id="_Transparent_Rectangle" style="fill:none;" width="32" height="32"/>
+</svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/danusys-sys-arch/walking.svg b/davo-cv/portfolio/img/danusys-sys-arch/walking.svg
new file mode 100644
index 0000000..67f41c7
--- /dev/null
+++ b/davo-cv/portfolio/img/danusys-sys-arch/walking.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
+<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-labelledby="walkingIconTitle" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" color="#000000"> <title id="walkingIconTitle">Walking</title> <circle cx="13" cy="5" r="1"/> <path d="M15 20L14 17L11 14M11 14L12 9M11 14L8 20M12 9L15 12L17 13M12 9L9 11L8 14"/> </svg> \ No newline at end of file
diff --git a/davo-cv/portfolio/img/gis.webp b/davo-cv/portfolio/img/gis.webp
new file mode 100644
index 0000000..54006ef
--- /dev/null
+++ b/davo-cv/portfolio/img/gis.webp
Binary files differ
diff --git a/davo-cv/portfolio/index.md b/davo-cv/portfolio/index.md
new file mode 100644
index 0000000..a5c6260
--- /dev/null
+++ b/davo-cv/portfolio/index.md
@@ -0,0 +1,301 @@
+# Davo's Portfolio
+*This is part of [Davo's resume](https://cdn.snart.me/hireme/). This is a living
+document. Revision: 0*
+
+Dear human readers,
+
+In this era of ATS and AI, I cannot thank you enough for taking your valuable
+time to have a look at my portfolio. Here, I present you my best efforts to
+showcase my work experience in simple terms for both non-technical and technical
+audience. I hope you enjoy.
+
+(c) 2025 David Timber
+
+## Keywords
+C/C++ dev, sysadmin, network engineering
+
+Linux, OpenWrt, Qt, MSVC++, MFC, WinAPI, ffmpeg, OpenCV, OpenGL, DirectX, WebGL
+
+Embedded development, kernel development, React, ReactNative, Unity
+
+WebRTC, real-time streaming/processing, web development, frontend, backend
+
+AWS, GCP, Azure, Orchestration, Ansible, Docker, CD/CI(Github, Gitlab), libvirt
+
+## Language Skills
+| Expert | Good/average | Good/average but rather not use it |
+| - | - | - |
+| C, Python, Shell | C++, PHP, Basic, CSS, SQL | Javascript, Java |
+
+## Danusys
+In Korea, video surveillance is a multi-million dollar industry. Danusys has had
+a fair share of the market since 2007 a contractor for multiple municipal
+government across South Korea.
+
+<img src="img/camsite-wa-0.webp" alt="wa" width="500">
+<img src="img/camsite-sv-0.webp" alt="stockholm" width="500">
+<a href="https://www.boannews.com/media/view.asp?idx=83159">
+<img src="img/camsite-kr-1.webp" alt="boannews.com" width="500">
+</a>
+<a href="https://www.dailycc.net/news/articleView.html?idxno=245890">
+<img src="img/camsite-kr-0.webp" alt="dailycc.net" width="500">
+</a>
+
+### System architecture
+https://www.datapanik.org/wp-content/uploads/CCTV-Cameras-by-City-and-Country.pdf
+
+<a href="https://www.arcgis.com/index.html">
+<img src="img/gis.webp" alt="GIS showing camera locations(screenshot)" width="650">
+</a>
+
+A usual metropolitan city council operates 10k+ fixed camera sites. Over the
+dark fibre network, the video streams are relayed to the city council data
+centre, where the video streams are stored and monitored by the operators.
+
+A massive amount of data has to be transferred, processed, stored in real-time.
+Numerous contractors are involved to build the infrastructure required. Multiple
+technologies, including ones home-brewed by Danusys, are employed to overcome
+many engineering challenge to build such systems.
+
+<img
+ src="img/danusys-sys-arch.webp"
+ alt="Simplified architecture diagram"
+ width="850">
+
+Simplified diagram of Danusys VMS architecture
+
+*(This is a typical architecture of any VMS solution. The actual product names
+are replaced with generic tech industry jargons to avoid breach of NDA.)*
+
+#### Edge Node
+The video streams from multiple cameras are gathered on the edge node. A
+specialty hardware is used where the cameras are traditional analogue cameras to
+transcode the footage to modern encodings like H264 and HEVC. The video streams
+are encapsulated in one unified internal protocol for ease of processing,
+transport, and storage. The edge node is responsible for (but not limited to):
+
+- Relaying streams to the data centre
+- Processing footage and decision making in real-time
+ - Track moving objects using [PTZ camera](https://en.wikipedia.org/wiki/Pan%E2%80%93tilt%E2%80%93zoom_camera)
+ - Alerting the command centre and sounding alarms in case of events
+ - Facial recognition and [ANPR](https://en.wikipedia.org/wiki/Automatic_number-plate_recognition) (where required)
+- Storing video
+
+Due to RTT(round-trip time), "edge computing"(a technique that's been
+popularised recently) is employed. The edge nodes are often equipped with
+sufficient computing power to processing video in real-time. The edge nodes
+operate autonomously(without the need to communicate to the data centre) to
+issue commands to the PTZ cameras and other peripheral devices. The edge nodes
+are also capable of storing video on site so that no data is lost during link
+failure.
+
+#### Stream Relay Agent
+The data link between the camera sites and the local government's data centre is
+often limited and unstable. To prevent network overload, real-time streams are
+relayed to the data centre where they're duplicated for other purposes such as
+storage, further analysis, and manual monitoring by human operators.
+
+The Stream Relay Agent also features conversion from and to standard streaming
+format(RTP/RTSP) and vendor-specific proprietary streaming protocols.
+
+#### Stream Store Agent
+To implement the [3-2-1 rule](https://www.seagate.com/gb/en/blog/what-is-a-3-2-1-backup-strategy/),
+a backend program that stores data relayed from the stream relay agent runs on
+the servers at the data centre. The servers are backed by enterprise data
+storage(SAN, directly attached SCSI HDDs). The agents are responsible for
+storing data for the duration required by local legislation(30 days in Korea)
+and deletion of data.
+
+The operators can use the front apps to access data stored on the store agents
+to search and view stored videos and events.
+
+#### Master Control Plane Server
+The master control plane server is a program that supervises overall operation.
+The operation includes:
+
+- Access control: user authentication and authorization
+- Distribution of centralised configurations to all backend and frontend nodes
+- Enforcing site-specific policies
+- Other stateful functionality: scheduled tasks, pre-programmed logic and
+ behaviour set by site operators
+
+As the server is a crucial component of the system, the server is hosted on
+hardware with additional redundancies. The server also features active-backup
+failover.
+
+#### Front GUI Apps
+<img src="img/Luxriot-Monitor-Playback-1.webp" alt="Typical VMS front app" width="650">
+
+Multiple front-end apps are developed for client's use cases. The apps can be
+categorised in these feature groups:
+
+- Control Plane Manager: talks directly to the master control plane server, used
+ to configure site-wide settings
+- Operator Software: used by command center operators and other external
+ stakeholders, including police dept., defense agents, city maintenance
+ contractors
+ - Viewer for live and stored stream
+ - Search engine for stored data
+- Diagnostics tools for experts and devs
+
+### My Involvement
+Building such a complex software architecture requires a team effort. The
+following highlights my involvement and achievement during my time with Danusys.
+
+#### Edge Node
+- General maintenance
+- Complete rewrite of the existing vision algorithm (detailed in later section)
+- Other performance improvements in video decoding, memory management
+
+#### Server Products
+- Porting existing Windows server products to Linux
+- Linux tech support
+- Embedded Linux dev
+
+#### Codec Research
+(detailed in later section)
+
+#### Network and Systems Administration
+- HQ office net admin, sysadmin
+- Site net admin support
+
+---
+
+### Computer Vision R&D
+<!-- TODO: hide in printed form -->
+<img
+ src="img/danusys-prism-animated.webp"
+ alt=""
+ width="600"
+ class="no-print">
+
+- **Project duration**: 1.5 years
+- **Written in**: C++
+- **Platforms**: Windows, Unix-like
+
+The following diagram illustrates the pipeline of the computer vision algorithm
+module for object detection and tracking I myself, under the supervision senior
+devs, developed from scratch.
+
+<img
+ src="img/danusys-prism_pipeline-0.webp"
+ alt=""
+ width="850">
+
+Live video streams are decoded on the edge node and fed to the pipeline for
+analysis. The estimated background image constantly gets updated by input
+frames. The generated background image is then diff'd against the latest frame
+to extract foreground objects. The object association model then takes the
+extracted foreground object as input to associate them with the objects appeared
+in the previous frames to make the best model of the object's characteristics
+including travel path, direction, speed, and type of object.
+
+The information is then consumed by other modules to perform various tasks,
+including, but not limited to:
+
+- PTZ tracking
+- Preset events e.g. intrusion, loitering
+- AI models, facial/plate recognition
+
+<img
+ src="img/danusys-prism_pipeline-1.webp"
+ alt=""
+ width="850">
+
+<!-- https://www.nytimes.com/2018/08/13/lens/surveillance-camera-photography.html -->
+
+The module is an amalgamation of several algorithms from various papers
+optimised for real-time performance and memory footprint. The module is still in
+use county-wide.
+
+### Media Codec Research
+<img
+ src="img/codec-research.webp"
+ alt=""
+ width="850">
+
+- **Project duration**: 6 months
+- **Written in**: C++
+- **Platforms**: Windows, Linux
+
+Media codecs are one of the critical components of the VMS solutions. New
+encoding standards are release every decade whilst numerous old cameras are
+stuck with legacy video encoding. Some camera vendors insist on supporting their
+own proprietary video encoding only to circumvent patent and
+[licence fee](https://en.wikipedia.org/wiki/MPEG_LA) issues.
+
+It's not unusual for a VMS solutions to support more than 20+ different video
+and audio encodings. This calls for a good codec abstraction layers to keep the
+software maintainability at bay.
+
+I was tasked to bring the codec abstraction and APIs up to the modern standard.
+
+#### Hardware accelerated codec
+<img
+ src="img/codec-traditional.webp"
+ alt=""
+ width="850">
+
+Another engineering challenge for the front apps is the large number of
+real-time video streams to decode simultaneously. Mid 2010 was when Intel, AMD
+and Nvidia started to embed ASIC video codec in the silicon die. Historically,
+the VMS apps had to rely soley on software-based decoding. Modern CPUs and GPUs
+are now capable of decoding 2-3 1080p streams at the same time. By utilising all
+of the hardware codecs in the CPU and GPU on a regular PC, some of the load
+required for video decoding can be offloaded to ASIC decoders. To put things in
+perspective, in a 4x4 viewing configuration, 5-6 out of 16 streams could be
+offloaded.
+
+Software-based codecs suffer from memory bandwidth starvation since fully
+decoded frames need to be transferred back and forth before they can be
+displayed:
+
+1. Decoding: encoded 264/HEVC data from memory to full YUV picture to memory
+1. Scaling: full YUV picture from memory to scaled down/up RGB picture to memory
+1. Rendering: RGB picture from memory to VRAM framebuffer
+
+Some optimisations can help skip the step 2, but there still remains the problem
+of having to transfer full 1080p frames 30 times per second through the PCIe
+bus. ASIC codecs provide what's called "zero-copy" solution, in which encoded
+frames are copied to the VRAM where they are decoded directly to the frame
+buffer.
+
+#### SoC codec
+<img
+ src="img/codec-research/imx.webp"
+ alt=""
+ width="250">
+
+There was a brief period when the company endeavoured the venture into the
+consumer NVR market in effort of diversifying the B2G portfolio. This meant the
+development of a low-cost SoC based NVR.
+
+Many video surveillance companies are faced with the same problem and constantly
+try to break free from government funding by venturing into the consumer market.
+The major issue is the scale of the domestic market and the fact that the global
+market is dominated by cheap Chinese and Taiwanese brands.
+
+Although the product never saw the light of day, my expertise was required for
+the development of the product. I added SoC codec support and ported all the
+backend daemons and frontend apps.
+
+## Hobbyist years
+### Failed video game project
+2018
+
+https://youtu.be/PaBgZEkTaFw?si=rI-nD-GpPrW28bEL
+
+### "Proone" Research Linux Worm Virus
+2019 - 2022
+
+https://github.com/dxdxdt/proone
+
+### Book: "Dev Log"
+Deep dive into network engineering(work in progress).
+
+## Open source project contributions
+| project | what | url |
+|-|-|-|
+| http-server | -H/--header option in line with curl(1) | https://github.com/http-party/http-server/pull/887 |
+| NetworkManager | Bug fix: default route pushed RIO(Router Information Option, RFC 4191) in IPv6 RA not honoured | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1666 |
+| TP-Link C20-v5 OpenWrt port | OpenWrt port for TP-Link Archer C20 v5, a cheap router found in Australian consumer retail | https://github.com/dxdxdt/tp-link_c20-v5.dev |