From 7f3d448eb98f1fd4c8edc18fdeb78342fd7a18d6 Mon Sep 17 00:00:00 2001 From: nakednous Date: Tue, 20 Jul 2021 15:45:24 +0000 Subject: [PATCH 01/49] deploy: a15970b7db8a32e9f1e219635b72fdd74c11d921 --- .nojekyll | 0 404.html | 1 + ...65f1bbb5167a4df0287f8376c42ce0cd7d1919.css | 1 + categories/Development/index.html | 37 + categories/Development/index.xml | 6 + categories/Development/page/1/index.html | 1 + categories/golang/index.html | 37 + categories/golang/index.xml | 6 + categories/golang/page/1/index.html | 1 + categories/index.html | 21 + categories/index.xml | 1 + categories/page/1/index.html | 1 + docs/index.html | 5 + docs/index.xml | 1 + docs/shortcodes/buttons/index.html | 13 + docs/shortcodes/columns/index.html | 31 + docs/shortcodes/details/index.html | 18 + docs/shortcodes/expand/index.html | 25 + docs/shortcodes/hints/index.html | 22 + docs/shortcodes/index.html | 6 + docs/shortcodes/index.xml | 14 + docs/shortcodes/katex/index.html | 17 + docs/shortcodes/mermaid/index.html | 32 + docs/shortcodes/p5/div/index.html | 72 ++ docs/shortcodes/p5/iframe/index.html | 159 +++++ docs/shortcodes/p5/index.html | 15 + docs/shortcodes/p5/index.xml | 7 + docs/shortcodes/tabs/index.html | 29 + ...12efca236ec7d224500826bb63c9b715c506e.json | 1 + ...d974aa0c7723c6a7b094c0ecb7bf95727cce64a.js | 1 + favicon.png | Bin 0 -> 109 bytes favicon.svg | 1 + flexsearch.min.js | 42 ++ fonts/roboto-mono-v13-latin-regular.woff | Bin 0 -> 15160 bytes fonts/roboto-mono-v13-latin-regular.woff2 | Bin 0 -> 12312 bytes fonts/roboto-v27-latin-700.woff | Bin 0 -> 20396 bytes fonts/roboto-v27-latin-700.woff2 | Bin 0 -> 15828 bytes fonts/roboto-v27-latin-regular.woff | Bin 0 -> 20332 bytes fonts/roboto-v27-latin-regular.woff2 | Bin 0 -> 15688 bytes index.html | 22 + index.xml | 28 + katex/auto-render.min.js | 1 + katex/fonts/KaTeX_AMS-Regular.ttf | Bin 0 -> 70972 bytes katex/fonts/KaTeX_AMS-Regular.woff | Bin 0 -> 38868 bytes katex/fonts/KaTeX_AMS-Regular.woff2 | Bin 0 -> 32944 bytes katex/fonts/KaTeX_Caligraphic-Bold.ttf | Bin 0 -> 19316 bytes katex/fonts/KaTeX_Caligraphic-Bold.woff | Bin 0 -> 11696 bytes katex/fonts/KaTeX_Caligraphic-Bold.woff2 | Bin 0 -> 10448 bytes katex/fonts/KaTeX_Caligraphic-Regular.ttf | Bin 0 -> 18684 bytes katex/fonts/KaTeX_Caligraphic-Regular.woff | Bin 0 -> 11460 bytes katex/fonts/KaTeX_Caligraphic-Regular.woff2 | Bin 0 -> 10240 bytes katex/fonts/KaTeX_Fraktur-Bold.ttf | Bin 0 -> 35660 bytes katex/fonts/KaTeX_Fraktur-Bold.woff | Bin 0 -> 22632 bytes katex/fonts/KaTeX_Fraktur-Bold.woff2 | Bin 0 -> 20360 bytes katex/fonts/KaTeX_Fraktur-Regular.ttf | Bin 0 -> 34352 bytes katex/fonts/KaTeX_Fraktur-Regular.woff | Bin 0 -> 22088 bytes katex/fonts/KaTeX_Fraktur-Regular.woff2 | Bin 0 -> 19784 bytes katex/fonts/KaTeX_Main-Bold.ttf | Bin 0 -> 60784 bytes katex/fonts/KaTeX_Main-Bold.woff | Bin 0 -> 35464 bytes katex/fonts/KaTeX_Main-Bold.woff2 | Bin 0 -> 30244 bytes katex/fonts/KaTeX_Main-BoldItalic.ttf | Bin 0 -> 44496 bytes katex/fonts/KaTeX_Main-BoldItalic.woff | Bin 0 -> 25352 bytes katex/fonts/KaTeX_Main-BoldItalic.woff2 | Bin 0 -> 21944 bytes katex/fonts/KaTeX_Main-Italic.ttf | Bin 0 -> 47640 bytes katex/fonts/KaTeX_Main-Italic.woff | Bin 0 -> 26228 bytes katex/fonts/KaTeX_Main-Italic.woff2 | Bin 0 -> 22748 bytes katex/fonts/KaTeX_Main-Regular.ttf | Bin 0 -> 69520 bytes katex/fonts/KaTeX_Main-Regular.woff | Bin 0 -> 38112 bytes katex/fonts/KaTeX_Main-Regular.woff2 | Bin 0 -> 32464 bytes katex/fonts/KaTeX_Math-BoldItalic.ttf | Bin 0 -> 39308 bytes katex/fonts/KaTeX_Math-BoldItalic.woff | Bin 0 -> 22324 bytes katex/fonts/KaTeX_Math-BoldItalic.woff2 | Bin 0 -> 19720 bytes katex/fonts/KaTeX_Math-Italic.ttf | Bin 0 -> 40992 bytes katex/fonts/KaTeX_Math-Italic.woff | Bin 0 -> 22844 bytes katex/fonts/KaTeX_Math-Italic.woff2 | Bin 0 -> 20096 bytes katex/fonts/KaTeX_SansSerif-Bold.ttf | Bin 0 -> 33688 bytes katex/fonts/KaTeX_SansSerif-Bold.woff | Bin 0 -> 18516 bytes katex/fonts/KaTeX_SansSerif-Bold.woff2 | Bin 0 -> 15732 bytes katex/fonts/KaTeX_SansSerif-Italic.ttf | Bin 0 -> 30960 bytes katex/fonts/KaTeX_SansSerif-Italic.woff | Bin 0 -> 17572 bytes katex/fonts/KaTeX_SansSerif-Italic.woff2 | Bin 0 -> 15024 bytes katex/fonts/KaTeX_SansSerif-Regular.ttf | Bin 0 -> 29812 bytes katex/fonts/KaTeX_SansSerif-Regular.woff | Bin 0 -> 16228 bytes katex/fonts/KaTeX_SansSerif-Regular.woff2 | Bin 0 -> 13708 bytes katex/fonts/KaTeX_Script-Regular.ttf | Bin 0 -> 24620 bytes katex/fonts/KaTeX_Script-Regular.woff | Bin 0 -> 13428 bytes katex/fonts/KaTeX_Script-Regular.woff2 | Bin 0 -> 12064 bytes katex/fonts/KaTeX_Size1-Regular.ttf | Bin 0 -> 12916 bytes katex/fonts/KaTeX_Size1-Regular.woff | Bin 0 -> 6696 bytes katex/fonts/KaTeX_Size1-Regular.woff2 | Bin 0 -> 5592 bytes katex/fonts/KaTeX_Size2-Regular.ttf | Bin 0 -> 12172 bytes katex/fonts/KaTeX_Size2-Regular.woff | Bin 0 -> 6436 bytes katex/fonts/KaTeX_Size2-Regular.woff2 | Bin 0 -> 5392 bytes katex/fonts/KaTeX_Size3-Regular.ttf | Bin 0 -> 8120 bytes katex/fonts/KaTeX_Size3-Regular.woff | Bin 0 -> 4568 bytes katex/fonts/KaTeX_Size3-Regular.woff2 | Bin 0 -> 3728 bytes katex/fonts/KaTeX_Size4-Regular.ttf | Bin 0 -> 11016 bytes katex/fonts/KaTeX_Size4-Regular.woff | Bin 0 -> 6184 bytes katex/fonts/KaTeX_Size4-Regular.woff2 | Bin 0 -> 5028 bytes katex/fonts/KaTeX_Typewriter-Regular.ttf | Bin 0 -> 35924 bytes katex/fonts/KaTeX_Typewriter-Regular.woff | Bin 0 -> 20260 bytes katex/fonts/KaTeX_Typewriter-Regular.woff2 | Bin 0 -> 17272 bytes katex/katex.min.css | 1 + katex/katex.min.js | 1 + manifest.json | 15 + mermaid.min.js | 32 + posts/creating-a-new-theme/index.html | 651 ++++++++++++++++++ posts/goisforlovers/index.html | 162 +++++ posts/hugoisforlovers/index.html | 48 ++ posts/index.html | 43 ++ posts/index.xml | 9 + posts/migrate-from-jekyll/index.html | 110 +++ posts/page/1/index.html | 1 + sitemap.xml | 1 + sketches/3d.js | 56 ++ sketches/colors.js | 33 + sketches/depthmap.frag | 26 + sketches/depthmap.js | 72 ++ sketches/doorbell.mp3 | Bin 0 -> 93408 bytes sketches/doorbell.ogg | Bin 0 -> 75385 bytes sketches/fingers.mov | Bin 0 -> 238059 bytes sketches/fingers.webm | Bin 0 -> 180517 bytes sketches/lenna.png | Bin 0 -> 473831 bytes sketches/mahakala.jpg | Bin 0 -> 138434 bytes sketches/mandrill.png | Bin 0 -> 218694 bytes sketches/mandrill.webm | Bin 0 -> 2009229 bytes sketches/omkara.png | Bin 0 -> 70379 bytes sketches/photomosaic.frag | 39 ++ sketches/photomosaic.js | 64 ++ sketches/scintillating.js | 37 + sketches/shader.vert | 46 ++ sketches/sound.js | 62 ++ sketches/video-canvas.js | 21 + sketches/video-dom.js | 17 + svg/calendar.svg | 1 + svg/edit.svg | 1 + svg/menu.svg | 1 + svg/toc.svg | 1 + svg/translate.svg | 1 + tags/development/index.html | 37 + tags/development/index.xml | 6 + tags/development/page/1/index.html | 1 + tags/go/index.html | 37 + tags/go/index.xml | 6 + tags/go/page/1/index.html | 1 + tags/golang/index.html | 37 + tags/golang/index.xml | 6 + tags/golang/page/1/index.html | 1 + tags/hugo/index.html | 30 + tags/hugo/index.xml | 5 + tags/hugo/page/1/index.html | 1 + tags/index.html | 21 + tags/index.xml | 1 + tags/page/1/index.html | 1 + tags/templates/index.html | 28 + tags/templates/index.xml | 2 + tags/templates/page/1/index.html | 1 + tags/themes/index.html | 28 + tags/themes/index.xml | 2 + tags/themes/page/1/index.html | 1 + 160 files changed, 2480 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 book.min.44d646274b130ab88a21f0e2d365f1bbb5167a4df0287f8376c42ce0cd7d1919.css create mode 100644 categories/Development/index.html create mode 100644 categories/Development/index.xml create mode 100644 categories/Development/page/1/index.html create mode 100644 categories/golang/index.html create mode 100644 categories/golang/index.xml create mode 100644 categories/golang/page/1/index.html create mode 100644 categories/index.html create mode 100644 categories/index.xml create mode 100644 categories/page/1/index.html create mode 100644 docs/index.html create mode 100644 docs/index.xml create mode 100644 docs/shortcodes/buttons/index.html create mode 100644 docs/shortcodes/columns/index.html create mode 100644 docs/shortcodes/details/index.html create mode 100644 docs/shortcodes/expand/index.html create mode 100644 docs/shortcodes/hints/index.html create mode 100644 docs/shortcodes/index.html create mode 100644 docs/shortcodes/index.xml create mode 100644 docs/shortcodes/katex/index.html create mode 100644 docs/shortcodes/mermaid/index.html create mode 100644 docs/shortcodes/p5/div/index.html create mode 100644 docs/shortcodes/p5/iframe/index.html create mode 100644 docs/shortcodes/p5/index.html create mode 100644 docs/shortcodes/p5/index.xml create mode 100644 docs/shortcodes/tabs/index.html create mode 100644 en.search-data.min.9f0b9afbe99dd5dc60375df05f812efca236ec7d224500826bb63c9b715c506e.json create mode 100644 en.search.min.86c04ee16d3918b9a3a5e123cd974aa0c7723c6a7b094c0ecb7bf95727cce64a.js create mode 100644 favicon.png create mode 100644 favicon.svg create mode 100644 flexsearch.min.js create mode 100644 fonts/roboto-mono-v13-latin-regular.woff create mode 100644 fonts/roboto-mono-v13-latin-regular.woff2 create mode 100644 fonts/roboto-v27-latin-700.woff create mode 100644 fonts/roboto-v27-latin-700.woff2 create mode 100644 fonts/roboto-v27-latin-regular.woff create mode 100644 fonts/roboto-v27-latin-regular.woff2 create mode 100644 index.html create mode 100644 index.xml create mode 100644 katex/auto-render.min.js create mode 100644 katex/fonts/KaTeX_AMS-Regular.ttf create mode 100644 katex/fonts/KaTeX_AMS-Regular.woff create mode 100644 katex/fonts/KaTeX_AMS-Regular.woff2 create mode 100644 katex/fonts/KaTeX_Caligraphic-Bold.ttf create mode 100644 katex/fonts/KaTeX_Caligraphic-Bold.woff create mode 100644 katex/fonts/KaTeX_Caligraphic-Bold.woff2 create mode 100644 katex/fonts/KaTeX_Caligraphic-Regular.ttf create mode 100644 katex/fonts/KaTeX_Caligraphic-Regular.woff create mode 100644 katex/fonts/KaTeX_Caligraphic-Regular.woff2 create mode 100644 katex/fonts/KaTeX_Fraktur-Bold.ttf create mode 100644 katex/fonts/KaTeX_Fraktur-Bold.woff create mode 100644 katex/fonts/KaTeX_Fraktur-Bold.woff2 create mode 100644 katex/fonts/KaTeX_Fraktur-Regular.ttf create mode 100644 katex/fonts/KaTeX_Fraktur-Regular.woff create mode 100644 katex/fonts/KaTeX_Fraktur-Regular.woff2 create mode 100644 katex/fonts/KaTeX_Main-Bold.ttf create mode 100644 katex/fonts/KaTeX_Main-Bold.woff create mode 100644 katex/fonts/KaTeX_Main-Bold.woff2 create mode 100644 katex/fonts/KaTeX_Main-BoldItalic.ttf create mode 100644 katex/fonts/KaTeX_Main-BoldItalic.woff create mode 100644 katex/fonts/KaTeX_Main-BoldItalic.woff2 create mode 100644 katex/fonts/KaTeX_Main-Italic.ttf create mode 100644 katex/fonts/KaTeX_Main-Italic.woff create mode 100644 katex/fonts/KaTeX_Main-Italic.woff2 create mode 100644 katex/fonts/KaTeX_Main-Regular.ttf create mode 100644 katex/fonts/KaTeX_Main-Regular.woff create mode 100644 katex/fonts/KaTeX_Main-Regular.woff2 create mode 100644 katex/fonts/KaTeX_Math-BoldItalic.ttf create mode 100644 katex/fonts/KaTeX_Math-BoldItalic.woff create mode 100644 katex/fonts/KaTeX_Math-BoldItalic.woff2 create mode 100644 katex/fonts/KaTeX_Math-Italic.ttf create mode 100644 katex/fonts/KaTeX_Math-Italic.woff create mode 100644 katex/fonts/KaTeX_Math-Italic.woff2 create mode 100644 katex/fonts/KaTeX_SansSerif-Bold.ttf create mode 100644 katex/fonts/KaTeX_SansSerif-Bold.woff create mode 100644 katex/fonts/KaTeX_SansSerif-Bold.woff2 create mode 100644 katex/fonts/KaTeX_SansSerif-Italic.ttf create mode 100644 katex/fonts/KaTeX_SansSerif-Italic.woff create mode 100644 katex/fonts/KaTeX_SansSerif-Italic.woff2 create mode 100644 katex/fonts/KaTeX_SansSerif-Regular.ttf create mode 100644 katex/fonts/KaTeX_SansSerif-Regular.woff create mode 100644 katex/fonts/KaTeX_SansSerif-Regular.woff2 create mode 100644 katex/fonts/KaTeX_Script-Regular.ttf create mode 100644 katex/fonts/KaTeX_Script-Regular.woff create mode 100644 katex/fonts/KaTeX_Script-Regular.woff2 create mode 100644 katex/fonts/KaTeX_Size1-Regular.ttf create mode 100644 katex/fonts/KaTeX_Size1-Regular.woff create mode 100644 katex/fonts/KaTeX_Size1-Regular.woff2 create mode 100644 katex/fonts/KaTeX_Size2-Regular.ttf create mode 100644 katex/fonts/KaTeX_Size2-Regular.woff create mode 100644 katex/fonts/KaTeX_Size2-Regular.woff2 create mode 100644 katex/fonts/KaTeX_Size3-Regular.ttf create mode 100644 katex/fonts/KaTeX_Size3-Regular.woff create mode 100644 katex/fonts/KaTeX_Size3-Regular.woff2 create mode 100644 katex/fonts/KaTeX_Size4-Regular.ttf create mode 100644 katex/fonts/KaTeX_Size4-Regular.woff create mode 100644 katex/fonts/KaTeX_Size4-Regular.woff2 create mode 100644 katex/fonts/KaTeX_Typewriter-Regular.ttf create mode 100644 katex/fonts/KaTeX_Typewriter-Regular.woff create mode 100644 katex/fonts/KaTeX_Typewriter-Regular.woff2 create mode 100644 katex/katex.min.css create mode 100644 katex/katex.min.js create mode 100644 manifest.json create mode 100644 mermaid.min.js create mode 100644 posts/creating-a-new-theme/index.html create mode 100644 posts/goisforlovers/index.html create mode 100644 posts/hugoisforlovers/index.html create mode 100644 posts/index.html create mode 100644 posts/index.xml create mode 100644 posts/migrate-from-jekyll/index.html create mode 100644 posts/page/1/index.html create mode 100644 sitemap.xml create mode 100644 sketches/3d.js create mode 100644 sketches/colors.js create mode 100644 sketches/depthmap.frag create mode 100644 sketches/depthmap.js create mode 100644 sketches/doorbell.mp3 create mode 100644 sketches/doorbell.ogg create mode 100644 sketches/fingers.mov create mode 100644 sketches/fingers.webm create mode 100644 sketches/lenna.png create mode 100644 sketches/mahakala.jpg create mode 100644 sketches/mandrill.png create mode 100644 sketches/mandrill.webm create mode 100644 sketches/omkara.png create mode 100644 sketches/photomosaic.frag create mode 100644 sketches/photomosaic.js create mode 100644 sketches/scintillating.js create mode 100644 sketches/shader.vert create mode 100644 sketches/sound.js create mode 100644 sketches/video-canvas.js create mode 100644 sketches/video-dom.js create mode 100644 svg/calendar.svg create mode 100644 svg/edit.svg create mode 100644 svg/menu.svg create mode 100644 svg/toc.svg create mode 100644 svg/translate.svg create mode 100644 tags/development/index.html create mode 100644 tags/development/index.xml create mode 100644 tags/development/page/1/index.html create mode 100644 tags/go/index.html create mode 100644 tags/go/index.xml create mode 100644 tags/go/page/1/index.html create mode 100644 tags/golang/index.html create mode 100644 tags/golang/index.xml create mode 100644 tags/golang/page/1/index.html create mode 100644 tags/hugo/index.html create mode 100644 tags/hugo/index.xml create mode 100644 tags/hugo/page/1/index.html create mode 100644 tags/index.html create mode 100644 tags/index.xml create mode 100644 tags/page/1/index.html create mode 100644 tags/templates/index.html create mode 100644 tags/templates/index.xml create mode 100644 tags/templates/page/1/index.html create mode 100644 tags/themes/index.html create mode 100644 tags/themes/index.xml create mode 100644 tags/themes/page/1/index.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..c6887358 --- /dev/null +++ b/404.html @@ -0,0 +1 @@ +404 Page not found | Visual Computing

404

Page Not Found

Visual Computing

\ No newline at end of file diff --git a/book.min.44d646274b130ab88a21f0e2d365f1bbb5167a4df0287f8376c42ce0cd7d1919.css b/book.min.44d646274b130ab88a21f0e2d365f1bbb5167a4df0287f8376c42ce0cd7d1919.css new file mode 100644 index 00000000..aa57aacd --- /dev/null +++ b/book.min.44d646274b130ab88a21f0e2d365f1bbb5167a4df0287f8376c42ce0cd7d1919.css @@ -0,0 +1 @@ +@charset "UTF-8";:root{--gray-100:rgba(255, 255, 255, 0.1);--gray-200:rgba(255, 255, 255, 0.2);--gray-500:rgba(255, 255, 255, 0.5);--color-link:#84b2ff;--color-visited-link:#b88dff;--body-background:#343a40;--body-font-color:#e9ecef;--icon-filter:brightness(0) invert(1);--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0}.book-brand img{height:1.5em;width:auto;vertical-align:middle;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸"}.book-menu input.toggle:checked+label::after{content:"▾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"▾"}.book-section-flat{margin-bottom:2rem}.book-section-flat:not(:first-child){margin-top:2rem}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header img.book-icon{height:1.5em;width:1.5em}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{position:relative;overflow:visible;padding:1rem;margin:-1rem}.book-languages ul{margin:0;padding:0;list-style:none}.book-languages ul li{white-space:nowrap;cursor:pointer}.book-languages:hover .book-languages-list,.book-languages:focus .book-languages-list,.book-languages:focus-within .book-languages-list{display:block}.book-languages .book-languages-list{display:none;position:absolute;bottom:100%;left:0;padding:.5rem 0;background:var(--body-background);box-shadow:0 0 .25rem rgba(0,0,0,.1)}.book-languages .book-languages-list li img{opacity:.25}.book-languages .book-languages-list li.active img,.book-languages .book-languages-list li:hover img{opacity:initial}.book-languages .book-languages-list a{color:inherit;padding:.5rem 1rem}.book-home{padding:1rem}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)} \ No newline at end of file diff --git a/categories/Development/index.html b/categories/Development/index.html new file mode 100644 index 00000000..48be1647 --- /dev/null +++ b/categories/Development/index.html @@ -0,0 +1,37 @@ +Development | Visual Computing +
+Development +

(Hu)go Template Primer

April 2, 2014
Development, +golang
go, +golang, +templates, +themes, +development

Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates. +...

Getting Started with Hugo

April 2, 2014
Development, +golang
go, +golang, +hugo, +development

Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +Save it somewhere specific as we will be using it in the next step. +More complete instructions are available at Install Hugo +Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. +Follow the following steps: +...

\ No newline at end of file diff --git a/categories/Development/index.xml b/categories/Development/index.xml new file mode 100644 index 00000000..c23ec358 --- /dev/null +++ b/categories/Development/index.xml @@ -0,0 +1,6 @@ +Development on Visual Computinghttps://visualcomputing.github.io/hugo-vc/categories/Development/Recent content in Development on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +Save it somewhere specific as we will be using it in the next step. +More complete instructions are available at Install Hugo +Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. +Follow the following steps: \ No newline at end of file diff --git a/categories/Development/page/1/index.html b/categories/Development/page/1/index.html new file mode 100644 index 00000000..620b3136 --- /dev/null +++ b/categories/Development/page/1/index.html @@ -0,0 +1 @@ +https://visualcomputing.github.io/hugo-vc/categories/Development/ \ No newline at end of file diff --git a/categories/golang/index.html b/categories/golang/index.html new file mode 100644 index 00000000..977a92e6 --- /dev/null +++ b/categories/golang/index.html @@ -0,0 +1,37 @@ +golang | Visual Computing +
+golang +

(Hu)go Template Primer

April 2, 2014
Development, +golang
go, +golang, +templates, +themes, +development

Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates. +...

Getting Started with Hugo

April 2, 2014
Development, +golang
go, +golang, +hugo, +development

Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +Save it somewhere specific as we will be using it in the next step. +More complete instructions are available at Install Hugo +Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. +Follow the following steps: +...

\ No newline at end of file diff --git a/categories/golang/index.xml b/categories/golang/index.xml new file mode 100644 index 00000000..a5dc5aed --- /dev/null +++ b/categories/golang/index.xml @@ -0,0 +1,6 @@ +golang on Visual Computinghttps://visualcomputing.github.io/hugo-vc/categories/golang/Recent content in golang on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +Save it somewhere specific as we will be using it in the next step. +More complete instructions are available at Install Hugo +Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. +Follow the following steps: \ No newline at end of file diff --git a/categories/golang/page/1/index.html b/categories/golang/page/1/index.html new file mode 100644 index 00000000..7a7939ee --- /dev/null +++ b/categories/golang/page/1/index.html @@ -0,0 +1 @@ +https://visualcomputing.github.io/hugo-vc/categories/golang/ \ No newline at end of file diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 00000000..10bfecf8 --- /dev/null +++ b/categories/index.html @@ -0,0 +1,21 @@ +Categories | Visual Computing +
+Categories +
\ No newline at end of file diff --git a/categories/index.xml b/categories/index.xml new file mode 100644 index 00000000..8fe84320 --- /dev/null +++ b/categories/index.xml @@ -0,0 +1 @@ +Categories on Visual Computinghttps://visualcomputing.github.io/hugo-vc/categories/Recent content in Categories on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000Developmenthttps://visualcomputing.github.io/hugo-vc/categories/Development/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/categories/Development/golanghttps://visualcomputing.github.io/hugo-vc/categories/golang/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/categories/golang/ \ No newline at end of file diff --git a/categories/page/1/index.html b/categories/page/1/index.html new file mode 100644 index 00000000..035dfd5d --- /dev/null +++ b/categories/page/1/index.html @@ -0,0 +1 @@ +https://visualcomputing.github.io/hugo-vc/categories/ \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..26fd34a5 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,5 @@ +Docs | Visual Computing +
+Docs +
\ No newline at end of file diff --git a/docs/index.xml b/docs/index.xml new file mode 100644 index 00000000..c4307bff --- /dev/null +++ b/docs/index.xml @@ -0,0 +1 @@ +Docs on Visual Computinghttps://visualcomputing.github.io/hugo-vc/docs/Recent content in Docs on Visual ComputingHugo -- gohugo.ioen-us \ No newline at end of file diff --git a/docs/shortcodes/buttons/index.html b/docs/shortcodes/buttons/index.html new file mode 100644 index 00000000..122a9ddb --- /dev/null +++ b/docs/shortcodes/buttons/index.html @@ -0,0 +1,13 @@ +Buttons | Visual Computing +
+Buttons +

Buttons +#

Buttons are styled links that can lead to local page or external link.

Example +#

{{< button relref="/" [class="..."] >}}Get Home{{< /button >}}
+{{< button href="https://github.com/alex-shpak/hugo-book" >}}Contribute{{< /button >}}
+

Get Home +Contribute

\ No newline at end of file diff --git a/docs/shortcodes/columns/index.html b/docs/shortcodes/columns/index.html new file mode 100644 index 00000000..11961d83 --- /dev/null +++ b/docs/shortcodes/columns/index.html @@ -0,0 +1,31 @@ +Columns | Visual Computing +
+Columns +

Columns +#

Columns help organize shorter pieces of content horizontally for readability.

{{< columns >}} <!-- begin columns block -->
+# Left Content
+Lorem markdownum insigne...
+
+<---> <!-- magic separator, between columns -->
+
+# Mid Content
+Lorem markdownum insigne...
+
+<---> <!-- magic separator, between columns -->
+
+# Right Content
+Lorem markdownum insigne...
+{{< /columns >}}
+

Example +#

Left Content

Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat +stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa +protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. +Miseratus fonte Ditis conubia.

Mid Content

Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat +stringit, frustra Saturnius uteroque inter!

Right Content

Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat +stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa +protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. +Miseratus fonte Ditis conubia.

\ No newline at end of file diff --git a/docs/shortcodes/details/index.html b/docs/shortcodes/details/index.html new file mode 100644 index 00000000..b329ba62 --- /dev/null +++ b/docs/shortcodes/details/index.html @@ -0,0 +1,18 @@ +Details | Visual Computing +
+Details +

Details +#

Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.

Example +#

{{< details "Title" [open] >}}
+## Markdown content
+Lorem markdownum insigne...
+{{< /details >}}
+
{{< details title="Title" open=true >}}
+## Markdown content
+Lorem markdownum insigne...
+{{< /details >}}
+
Title

Markdown content

Lorem markdownum insigne…

\ No newline at end of file diff --git a/docs/shortcodes/expand/index.html b/docs/shortcodes/expand/index.html new file mode 100644 index 00000000..d74d0a1b --- /dev/null +++ b/docs/shortcodes/expand/index.html @@ -0,0 +1,25 @@ +Expand | Visual Computing +
+Expand +

Expand +#

Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.

Example +#

Default +#

{{< expand >}}
+## Markdown content
+Lorem markdownum insigne...
+{{< /expand >}}
+

With Custom Label +#

{{< expand "Custom Label" "..." >}}
+## Markdown content
+Lorem markdownum insigne...
+{{< /expand >}}
+
\ No newline at end of file diff --git a/docs/shortcodes/hints/index.html b/docs/shortcodes/hints/index.html new file mode 100644 index 00000000..30fc18e4 --- /dev/null +++ b/docs/shortcodes/hints/index.html @@ -0,0 +1,22 @@ +Hints | Visual Computing +
+Hints +

Hints +#

Hint shortcode can be used as hint/alerts/notification block.
There are 3 colors to choose: info, warning and danger.

{{< hint [info|warning|danger] >}}
+**Markdown content**  
+Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
+stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
+{{< /hint >}}
+

Example +#

Markdown content
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat +stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
Markdown content
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat +stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
Markdown content
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat +stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
\ No newline at end of file diff --git a/docs/shortcodes/index.html b/docs/shortcodes/index.html new file mode 100644 index 00000000..9fa0cc25 --- /dev/null +++ b/docs/shortcodes/index.html @@ -0,0 +1,6 @@ +Shortcodes | Visual Computing +
+Shortcodes +
\ No newline at end of file diff --git a/docs/shortcodes/index.xml b/docs/shortcodes/index.xml new file mode 100644 index 00000000..43bf9eb7 --- /dev/null +++ b/docs/shortcodes/index.xml @@ -0,0 +1,14 @@ +Visual Computinghttps://visualcomputing.github.io/hugo-vc/docs/shortcodes/Recent content on Visual ComputingHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/buttons/</guid><description>Buttons # Buttons are styled links that can lead to local page or external link. +Example # {{&lt; button relref=&#34;/&#34; [class=&#34;...&#34;] &gt;}}Get Home{{&lt; /button &gt;}} {{&lt; button href=&#34;https://github.com/alex-shpak/hugo-book&#34; &gt;}}Contribute{{&lt; /button &gt;}} Get Home Contribute</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/columns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/columns/</guid><description>Columns # Columns help organize shorter pieces of content horizontally for readability. +{{&lt; columns &gt;}} &lt;!-- begin columns block --&gt; # Left Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Mid Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Right Content Lorem markdownum insigne... {{&lt; /columns &gt;}} Example # Left Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter!</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/details/</guid><description>Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode. +Example # {{&lt; details &#34;Title&#34; [open] &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} {{&lt; details title=&#34;Title&#34; open=true &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} Title Markdown content Lorem markdownum insigne&hellip;</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/expand/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/expand/</guid><description>Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it. +Example # Default # {{&lt; expand &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /expand &gt;}} Expand ↕ Markdown content Lorem markdownum insigne&hellip; With Custom Label # {{&lt; expand &#34;Custom Label&#34; &#34;...&#34; &gt;}} ## Markdown content Lorem markdownum insigne.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/hints/</guid><description>Hints # Hint shortcode can be used as hint/alerts/notification block. +There are 3 colors to choose: info, warning and danger. +{{&lt; hint [info|warning|danger] &gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{&lt; /hint &gt;}} Example # Markdown content +Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/katex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/katex/</guid><description>KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX +Example # {{&lt; katex [display] [class=&#34;text-center&#34;] &gt;}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{&lt; /katex &gt;}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/mermaid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/mermaid/</guid><description>Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text. +Override Mermaid Initialization Config +To override the initialization config for Mermaid, create a mermaid.json file in your assets folder! +Example # {{&lt; mermaid [class=&#34;text-center&#34;]&gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --&gt; State2 note left of State2 : This is the note to the left.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/tabs/</guid><description>Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +{{&lt; tabs &#34;uniqueid&#34; &gt;}} {{&lt; tab &#34;MacOS&#34; &gt;}} # MacOS Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Linux&#34; &gt;}} # Linux Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Windows&#34; &gt;}} # Windows Content {{&lt; /tab &gt;}} {{&lt; /tabs &gt;}} Example # MacOS MacOS This is tab MacOS content. +Lorem markdownum insigne. Olympo signis Delphis!</description></item></channel></rss> \ No newline at end of file diff --git a/docs/shortcodes/katex/index.html b/docs/shortcodes/katex/index.html new file mode 100644 index 00000000..8042bb59 --- /dev/null +++ b/docs/shortcodes/katex/index.html @@ -0,0 +1,17 @@ +<!doctype html><html lang=en dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX +Example # {{< katex [display] [class="text-center"] >}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{< /katex >}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here."><meta name=theme-color content="#FFFFFF"><meta property="og:title" content><meta property="og:description" content="KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX +Example # {{< katex [display] [class="text-center"] >}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{< /katex >}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here."><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/hugo-vc/docs/shortcodes/katex/"><meta property="article:section" content="docs"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Katex | Visual Computing +
+Katex +

KaTeX +#

KaTeX shortcode let you render math typesetting in markdown document. See KaTeX

Example +#

{{< katex [display] [class="text-center"]  >}}
+f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi
+{{< /katex >}}
+
\[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\]

Display Mode Example +#

Here is some inline example: \(\pi(x)\) +, rendered in the same line. And below is display example, having display: block +\[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] +Text continues here.

\ No newline at end of file diff --git a/docs/shortcodes/mermaid/index.html b/docs/shortcodes/mermaid/index.html new file mode 100644 index 00000000..2a9084ec --- /dev/null +++ b/docs/shortcodes/mermaid/index.html @@ -0,0 +1,32 @@ +Mermaid | Visual Computing +
+Mermaid +

Mermaid Chart +#

MermaidJS is library for generating svg charts and diagrams from text.

Override Mermaid Initialization Config

To override the initialization config for Mermaid, +create a mermaid.json file in your assets folder!

Example +#

{{< mermaid [class="text-center"]>}}
+stateDiagram-v2
+    State1: The state with a note
+    note right of State1
+        Important information! You can write
+        notes.
+    end note
+    State1 --> State2
+    note left of State2 : This is the note to the left.
+{{< /mermaid >}}
+

stateDiagram-v2 +State1: The state with a note +note right of State1 +Important information! You can write +notes. +end note +State1 --> State2 +note left of State2 : This is the note to the left.

\ No newline at end of file diff --git a/docs/shortcodes/p5/div/index.html b/docs/shortcodes/p5/div/index.html new file mode 100644 index 00000000..25bf5b61 --- /dev/null +++ b/docs/shortcodes/p5/div/index.html @@ -0,0 +1,72 @@ +Div | Visual Computing +
+Div +

p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.

p5-div +#

{{< p5-div ver="1.4.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}}
+

All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

Scintillating grid +#

Look at this and also this among many more references there are.

p5-div markdown
{{< p5-div sketch="/hugo-vc/sketches/scintillating.js" >}}
+

p5-instance-div +#

{{< p5-instance-div id="sketchid" ver="1.4.0" lib1="https://cdntolib1/lib1.js" >}}
+  // inline sketch code
+{{< /p5-instance-div >}}
+
Note that the inline sketch should be coded in p5 instance mode syntax.

All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

Lilac chaser +#

Look at this introductory reference.

p5-instance-div markdown
{{< p5-instance-div id="lilac-chaser" >}}
+  // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js)
+  let jump = 0;
+  let count = 0;
+
+  p5.setup = function() {
+    p5.createCanvas(400, 400);
+    p5.frameRate(7);
+  };
+
+  function drawBlurCircles(x, y, r) {
+    p5.push();
+    p5.noStroke();
+    var opc = 0.4;
+    var step = 3.0/r;
+
+    for (var i = r; i > 0; i-=1.5) {
+      if (opc < 5) {
+        opc += step;
+        p5.fill(255, 20, 180, opc);
+      }
+      p5.ellipse(x, y, i, i);
+    }
+    p5.pop();
+  };
+
+  p5.draw = function() {
+    p5.background(200);
+    var numCircles = 12;
+    var stepAngle = 360.0/numCircles;
+    p5.push();
+    p5.translate(p5.width/2.0, p5.height/2.0);
+    for (var i = 0; i < 360; i = i + stepAngle) {
+      if (i != jump) {
+        p5.push();
+        p5.rotate(p5.radians(i));
+        drawBlurCircles(120, 0, 60);
+        p5.pop();
+      }
+    }
+    if( !p5.mouseIsPressed ) {
+      jump = (jump + stepAngle)%360;
+    }
+    p5.push();
+    p5.strokeWeight(1.5);
+    p5.line(-7, 0, 7, 0);
+    p5.line(0, -7, 0, 7);
+    p5.pop();
+    p5.pop();
+  }
+{{< /p5-instance-div >}}
+
Note that p5 should be the name to be used for the sketch object variable.
\ No newline at end of file diff --git a/docs/shortcodes/p5/iframe/index.html b/docs/shortcodes/p5/iframe/index.html new file mode 100644 index 00000000..74e5c6d2 --- /dev/null +++ b/docs/shortcodes/p5/iframe/index.html @@ -0,0 +1,159 @@ +Iframe | Visual Computing +
+Iframe +

p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.

p5-iframe +#

{{< p5-iframe ver="1.4.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}}
+

All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

Color relativity +#

Look at this brief explanation about what color relativity is.

p5-iframe markdown
{{< p5-iframe sketch="/hugo-vc/sketches/colors.js" width="725" height="425 >}}
+

Everything is ॐ +#

p5-iframe markdown
{{< p5-iframe sketch="/hugo-vc/sketches/photomosaic.js" width="625" height="625" >}}
+

Depth map +#

Look for some depthmap usecases.

p5-iframe markdown
{{< p5-iframe sketch="/hugo-vc/sketches/depthmap.js" lib1="https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.js" width="725" height="625" >}}
+

p5-global-iframe +#

{{< p5-global-iframe id="sketchid" ver="1.4.0" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}}
+  // inline sketch code
+{{< /p5-global-iframe >}}
+
Note that the inline sketch should be coded in p5 global mode syntax.

All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

Breathing square +#

Look at this reference for an explanation and further parameterization of the illusion.

p5-global-iframe markdown
{{< p5-global-iframe id="breath" width="625" height="625" >}}
+  // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js)
+  let angle = 0;
+  let speed = 0.06;
+
+  function setup() {
+    createCanvas(600, 600);
+  }
+
+  function draw() {
+    background(255, 255, 255);
+    rotateSquare();
+    if (!mouseIsPressed) {
+      strokeWeight(0);
+      stroke(0);
+      fill(255, 140, 0);
+      rect(0, 0, 281, 281);
+      rect(318, 0, 281, 281);
+      rect(0, 318, 281, 281);
+      rect(318, 318, 281, 281);
+    }
+  }
+
+  function rotateSquare() {
+    push();
+    angle += speed;
+    strokeWeight(0);
+    stroke(0);
+    fill(0, 0, 255);
+    translate(width / 2, height / 2);
+    rotate(angle);
+    rect(-187.5, -187.5, 375, 375);
+    pop();
+  }
+{{< /p5-global-iframe >}}
+
\ No newline at end of file diff --git a/docs/shortcodes/p5/index.html b/docs/shortcodes/p5/index.html new file mode 100644 index 00000000..1e054a58 --- /dev/null +++ b/docs/shortcodes/p5/index.html @@ -0,0 +1,15 @@ +P5 | Visual Computing +
+P5 +

p5 +#

p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.

Types +#

Div
p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. +p5-div # {{< p5-div ver="1.4.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +Scintillating grid # Look at this and also this among many more references there are. +p5-div markdown {{< p5-div sketch="/hugo-vc/sketches/scintillating.
Iframe
p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. +p5-iframe # {{< p5-iframe ver="1.4.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +Color relativity # Look at this brief explanation about what color relativity is. +p5-iframe markdown {{< p5-iframe sketch="/hugo-vc/sketches/colors.
\ No newline at end of file diff --git a/docs/shortcodes/p5/index.xml b/docs/shortcodes/p5/index.xml new file mode 100644 index 00000000..151d3dfe --- /dev/null +++ b/docs/shortcodes/p5/index.xml @@ -0,0 +1,7 @@ +Visual Computinghttps://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/Recent content on Visual ComputingHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. +p5-div # {{&lt; p5-div ver=&#34;1.4.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +Scintillating grid # Look at this and also this among many more references there are. +p5-div markdown {{&lt; p5-div sketch=&#34;/hugo-vc/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. +p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +Color relativity # Look at this brief explanation about what color relativity is. +p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/hugo-vc/sketches/colors.</description></item></channel></rss> \ No newline at end of file diff --git a/docs/shortcodes/tabs/index.html b/docs/shortcodes/tabs/index.html new file mode 100644 index 00000000..bf004a25 --- /dev/null +++ b/docs/shortcodes/tabs/index.html @@ -0,0 +1,29 @@ +<!doctype html><html lang=en dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +{{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS This is tab MacOS content. +Lorem markdownum insigne. Olympo signis Delphis!"><meta name=theme-color content="#FFFFFF"><meta property="og:title" content><meta property="og:description" content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +{{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS This is tab MacOS content. +Lorem markdownum insigne. Olympo signis Delphis!"><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/hugo-vc/docs/shortcodes/tabs/"><meta property="article:section" content="docs"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Tabs | Visual Computing +
+Tabs +

Tabs +#

Tabs let you organize content by context, for example installation instructions for each supported platform.

{{< tabs "uniqueid" >}}
+{{< tab "MacOS" >}} # MacOS Content {{< /tab >}}
+{{< tab "Linux" >}} # Linux Content {{< /tab >}}
+{{< tab "Windows" >}} # Windows Content {{< /tab >}}
+{{< /tabs >}}
+

Example +#

+

MacOS

This is tab MacOS content.

Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat +stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa +protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. +Miseratus fonte Ditis conubia.

+

Linux

This is tab Linux content.

Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat +stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa +protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. +Miseratus fonte Ditis conubia.

+

Windows

This is tab Windows content.

Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat +stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa +protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. +Miseratus fonte Ditis conubia.

\ No newline at end of file diff --git a/en.search-data.min.9f0b9afbe99dd5dc60375df05f812efca236ec7d224500826bb63c9b715c506e.json b/en.search-data.min.9f0b9afbe99dd5dc60375df05f812efca236ec7d224500826bb63c9b715c506e.json new file mode 100644 index 00000000..32aafd6d --- /dev/null +++ b/en.search-data.min.9f0b9afbe99dd5dc60375df05f812efca236ec7d224500826bb63c9b715c506e.json @@ -0,0 +1 @@ +[{"id":0,"href":"/hugo-vc/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":"Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026quot;2014-09-28\u0026quot; title = \u0026quot;creating a new theme\u0026quot; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026quot;2014-09-28\u0026quot; title = \u0026quot;creating a new theme\u0026quot; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026quot;michael d henderson\u0026quot; description = \u0026quot;a minimal working template\u0026quot; license = \u0026quot;MIT\u0026quot; name = \u0026quot;zafta\u0026quot; source_repo = \u0026quot;\u0026quot; tags = [\u0026quot;tags\u0026quot;, \u0026quot;categories\u0026quot;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026quot;YOUR_NAME_HERE\u0026quot; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026quot;zafta\u0026quot; baseurl = \u0026quot;\u0026quot; languageCode = \u0026quot;en-us\u0026quot; title = \u0026quot;zafta - totally refreshing\u0026quot; MetaDataFormat = \u0026quot;toml\u0026quot; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\n Hugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\n Purge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026quot;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026quot;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\n index.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write('\u0026lt;script src=\u0026quot;http://' + (location.host || 'localhost').split(':')[0] + ':1313/livereload.js?mindelay=10\u0026quot;\u0026gt;\u0026lt;/' + 'script\u0026gt;')\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026quot;\u0026quot; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026quot;\u0026quot; Tags = [] date = \u0026quot;2014-09-29T21:54:53-05:00\u0026quot; title = \u0026quot;first\u0026quot; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026quot;\u0026quot; Tags = [] date = \u0026quot;2014-09-29T21:57:09-05:00\u0026quot; title = \u0026quot;second\u0026quot; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026quot;category\u0026quot;:\u0026quot;categories\u0026quot;, \u0026quot;tag\u0026quot;:\u0026quot;tags\u0026quot;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\n range .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026quot;tag\u0026quot;:\u0026quot;tags\u0026quot;, \u0026quot;category\u0026quot;:\u0026quot;categories\u0026quot;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026quot;tag\u0026quot;:\u0026quot;tags\u0026quot;, \u0026quot;category\u0026quot;:\u0026quot;categories\u0026quot;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026quot;tag\u0026quot;:\u0026quot;tags\u0026quot;, \u0026quot;category\u0026quot;:\u0026quot;categories\u0026quot;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;/post/second/\u0026quot;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;/post/first/\u0026quot;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026quot;about\u0026quot; description = \u0026quot;about this site\u0026quot; date = \u0026quot;2014-09-27\u0026quot; slug = \u0026quot;about time\u0026quot; +++ ## about us i'm speechless :wq Generate the web site and verify the results.\n$ find public -name '*.html' | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;http://localhost:1313/post/theme/\u0026quot;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;http://localhost:1313/about-time/\u0026quot;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;http://localhost:1313/post/second-post/\u0026quot;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;http://localhost:1313/post/first-post/\u0026quot;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write('\u0026lt;script src=\u0026quot;http://' + (location.host || 'localhost').split(':')[0] + ':1313/livereload.js?mindelay=10\u0026quot;\u0026gt;\u0026lt;/' + 'script\u0026gt;')\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026quot;post\u0026quot;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026quot;page\u0026quot; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name '*.html' | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026quot;/:title/\u0026quot; about = \u0026quot;/:filename/\u0026quot; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026quot;theme/partials/header.html\u0026quot; . }} versus\n{{ partial \u0026quot;header.html\u0026quot; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026quot;post\u0026quot;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026quot;page\u0026quot;) (eq .Type \u0026quot;about\u0026quot;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026quot;Mon, Jan 2, 2006\u0026quot; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026quot;Mon, Jan 2, 2006\u0026quot; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026quot;Mon, Jan 2, 2006\u0026quot; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":1,"href":"/hugo-vc/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":"Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\n Change your submodule to point to map gh-pages to public instead of _site (recommended).\n git submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n { .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":2,"href":"/hugo-vc/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\n false 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n {{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026quot;Permalinks\u0026quot; date: \u0026quot;2013-11-18\u0026quot; aliases: - \u0026quot;/doc/permalinks/\u0026quot; groups: [\u0026quot;extras\u0026quot;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n {{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026quot;text-center\u0026quot;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026quot;twitter\u0026quot;\u0026gt; \u0026lt;a href=\u0026quot;https://twitter.com/{{.}}\u0026quot; rel=\u0026quot;author\u0026quot;\u0026gt; \u0026lt;img src=\u0026quot;/images/twitter.png\u0026quot; width=\u0026quot;48\u0026quot; height=\u0026quot;48\u0026quot; title=\u0026quot;Twitter: {{.}}\u0026quot; alt=\u0026quot;Twitter\u0026quot;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026quot;recent\u0026quot;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;{{.RelPermalink}}\u0026quot;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":3,"href":"/hugo-vc/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":"Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\n Clone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":4,"href":"/hugo-vc/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":"Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":5,"href":"/hugo-vc/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":"Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":6,"href":"/hugo-vc/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":"Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} {{\u0026lt; details title=\u0026#34;Title\u0026#34; open=true \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content Lorem markdownum insigne\u0026hellip; "},{"id":7,"href":"/hugo-vc/docs/shortcodes/expand/","title":"Expand","section":"Shortcodes","content":"Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.\nExample # Default # {{\u0026lt; expand \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Expand ↕ Markdown content Lorem markdownum insigne\u0026hellip; With Custom Label # {{\u0026lt; expand \u0026#34;Custom Label\u0026#34; \u0026#34;...\u0026#34; \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Custom Label ... Markdown content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/hugo-vc/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":"Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":9,"href":"/hugo-vc/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":"KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":10,"href":"/hugo-vc/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":"Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\n Example # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} mermaid.initialize({ \"flowchart\": { \"useMaxWidth\":true }, \"theme\": \"default\" } ) stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 -- State2 note left of State2 : This is the note to the left. "},{"id":11,"href":"/hugo-vc/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":"p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/hugo-vc/sketches/scintillating. Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/hugo-vc/sketches/colors. "},{"id":12,"href":"/hugo-vc/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/hugo-vc/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(380, 380); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i 0; i-=1.5) { if (opc "},{"id":13,"href":"/hugo-vc/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/hugo-vc/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} \" Everything is ॐ # ॐ\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/hugo-vc/sketches/photomosaic.js\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} \" Depth map # Look for some depthmap usecases.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/hugo-vc/sketches/depthmap.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} \" p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle \u0026#43;= speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } \" "},{"id":14,"href":"/hugo-vc/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":"Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n "}] \ No newline at end of file diff --git a/en.search.min.86c04ee16d3918b9a3a5e123cd974aa0c7723c6a7b094c0ecb7bf95727cce64a.js b/en.search.min.86c04ee16d3918b9a3a5e123cd974aa0c7723c6a7b094c0ecb7bf95727cce64a.js new file mode 100644 index 00000000..dd5dda64 --- /dev/null +++ b/en.search.min.86c04ee16d3918b9a3a5e123cd974aa0c7723c6a7b094c0ecb7bf95727cce64a.js @@ -0,0 +1 @@ +'use strict';(function(){const g='/hugo-vc/en.search-data.min.9f0b9afbe99dd5dc60375df05f812efca236ec7d224500826bb63c9b715c506e.json',h=Object.assign({cache:!0},{doc:{id:'id',field:['title','content'],store:['title','href','section']}}),a=document.querySelector('#book-search-input'),b=document.querySelector('#book-search-results');if(!a)return;a.addEventListener('focus',c),a.addEventListener('keyup',d),document.addEventListener('keypress',e);function e(b){if(a===document.activeElement)return;const c=String.fromCharCode(b.charCode);if(!f(c))return;a.focus(),b.preventDefault()}function f(b){const c=a.getAttribute('data-hotkeys')||'';return c.indexOf(b)>=0}function c(){a.removeEventListener('focus',c),a.required=!0,fetch(g).then(a=>a.json()).then(a=>{window.bookSearchIndex=FlexSearch.create('balance',h),window.bookSearchIndex.add(a)}).then(()=>a.required=!1).then(d)}function d(){while(b.firstChild)b.removeChild(b.firstChild);if(!a.value)return;const c=window.bookSearchIndex.search(a.value,10);c.forEach(function(a){const c=i('
  • '),d=c.querySelector('a'),e=c.querySelector('small');d.href=a.href,d.textContent=a.title,e.textContent=a.section,b.appendChild(c)})}function i(b){const a=document.createElement('div');return a.innerHTML=b,a.firstChild}})() \ No newline at end of file diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..59c7c2a213cc1de508282f86d457b16426bf9c62 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC6Hgb%kP61PR}Fa?7&w?6|IB7% zUbBR!+>`asl_*Ar3-i?!3>X>I|1>Z#GR(7(Q*Z$4VZODzZo-MJr)7X_22WQ%mvv4F FO#mg08}a}E literal 0 HcmV?d00001 diff --git a/favicon.svg b/favicon.svg new file mode 100644 index 00000000..a3c696de --- /dev/null +++ b/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/flexsearch.min.js b/flexsearch.min.js new file mode 100644 index 00000000..984d8c6e --- /dev/null +++ b/flexsearch.min.js @@ -0,0 +1,42 @@ +/* + FlexSearch v0.6.30 + Copyright 2019 Nextapps GmbH + Author: Thomas Wilkerling + Released under the Apache 2.0 Licence + https://github.com/nextapps-de/flexsearch +*/ +'use strict';(function(K,R,w){let L;(L=w.define)&&L.amd?L([],function(){return R}):(L=w.modules)?L[K.toLowerCase()]=R:"object"===typeof exports?module.exports=R:w[K]=R})("FlexSearch",function ma(K){function w(a,c){const b=c?c.id:a&&a.id;this.id=b||0===b?b:na++;this.init(a,c);fa(this,"index",function(){return this.a?Object.keys(this.a.index[this.a.keys[0]].c):Object.keys(this.c)});fa(this,"length",function(){return this.index.length})}function L(a,c,b,d){this.u!==this.g&&(this.o=this.o.concat(b),this.u++, +d&&this.o.length>=d&&(this.u=this.g),this.u===this.g&&(this.cache&&this.j.set(c,this.o),this.F&&this.F(this.o)));return this}function S(a){const c=B();for(const b in a)if(a.hasOwnProperty(b)){const d=a[b];F(d)?c[b]=d.slice(0):G(d)?c[b]=S(d):c[b]=d}return c}function W(a,c){const b=a.length,d=O(c),e=[];for(let f=0,h=0;f=h&&(a=a[g-(e+.5>>0)],a=a[b]||(a[b]=[]), +a[a.length]=d);return e}function ba(a,c){if(a){const b=Object.keys(a);for(let d=0,e=b.length;da?1:a?-1:0}function pa(a,c){a=a[M];c=c[M];return ac?1:0}function oa(a,c){const b=M.length;for(let d=0;dc?1:0}function T(a,c,b){return a?{page:a,next:c?""+c:null,result:b}:b}function ha(a,c,b,d,e,f,h){let g,k=[];if(!0===b){b="0";var l=""}else l=b&&b.split(":");const p=a.length;if(1h&&(l=0),l=l||0,g=l+c,g=this.m.length&&(this.C=0),this.m[this.C].postMessage({add:!0,id:a, +content:c}),this.c[f]=""+this.C,b&&b(),this;if(!e){if(this.async&&"function"!==typeof importScripts){let t=this;f=new Promise(function(v){setTimeout(function(){t.add(a,c,null,d,!0);t=null;v()})});if(b)f.then(b);else return f;return this}if(b)return this.add(a,c,null,d,!0),b(),this}c=this.encode(c);if(!c.length)return this;b=this.f;e=O(b)?b(c):c.split(this.split);this.filter&&(e=W(e,this.filter));const n=B();n._ctx=B();const m=e.length,u=this.threshold,q=this.depth,A=this.b,z=this.i,y=this.D;for(let t= +0;tp;x--)l=h.substring(p,x),V(z,n,l,a,v,k,u,A-1)}break;default:if(g=V(z,n,h,a,1,k,u,A-1),q&&1=u)for(g=n._ctx[h]||(n._ctx[h]=B()),h=this.h[h]||(this.h[h]=ia(A-(u||0))),k=t-q,l=t+q+1,0>k&&(k=0),l> +m&&(l=m);kh;d--)e=g[d-1],g[d]=e,f[e]=d;g[h]=c;f[c]=h}}}return b};return a}();return w}(function(){const K={},R="undefined"!==typeof Blob&& +"undefined"!==typeof URL&&URL.createObjectURL;return function(w,L,S,W,P){S=R?URL.createObjectURL(new Blob(["("+S.toString()+")()"],{type:"text/javascript"})):w+".min.js";w+="-"+L;K[w]||(K[w]=[]);K[w][P]=new Worker(S);K[w][P].onmessage=W;return K[w][P]}}()),this); diff --git a/fonts/roboto-mono-v13-latin-regular.woff b/fonts/roboto-mono-v13-latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..f319fbfa46a9c546ad2b4f68e2b6f9267cdfc5d8 GIT binary patch literal 15160 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 literal 0 HcmV?d00001 diff --git a/fonts/roboto-mono-v13-latin-regular.woff2 b/fonts/roboto-mono-v13-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ed384d22fd9f566df41a3a37de9f614adc7f630b GIT binary patch literal 12312 zcmV+zFz3&APew8T0RR9105BK;4gdfE09Tv<0581&0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/fonts/roboto-v27-latin-700.woff b/fonts/roboto-v27-latin-700.woff new file mode 100644 index 0000000000000000000000000000000000000000..a5d98fc6202f5cf5fd8b556ca834e8e9dbaafac1 GIT binary patch literal 20396 zcmYg#V{|566YY~^Vsm2K#>BR5+twtR*tTs=Y}>YzCz#mA&HLT^L!~ zJ@~D|{6-$s2|bCin+qWT0P`IWAn_k)e19~VIhfl50I;Or8kTQ#>fd5lnj1QQ`@(5_ zYvBF|C;+Otji=eSX#xQ75CQ-;y^q3rx)vt39^YYtzBS)5K#&+&NH{D^4Zk%K_um}* ze|TS+*Rl8}0RTzbZ=3KNq_E@=vlg~4-@cME-)o2k0Dd45k4hcd*c*TAq`&6}^8C%i zlmeRfCxD%`8H zz{Z5m0$W#AS5sH*Sms#c==xKhU}{C)N|?Y{@bnfD6&Y3u;IST^0v1Q6i5lEfp>E6D zw9;&Ae|DT^eb!>T(cA_#;$*Y2fM^?KPONts9u-q}8P0HZQKg;kGoy?QIMnI06?xiR zVag~G=lk?GxAfWvi{%wwXh8Hi@yrMVO#ZgNo-`)#$Wdx^A{IhAoI8ek4!*L5rjOkI z*~QRG-pas^i_9jnBq*+dS5g@Amx_m?ljL!DKXnM4sRSj&T%e;M|DAdv$^j)b6jP$Z3Y!&fQ{L%mXo@ zX|axA=d8R^mbJS>x^5qQQQHc;L(ju3v6g5DCfRUUU5aUdE6d!i4DycJ<#GF$`aXwI z#;MFtmO&XN=}8P673acLQuatXqso)T53G1}uK1rHMgnjVL`<~J<;QMy!slomi{33z zX(sj_S>lwCl`p>y$wYrWh}qT4*){9gH9b`QjIW1Hx==PlJ`<&i-^8-6{r5S0XZc-u|6S%?=v~Q$Iu%(n9@Vo>{H4n%7wS3vBMN5ey!ihr ze`~u$M2$vdjYfvC&pVw_lgD4%kww+hX|c`Ldj8+#M1*amN<`#F>WA+@WotCqp;ZoH z*Qr&ZQeC#>&i$`krdP&MM~=&RIq1K&&*b9μ@r2h2zTF5D3Lz~+tNz*d0Io>VN^ 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

    2Y_o* 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 literal 0 HcmV?d00001 diff --git a/fonts/roboto-v27-latin-700.woff2 b/fonts/roboto-v27-latin-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..01d05fa509b7f91526cabe90c9bafa130e4c118a GIT binary patch literal 15828 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 Z@IjO83?{s=KqX^`zGvsj4^tdfk^ttt3T6NR literal 0 HcmV?d00001 diff --git a/fonts/roboto-v27-latin-regular.woff2 b/fonts/roboto-v27-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ebe1795f85a661c205e4a4612eaf47d56273e68e GIT binary patch literal 15688 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 | Visual Computing +

    +Introduction +

    Acerbo datus maxime +#

    Astris ipse furtiva

    Est in vagis et Pittheus tu arge accipiter regia iram vocatur nurus. Omnes ut +olivae sensit arma sorori deducit, inesset crudus, ego vetuere aliis, +modo arsit? Utinam rapta fiducia valuere litora adicit cursu, ad facies

    Suis quot vota

    Ea furtique risere fratres edidit terrae magis. Colla tam mihi tenebat: +miseram excita suadent es pecudes iam. Concilio quam velatus posset ait quod +nunc! Fragosis suae dextra geruntur functus vulgata.

    Tempora nisi nunc +#

    Lorem markdownum emicat gestu. Cannis sol pressit ducta. Est Idaei, +tremens ausim se tutaeque, illi ulnis hausit, sed, lumina cutem. Quae avis +sequens!

    var panel = ram_design;
    +if (backup + system) {
    +    file.readPoint = network_native;
    +    sidebar_engine_device(cell_tftp_raster,
    +            dual_login_paper.adf_vci.application_reader_design(
    +            graphicsNvramCdma, lpi_footer_snmp, integer_model));
    +}
    +

    Locis suis novi cum suoque decidit eadem +#

    Idmoniae ripis, at aves, ali missa adest, ut et autem, et ab?

    \ No newline at end of file diff --git a/index.xml b/index.xml new file mode 100644 index 00000000..056cbede --- /dev/null +++ b/index.xml @@ -0,0 +1,28 @@ +Introduction on Visual Computinghttps://visualcomputing.github.io/hugo-vc/Recent content in Introduction on Visual ComputingHugo -- gohugo.ioen-usCreating a New Themehttps://visualcomputing.github.io/hugo-vc/posts/creating-a-new-theme/Sun, 28 Sep 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/creating-a-new-theme/Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme. +We&rsquo;ll start with creating a new site with a very basic template.Migrate to Hugo from Jekyllhttps://visualcomputing.github.io/hugo-vc/posts/migrate-from-jekyll/Mon, 10 Mar 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/migrate-from-jekyll/Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like +▾ &lt;root&gt;/ ▾ images/ logo.png should become +▾ &lt;root&gt;/ ▾ static/ ▾ images/ logo.png Additionally, you&rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.(Hu)go Template Primerhttps://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +Save it somewhere specific as we will be using it in the next step. +More complete instructions are available at Install Hugo +Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. +Follow the following steps:<link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/buttons/</guid><description>Buttons # Buttons are styled links that can lead to local page or external link. +Example # {{&lt; button relref=&#34;/&#34; [class=&#34;...&#34;] &gt;}}Get Home{{&lt; /button &gt;}} {{&lt; button href=&#34;https://github.com/alex-shpak/hugo-book&#34; &gt;}}Contribute{{&lt; /button &gt;}} Get Home Contribute</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/columns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/columns/</guid><description>Columns # Columns help organize shorter pieces of content horizontally for readability. +{{&lt; columns &gt;}} &lt;!-- begin columns block --&gt; # Left Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Mid Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Right Content Lorem markdownum insigne... {{&lt; /columns &gt;}} Example # Left Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter!</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/details/</guid><description>Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode. +Example # {{&lt; details &#34;Title&#34; [open] &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} {{&lt; details title=&#34;Title&#34; open=true &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} Title Markdown content Lorem markdownum insigne&hellip;</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/expand/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/expand/</guid><description>Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it. +Example # Default # {{&lt; expand &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /expand &gt;}} Expand ↕ Markdown content Lorem markdownum insigne&hellip; With Custom Label # {{&lt; expand &#34;Custom Label&#34; &#34;...&#34; &gt;}} ## Markdown content Lorem markdownum insigne.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/hints/</guid><description>Hints # Hint shortcode can be used as hint/alerts/notification block. +There are 3 colors to choose: info, warning and danger. +{{&lt; hint [info|warning|danger] &gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{&lt; /hint &gt;}} Example # Markdown content +Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/katex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/katex/</guid><description>KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX +Example # {{&lt; katex [display] [class=&#34;text-center&#34;] &gt;}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{&lt; /katex &gt;}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/mermaid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/mermaid/</guid><description>Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text. +Override Mermaid Initialization Config +To override the initialization config for Mermaid, create a mermaid.json file in your assets folder! +Example # {{&lt; mermaid [class=&#34;text-center&#34;]&gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --&gt; State2 note left of State2 : This is the note to the left.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. +p5-div # {{&lt; p5-div ver=&#34;1.4.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +Scintillating grid # Look at this and also this among many more references there are. +p5-div markdown {{&lt; p5-div sketch=&#34;/hugo-vc/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. +p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +Color relativity # Look at this brief explanation about what color relativity is. +p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/hugo-vc/sketches/colors.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/tabs/</guid><description>Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +{{&lt; tabs &#34;uniqueid&#34; &gt;}} {{&lt; tab &#34;MacOS&#34; &gt;}} # MacOS Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Linux&#34; &gt;}} # Linux Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Windows&#34; &gt;}} # Windows Content {{&lt; /tab &gt;}} {{&lt; /tabs &gt;}} Example # MacOS MacOS This is tab MacOS content. +Lorem markdownum insigne. Olympo signis Delphis!</description></item></channel></rss> \ No newline at end of file diff --git a/katex/auto-render.min.js b/katex/auto-render.min.js new file mode 100644 index 00000000..3a6d6639 --- /dev/null +++ b/katex/auto-render.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),a=function(e,t,r){for(var n=r,o=0,a=e.length;n<t.length;){var i=t[n];if(o<=0&&t.slice(n,n+a)===e)return n;"\\"===i?n++:"{"===i?o++:"}"===i&&o--,n++}return-1},i=function(e,t,r,n){for(var o=[],i=0;i<e.length;i++)if("text"===e[i].type){var l=e[i].data,d=!0,s=0,f=void 0;for(-1!==(f=l.indexOf(t))&&(s=f,o.push({type:"text",data:l.slice(0,s)}),d=!1);;){if(d){if(-1===(f=l.indexOf(t,s)))break;o.push({type:"text",data:l.slice(s,f)}),s=f}else{if(-1===(f=a(r,l,s+t.length)))break;o.push({type:"math",data:l.slice(s+t.length,f),rawData:l.slice(s,f+r.length),display:n}),s=f+r.length}d=!d}o.push({type:"text",data:l.slice(s)})}else o.push(e[i]);return o},l=function(e,t){for(var r=function(e,t){for(var r=[{type:"text",data:e}],n=0;n<t.length;n++){var o=t[n];r=i(r,o.left,o.right,o.display||!1)}return r}(e,t.delimiters),n=document.createDocumentFragment(),a=0;a<r.length;a++)if("text"===r[a].type)n.appendChild(document.createTextNode(r[a].data));else{var l=document.createElement("span"),d=r[a].data;t.displayMode=r[a].display;try{t.preProcess&&(d=t.preProcess(d)),o.a.render(d,l,t)}catch(e){if(!(e instanceof o.a.ParseError))throw e;t.errorCallback("KaTeX auto-render: Failed to parse `"+r[a].data+"` with ",e),n.appendChild(document.createTextNode(r[a].rawData));continue}n.appendChild(l)}return n};t.default=function(e,t){if(!e)throw new Error("No element provided to render");var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},function e(t,r){for(var n=0;n<t.childNodes.length;n++){var o=t.childNodes[n];if(3===o.nodeType){var a=l(o.textContent,r);n+=a.childNodes.length-1,t.replaceChild(a,o)}else 1===o.nodeType&&function(){var t=" "+o.className+" ";-1===r.ignoredTags.indexOf(o.nodeName.toLowerCase())&&r.ignoredClasses.every(function(e){return-1===t.indexOf(" "+e+" ")})&&e(o,r)}()}}(e,r)}}]).default}); \ No newline at end of file diff --git a/katex/fonts/KaTeX_AMS-Regular.ttf b/katex/fonts/KaTeX_AMS-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..afcd2eb4d1488b6eb04b00302eaa6e223812b012 GIT binary patch literal 70972 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Ũ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 LMxXrG{U84UTIJEb literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_AMS-Regular.woff b/katex/fonts/KaTeX_AMS-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..4f575152f2d92dfe48ed316b668e5558c6102c93 GIT binary patch literal 38868 zcmV)!K#;$8Pew)n0RR910GHGN4gdfE0Tny|0RR91000000000000000000000000_ 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 J?X{~D)rMlKq3ShGi&)vmS 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_AMS-Regular.woff2 b/katex/fonts/KaTeX_AMS-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b982d6eaf85fcd6eaa94a0302bdf1db9c08e8231 GIT binary patch literal 32944 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Caligraphic-Bold.ttf b/katex/fonts/KaTeX_Caligraphic-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f84148db5806b752524c18c6173fa19e8675c976 GIT binary patch literal 19316 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 BW7Plv literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Caligraphic-Bold.woff b/katex/fonts/KaTeX_Caligraphic-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..ab56ab7fa707dda6bf71209cf0275ef6be2bab03 GIT binary patch literal 11696 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 H0YLpfq!Ad2 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Caligraphic-Bold.woff2 b/katex/fonts/KaTeX_Caligraphic-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..710c26179c5f1c9998065035a82a578cf45d60e9 GIT binary patch literal 10448 zcmV;>C@<G{Pew8T0RR9104UG^4gdfE085wv04R3=0RR9100000000000000000000 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 G0002%wf^z| literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Caligraphic-Regular.ttf b/katex/fonts/KaTeX_Caligraphic-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..97814db7e2c7bb3039692551a4fbbb7f33baa46a GIT binary patch literal 18684 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 OTGv@~T#9_E>wg3J&>da? literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Caligraphic-Regular.woff b/katex/fonts/KaTeX_Caligraphic-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..aec8a33389cb27a7e2e603ece720eb000fb9a0a9 GIT binary patch literal 11460 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�y2~;QCrOg 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Caligraphic-Regular.woff2 b/katex/fonts/KaTeX_Caligraphic-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ee5193d7c888fe2e82fb54342f2bb5d4c34b83a5 GIT binary patch literal 10240 zcmV+bDF4@YPew8T0RR9104M+e4gdfE07)1C04Jva0RR9100000000000000000000 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 G0000_1BZzK literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Fraktur-Bold.ttf b/katex/fonts/KaTeX_Fraktur-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..483a7cdd4eb2e0aedd07727ead59f50818497a0b GIT binary patch literal 35660 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Fraktur-Bold.woff b/katex/fonts/KaTeX_Fraktur-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..189fea5e4ff5d5d66f2793d6753f702590add053 GIT binary patch literal 22632 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%0APg>lfK9+NEbfec22@_xp#;D&6-v*%$^l@Z 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 M000310ssF14|n8Ps{jB1 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Fraktur-Bold.woff2 b/katex/fonts/KaTeX_Fraktur-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..dc3bd4c040abd23afb59d2fe385f80e23b0cff41 GIT binary patch literal 20360 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Fraktur-Regular.ttf b/katex/fonts/KaTeX_Fraktur-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9aa5f674daddca531e771b400501317fe476a722 GIT binary patch literal 34352 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Fraktur-Regular.woff b/katex/fonts/KaTeX_Fraktur-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..d01450e91806b0c316af1228ce35f7a31788e77e GIT binary patch literal 22088 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 {um(f~Q9HvR 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Fraktur-Regular.woff2 b/katex/fonts/KaTeX_Fraktur-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7eeba377932c6914b32e8e3da14520c231559e77 GIT binary patch literal 19784 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Main-Bold.ttf b/katex/fonts/KaTeX_Main-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dc0185a12290672e819e1d62ac9a955311c60341 GIT binary patch literal 60784 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 DvjTj6 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Main-Bold.woff b/katex/fonts/KaTeX_Main-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..acf48e66893be130a57bb66b9506becef9b72f81 GIT binary patch literal 35464 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%0DBe5}C#ke#N-e*jJ!67~X2qoJ9|WECVv5YL zo|OF3Xxps&ht5W)UgH5X)SVqL4&f0-Ft#QkjA3F;GniX52f8rZ+R;y9oZb4Cm|=Gd zr#U{~HBR$68E0zWlLxD-_aqe)8+znQQ>Qr-OKJ!Gq)0C>lGXfLT#%sl>Qb4i(GAnn z3q03{0SvcHX_8#swM;iCMljwEvLAY>dEYTHW8FoNZFxQn)}p`giV4=$D}=q=@=lXf zRE<y0On1F56mPj;(mr=^puej6?jj9!8kO7{I2-zH_&pQURTwo)U}`-kFr6k!Qkjz? zy}u>nh4fa^S<oYTNYJy-M};+Zp$C0<SXW$Df(Bs}O5xs?S|c<c#1qO9jID_WeR$Xn zBnRqhUKzn8s(30pEb3nWJ%}uX=obYnt))BZI}waw0#mE!L4PtxZ^kgUW~dkCObx82 zDGNgvdM_$rPDpZCz;g0fL@>6N0Sw_0Mlgm6%qA1Rv?efhMhnNYmSqkLSpES49Ny;u M000310ssF14<m4J82|tP literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Main-Bold.woff2 b/katex/fonts/KaTeX_Main-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..cf5ababf46d8d4d15ba26b1c72fdeb39500b3d1b GIT binary patch literal 30244 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Main-BoldItalic.ttf b/katex/fonts/KaTeX_Main-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4346f173ce347459e433f45d1fb06cfc74bc8eca GIT binary patch literal 44496 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Main-BoldItalic.woff b/katex/fonts/KaTeX_Main-BoldItalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..d2cfe4e319168499f33686f3b1524addca1a596d GIT binary patch literal 25352 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Main-BoldItalic.woff2 b/katex/fonts/KaTeX_Main-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d0178f421501dbac3424821b480c7e58b1dd9b48 GIT binary patch literal 21944 zcmV)4K+3;&Pew8T0RR9109CjE4gdfE0IpO3099T90RR9100000000000000000000 z00006U;u<#2s#Ou7ZC^wf}?1G^$h_w0we>37z=_900bZfju!`m9SngA8}F1A?AQx# z2c+NIultH3*f^j-z#p1XNKf`wKg9pvkCQQk8EiVO-XR52WCd1WLC8v!=9)>ZS+#59 zkg3yX9YbP~XhQ3D*wGTQn{z;;eqJ=U8pXw8v2H5PYZo?}f9KSfR8K`Edf4#fnd3Xo zZJtoL6<Xt|D4{?oxDv+aKg=H-Nud?``Xe;<NiG*6s;O1?tZapO0}Mu%45%>hI>{lR zUI85cd7bv1b011F1yBPvD+GqHL+oTw1LRM*KvZwJMali|x*g!>*6+Q&MZehI_Es#} z=)DDzizLTjj1mR|Q9%Vn5fLTI2EpLc^RzFlxcjG9sdxSF%)8d}^uoKgVE_I9-s$^$ zADkK4Qk=>zAv-Q$R_a_-0lm~m{D(y9RwGz~7D#cLw_Q?!l_UAV`-gI~2=(9=#DiI| zLCls8QV3%8+k4&jexF^3D(0LGk|ypIb%cE5bpLv%RrhcA?jAj<70Zb{CMjp%I0(bg za;L^eSs))n@@xOfR_M-y;ROymgWPs6!|xqW>1x@$=Pqu$9+Q8EU@|=v6~pvebaee2 z{8!7ib15rQ>gu`B&nSN3lOk^{4@Tk~&_CKzDoTgdJmm*yH$a9B=_m+NP`a~S)G2Cp z)o6nOKvBEB`G+upSo^<prnyQ<7bvwA+49zFN;{USf1SU{>Cb$b!R0Li(GqY4$F*-A zm`x6s{Qv&cYVZ4YMzWIu_RNx(z3d%q<1BDd0an`qN$<V?^#A++3*MI!>r2iE9IzB{ zq~LcZW9i#Dwui{eoD8w$pd6GlnG?^Vv&<DRRfH9nTa??ighkbFQDVQ_t`VndI2VeB z|1JQy1`S`pvwIShD!dnHvD6I?wP7xbAWby}!@f?;`sw2wZjFSZQ&|<9ukdU!Y?aO! z=hOY}3=nAgsV*`gD!=Hn_<(MB_kc~ymLKUZ%6Q;qAY7e)|HE@8bxc%<=D1;NTpJ`; zZ*gygtrrcDSM(g<Qe5z$HD0hQlBw~sizEGh;72^e@DWmBAcM)Hhy^U+7*66GJUofl z`H~;_ojZ_{p?&oYeMi66@60Z<&m1&I%rSG)oH6I!VYh+XBy6n(xU^<4Ln)wy9ZJ9J zuj^a-rG9I64s_a_bBEmeZsYJn{yQqa{P|CR{KM~m^XX5%@$xhGUw6et+gmK}k?G;? zPh8mZp0~Z}bxMVFzfZ2Ot}o#=;uK;$gaMv4lnDuNJ~a=xn$D^_`~N)tP)xdq`^6F> zOeo``s++d!hjE(8(yMo$zWw?S7|5W(Ll`>DF=FJXsOXs3xcG#`q~w&;wDgS3tn8cs z5Tw-=kVj1kca%?2F;`erT82B9d&TH6i<d0_)zW2nONGWwWAc=#h0_^Npf0?i*TvE+ zppVO|_Kw}wI-oDu@FJ=G2I`@c>yZ_R3c7B>8B|S6@N7nIz*~*Ic4>5syCEy!N$Zlc z9#6ll2g#Psdys;Cn~osLp@UE?4?6_yi*H`j`SX}0Wq-Dsz5Nosc~_s_(0h!Y?yD1> znHineq(+x4`y^I*fd?Wj@<n3!rkxH||5SDms@cekt9dvhwV)NusV5wax1E7rJm699 zP-rH!mwjRMI$|tfEjaHJEITyj&1=7zI%p-8k0-nk&zD3UylWezTKxOxdbGtMLFYFy zzjozqik1M;?n^wlvx^G%(&7f3E{_m&z$&gJOhBg>q&{S|Y0a2JvmDaX7HRcg7qytA z=$47f%+q0Yp3%*rS-9l!hM*9CJ!BMRm@9$yY?xUqmG;3Bhyk5V@tiJ19%*$eQz=Iz z;t--5h~RjH47TZ_$7rSwqj%=hB~J@wY0^97Jz%mUM+-_U^pt~low1O}E<m>^o8OT~ z6i``6|8>#SN)=kKtolaDVZbh`z_a(U>2{jVMD5bqPi4T^`X)YmcMCb+s)ia4(vTnd zLCG&{unOcO*_06vEptcNh2W71<u`Bm1<}@6{gWg|58fi#tnNrayc2o0Ph_+po4t-A z-s*}Ehim|5Qz)=KGV!tIA=Vls>U|_{K{KL7V?u*vP#%@)Phqnzt+)^M&Hv!2=DXoe zr;cG7hAwxE(0GASNnlJ;FfM7BkPJ*p7GlZ49m&I8DQG{1dicpz)9_O@1HWhJd#sTS zHPL-^4;AqMB}t$xDX2&qs*-`4WT7rOXh<FsDNtrJ3{b*cPNq<5q6MFL1ZNPR4Y}Yv zfJ88Nxa${?7F}>g%F4D?vaS;~JD;w=qK5|O5etWA(#R}cOEw0Uz;UKXFQeNkt1Hms z;e#9thJ5E$DUANc_}=5bZ`*A-xtBUt(V&IO&0t^OhB}(`$A^v<brNb7v2dFv#nD;y zVu4C<Pk&PXw6Gyl6ql|tZjObqmB7f6OC24+DB3SVb<qU6d{F028fphI-db2an-tmt zp(Wm={KDO*_)Bg!3%AJR%_xO3nDtVvbO_q~JWj1_;<*&jdOv_D?;A>G|4fRC+w%M_ z+HJFnN$70zvh577IpQlK=y<b^x)nS{zZm|g@iG;qv(VWn&Gm45riHGPI3>NX?#8Hx zBPPSpY{RyvYNHX}f}}Z?haJW@R}mXzP*;bCvDaYUA<MbcVW@|!8+tw208?K%2C?iM zZjsElJ{WNJ<arBS)Jo>f%r>STxaRrWXl$SQHlLi!9@kEj*L`$5IFmj8UFZZ~`yQ-C zE#3_Aa(uNj%z;+VJUXx+WRQJPm@o}eW1C~*facGmIz;0y#3BH(1-QgK=3v{-yFB8P zn*0zC27z=G@ph6;@mY<I^^yD(BT`Y>a=BLzH_XZOQyRDr(WK-Vv{!JxDvZudz2>!2 zK_xDT$PnkdIW95g2L-pFsw7aWMWDJAZ;&C6)Wi*1wFuOf;+=*ZQWrPq)gn+|iVqrc zNkiOVREt1kDL!e)D}BKYrnLz4D8*qzPHBc4%xe*7AvJBuHv(z?G#~mFJE~SF4r@WF z+YkUU5bgk*>M(4p!`f~@0QP~%8xGYGI95mCR2_k{D+-tDC_Gn3;iWn{-zz^KR=z(e z$$S3$|4m;gsVg@tB~lP*EqTV8HCUHa2D}6<1+@E&adt20wBx^dG=1D@jljNS_P!O; z47JLkQ37^$ez6HQQ*h`?=KvZNuc-+TN97Ai5hp}u$gg?6CIrd(1kuj6VK}k@!!?R> zJ%R9rB8jzYL1Cp0_rwd)bPVRhQVu7;uN3&1=>mR90@2>q+@Iqb%Im7ai99r2!)X*p zD=NLKren^yI4$2MN|cfgk&YKJ3oH2f+?=I3tLwzV0BRBC7X)hZ8e3``5?YvCE-EpM zaWeQwUlt$9f(7{<gb5eqYqf}2sew^Rf>7utm=bxK%b1)}?+wor;(cv=z6@8X2m%^M zmqX(~RUE4F9m(P<0`xkNM})30yv20cM&I`-e^;#G%y4&|l7;SM4N169r{%qgFYlw= zECvS5iiEBUx#Dif3OhNyylk7PD?+%n(~3=wvn=q87Hv|Zl?Ms?+|q#xsBUk5-3a<! z!2Hp`34(~u%`)>qgg^Pjvp|UK;xkdjAgth=sP9r-dzp{Q;Q#2y$4<%5KEsb~M`uq? zAPp_qkz{}fNQ?qE2u0Rb5&hUk1>uGx1HJlYD^jMqSmDHHWt6u|;<V6z#2KU^cBm)P zR!|8VNksY_2Gbt(a|%zFJuh6&7bsS0CDM@)l!kcD_CZ%fBrE*7E$WDEF5Dp^u8Kes zVx)e7qF57*VM~q{pkw$A%~V3ft$+#uD~i<KOR(<~h3bd(`9~c^ghSI1X+snlpVF1v z$W;tR-mY+C4@1PhB~s?1CK0Ig%p1nK0bQ8|iUqCf_C>ZixaT<v7Y|opF{D*S)Pc>4 zmak3f%9cS>O|GtDZ55eb)-o3YpXb<VSK4c%C`nSfdPd3+^U*|CYinqNV-PPO(UFA# z4ITk95EnQCJcL6c&V!5ny_*-kzK%%&_bDRAnA}IimR&SXTGldbLrQuOL@^0T&&O}$ z>Ji0_#$M<D*N4wU0{q7s6qrTS9<{-G*VWr@($OkKWlaieX$;TC6>%=~RJalR76X`S z`E|@I?Xz}wIAqZt7>s0tk$Iv_gp5jMoINV&5iK$*VMSZUT99PHIm0_Q9Pf5)tx-Fj z!*SL;17nBww}sgz&g?nWCV+zEk#bR2*atkS`XxWLZL?N5M%$z_A0)0MEt?v{7={FE zRU<YU@(G#s{pST!-WyKCGTh4^Ajy^_B0h7kPGLBY!HDLggtj&mD^cvPiz0^E_!B}` zI+PeImwIm88WkvbB^yf3VbB%hIf^w=B3grP8$>(`@tIeNh!QM|O-(VI(Q`J&0~_Xb zep_~WcZr62*(RQ>Qwkk}wOyj?QRgNa89}o!D5`k$JjF$1B}#}^rP!UCbzyG5=v1;M zVXTy$$t_Y0c+w*eWV$XwV~CYGJF3iMBu~iyiB&EKQ!?4$5nG~o^*ethW?K)fKqpXi z^^!6ntP+Pn=lXQ=5h9#<9!umI>gE&7w6Ny)qDq|HzK$lIAOm}CNW<Tw7?U+anzY-3 z+43zNg2*rfg%u*|KnKf;Yl+YkRqZ@ERt>8h8d0tm$Pb%VQH<?ukVvwz(h<TAQ6z@r zP(q&Rd>_lK`Dhf5oE>1BJ@A2mjuiMNI>;-)yxxjZTA9~+^F;LhQ<ujenyPy*+KBTB z9Jms$WN-Qe%o1_Mh-+JNPKnV!p17{ZZS-%w2QsE8fzC586*T+|6m7%y>E>p}r)+uH z<_8nC$JcY}XMaYpja={$owGq$YM*fk2tf<QSlnWYnc3oXyg8+9wODG}n_DAdUt)M+ z(R*O~)BcZ8C8EXnJ35B9LJ>ug_o)IT9N=s^Uk4G#VjN1k!-(wZkj*}C`-VL-^E5@b zuT<E93al+`dcyZ!QC^_b(NXna0+;gXlQ<T*#d+u<X}La<+yasusbxCFj5AT`<$0n? z#r;=f3?sA<tRpk9%!9|>CqsVgt>Ii>Z%C}Gbqkn#SK`S*DlJx{L;*4%-{xN6P;Smw zia6X1QOm3t#V`PEIg<jM4*e|!gy3iVi8pSs^UXXec_yf`Ou&%rhQY#Vlc{uOpPdU- z6WP*xm>1KUs2Ct8xft>g6Z2&r_Hl);)v7M-3|?@fJ#<rW$shN}$1wzY0^VZ-t$g~W z@akkCKUGGdOk&R}M>J?kf!TKrT*Ep{wh7`)$e_V3TbsflpQ9$iCF=EbrS)MR@v&`e zY;y9|HUNQ$2X5O=MZ=761F{<ic8<s$K`g=Zd`7=aa9<Mt>GnHT(^ty`oF|?>-tJ}u z>oIH`xi$%mOCIC4$&p(TDfM`XqJ5{-q!H^ubUrR|D==nkP*iz!{PZQp2uV19c~L7@ zfS!meiW<ORYGy|ObIZXXmCiJz4;;wHgqXS4!pTX!tDCe~h^rfqD|+Cemh02>zQu19 z>q3_J+klC*T*AksL?=UY`f3>N|FL{q5PMsW`~@CFZxmWpm5<TrW9rWZ_S`^hpr?a( z8ahBoIka)tUR8U2@#_p_vq2%#DaRUZ$C<wjz7w{wZY%in{Pt>gOAjuJK|NOjf?M{{ z2TmL=OF>=@3d`=iIC-n6{%!B!3w#+!St;+feglKjRsw$!nVpZ;8SRh~F||Wr){BJ+ zKBpx_Z|iWsh5lu{@WFz}Dy4Ba<1O<82xYV>KU6?!hi_)PG6`j<(G;Oof^Tq}H?Bt^ znia&y!JDL__C!2K$Z#^Z5>O+i*M1to&4Piev6-EVj5kF@wP~VTLwJ2rK^vN(Xz?+q z{{HgVNH%0JMtZaUsG`_7gs>&iR1rOJl86N~6x;nyi*5|bdeKG_6VXr@POTA<Agr}S zqMS$(LznU*M?wzEb6L;BRSq%RE?e3PT-GC~>c^}4OuXTHKrANdr+xz@A~8J!(27eC zm#vqYbb|s9`D{;K{{e;G>1l98v8ac-G(O%%oC~DgX(~Klc^BD@qe>ic)}zVv^!!M0 z&dGS)ibXE|!*j~7ms4gD!!_azjLG12p6iRk<e4{9h9G0^vLOkB1ct#j*1B7l6LEoW zUi89-n{4z3x<reGs_hZ*@7y@DJt}}c2ZGy<nN`OQJ5M-tPpO{f2GU<95rfAw&LsM$ zTfs*w^;mz`?YAPlVMH(I=qOFE<;tliZ0^M4rD-=bALOkQUw?g@3(`Fd1ONY!kGzg_ z>T$ke;J^<U6d~HLM<LcV(rB<nbnN796)h^KEOsP7To3smfq<Y1EC!%<D|hZVcOA;C zOFnl?-A~E9PyJq+rq><wwY}6ilAoXw2XnfG;=zxMJ5<rKx|nSfxgse>dq4+oOiY5{ z0iwX3i}?PQEVFMsKg-J^wYF6e6hPO9ZF}o2TqfdWV*lQ5<g_p0DjmEt7&BK2<RKjM zHg`RGzZf5*{Ym?t=stJR06swSD<Q!l#&mrQF^)7Ufq_>lWct*s{>@8<rxu3q#Vp}t zQk~P8^_ivUI3pzx(pZnk7&B%R9P`fU^Y$|%ZRzp!%JbYHh2iv8e^fP=GPMW|&nGtT zM*^eZL2^Mc8fFOEchEF=G-2Tr-igbIpWhT#M5~l;;97b~uzom?F|bF}db75k=<@EY zW=f|a=1$nGC+gkL&MbCd?9|Sa?z=P^F3OXR)M`@OLt5x+4A9CD2MQt^ut&GKi<hrI zw_j@Oa|lI4OA9V3(=yBB<}LK*wZ?)$xD!e-WEM?;*XJOqpU8wva(NrN$zVADNC!f7 zz+e?qYij2pBXv4KT1(B9y+n@AT_NUKYz;&+;EAhTl#I<or`{E_IHNMM!2^%`?DXKQ zG2W7tm8eHPs7*!2B<jz_Fh<0ohD*2Nh3qhla+W&h4ZcM2W^MNRSJCiLjJiO#1jhst zq2Qk7`z-OBUt=zkDV_=@na#p4$g&A>AaN%s4O-$FQ)_$YDE4CEOoxKpmT>&rd0g!+ zJ_dP|*<3TfH9pWC8LuO6*Za>W=GqZiZ*c}tI-`i_NDjS++H`DoOB_cE?=(zkO9Xj_ z*+qoD?Bf{XHIfUACGtc|T39^-v*k^L;l{27@>b>49ioj|h7t(Gqg<$2ZfDwUls)FN zrHP&`>vi|uv}mBe{Ze)7iCRtW0a*l%vC-_BV+CEDdqFHG&@AkF<U|Pm;U5?zc+{@7 zZd#Qv%Bd63E@_2_=SCE_HigEpLlGx;!)WmM37*Jm^qeW!uZtwK%I2!M3nW4(s7nPs zu2ZFP%-v2-CQ_Sodi~RMa9m^gOFW0rN80C})#z2H5#-pr{M2q!EDS+?^Nw;js?t~D zj;qW`B36us3pi!nJjXzUvf7mum4&@o8sv~l&5$!fwdEv9k`lxb6eY@O=3zY_2QqLj zoU)3nuQ&iG>q&|t)w&Tokl9Qk+GcL?O4gSVTBG^Nn%@$E{ka+P6`JRx!wMFlv)_|Z zC+P~p4)fFGoDh?vImD?1KjJ2voPu?;M$!>xuweNn&k;m|HIF#GUq_9!r)dt;!Sqy4 zQ?M_$81&^Q;C}ur5-J#m_?e7B9m*9-GJA0Dz;_B2ZF@rFd{^z4JV^HJP=jg6;2*N9 ztj{;HcSCF(Vos`#)`nuMIirJ{d?gr-Be$3J8Jo=`a3%i|DHhgbtaat5CpJ)<z?7ZL zdneL=_ntPj?av9OtZ{P>xmBC&1GR0zLYub$%{;QHBlI|Tx$kz_F5d5lqpF1U@=b$0 zF3?0GuGR5M6h++vpJfP=401`W)Hxe-{W|lb>w?%ZeBU{PqG)^BjQL5UCAXcTt2WLE zB<z~^E^~BAoKBp^p74liSyvd@5yeva5e;1RlFbZ#TI!so*w5vr_I0AfnQuwFMnn&} z0%uBUCu**5aTcJJ660J@%pSCY8uf4B-=Uo1G5w@C0vz${6CrJJxKD1MrdT$IQyCcE zA>z_x+a2D1lOh74oK*>Jm5o2<n)u&Pb}2|q&#?I*6B`u<fL8p&bKazKpb_K@b@Qfv zBpN}{HV~u1*U4yw%}Sln^KGJ`Q{?!^@dzd&XJu;N-eR0N60K7YUR==hst=EO(fBsm zu1E4zeJ~NJQKqJsL6E1q>#3&rVhMzC5$?5IUoEf%11aru5J~BHtp7}xW1_@%7daI| zq)dmTo-4Cl@}l>cb;5kNx;oKJSz9Fpi_FzRyf9Q_pZI(sYwam!5<?*8u==A8(>+!( z14DLkuPqX!7s;PlJmD~33dvl()zQ%!8SUX74amYNg*efySyK^Mlvb+0&a@|2mk0+z z8z+7tXp+lTtld&)Y!^W*hFH3j{g$Y)?h-$mTauGCF@lx_rX1ybJ;37!fawZm_0AJO zM9X%A!G!8RT9mn+xOG(ADmqNh8D98ppR7$UWx047T&y+)|D{b@^`If^i)k?JRxUFr zm}!*-n)MSpM`_-u5~zY%gclI9-n8f3&C!>EE+zk%pCnFO5KH4K59vFSZt1|hybVKj zBFdB7r(ba)lICOY5`Uk)^eW>NUu;e3SzkWkmO2JY#GtXhSjc{umq?8Y8=d{JIN}jj zrk}yo){tu_5{Q@0r?xp`=okB;9*(wSf8A^bO}t{3Ho?MA;cUWi?{-~Xds==1iiDuk zfW%taoa{#M!6C21h&6HC0HF-3%1_>2-Z`?Ig~Yys=Ym#d_tPk>z?8o+fU?kOzO7W7 zmi0LS-<yQtdz7uqLOd`FnCiv=5+5b{f)=Ujbq&5W(vT-Ef^;>K&gY*P2&9mkR1_xr zt9s${?F{{+W<5&3bvs8%)|-lKePxDqpU)ck@hS0gF$%cp#U;#9oY(VhYKOx~^^C}{ zUSx~^)<qX(lkY$T^uURjP@2DD{JsCM;XyxU%~CXuyB<RJ8zb7e&>&QIC?fXZv<9mp z_Rq$pU}DW_iP0Yla)#@Jk6mf!zMZA%J6`0WCQt60euqyvWnB%vse|N!q)0*fFSy}M zYBT$)d2l!94Y$9~{Uwxeh7^ebGAO9Um>H9s-=fGh0W-Du6~pNQnPp6-ad*m@xwS<5 z(I*=xnxj#E)kXpO+%weL%(S@%&^M*y8MR9$po_FIso9-!z5Zzbz@d9PDB^b4?TI@v z`<LPf+gQInRPG}-&<m&%WA+)GBSJbg<PKprAu563R#e-!OinBoA1HH2E|+1HaGq^i z<}@LVKz|0y6d$oz>Ah-Q9?hIq!sk<^VZ!s`)kiycQrl?ly3%A8>@eK9X$&2Lk<s!s z6{1pd&3GPJzXRwjt=h^f&8Z6@8M=wAt@DwXbIkmMGPOr;&GpiMW3YCT<!A02DPH$J zO_ALaGZCHSM$!-*7`Q1SnIuo2hDvBHp7qy9D~sO>u!^Zf@}fSeEPhaYK7rb8+Yv)u zzG*^E*nyFxXDHs_XN-A-wiz-`fdIS*Uuj#^(w5(BBaGpfER6Q^3*#>N)A-C6dHk?z ziM4}m2`!sl9)a`>giduHdL|6TFY<9@9xSqy&qZm&8H#lK2?1j_`GeX?QyTB@G17e0 z%v|)Ux=BVS@J+)gHiXNNN(Rj`O!c&k116OUfFFKUHYB5yZyyoIRmlvmmrF4vsYp7V zs4g%R6;xNQe4VRj(h%^ox&nDk^*5`xHT|Uv3MDgMGx|4BRvHpxB0SU>O$a6ifu)N> zxX|(<Tr-$Z`g&G--781C%OP$YpQW#Jt<CKOE^@L%l%maf%bd+5i}zr8+KJluKje0m zQG&$??u$~IIPuPV?jU8bXiHuXHIr!UTb6m115{KDWa@AFl3;CSz9&0k^xB%Eu$`;8 zV)lC5drL!Cwy}A4xh$dW?H`*-7XL1fsnZ**+ElRjiFp5&S%6IzC%Vd~BCT?lmN~oX zov)C9Fe1`Q=_+G(=fh={EWqT<EL3?@7gdUOqr%`kVS8$_p{GIr=`P^9YPm}%DY;K9 z5Qe1u4>(vzDe9cpY8^f$`CF`c@w8ui9$2)dgsVOmxBNoyj>9Fst`hNDVMx9*k&tpl zONHSDJ4%>T6*NdqbEJ()kgNz#D!DBtPWzi_Z`_jTh9#1QF#^_ftLcjM+mhpcP{9-g zuU6#n$+>5iUi5TmI6j6rSLk<<=Ez}JuZp-WQNfz{;q@4WpZJ|WRkk^`H+*e9pe7Hi zRrl8MKouzIsRTgg`dx&e&VPzZvD>ULa3lHqWLNg>{LeCYd(^3@tv0xR;LCXMvLhAk z2OYEW15auCtCGeAu)2jw`_~ysJhE)J=})Y_VtrO!1VL|d2!8BPb35$_KbHNuZC?G8 zo0~qpgl^?9-fXN|eN+F4dc1u+Ju)Evbwcfqzd~7?0<7P;O4G~7FU8}hRC85;OkIcD z=^~_AKnKkOEj?eocEIl7&|kG)=!nNgqc2z<ULWvj!L3u21tLrw+PRaW-=>>NSffni zF|?bsn{^@ef8OUPb5vTP9^Ha)($cyMjO&d4DzW>E((cJK44NK3?KbPY-!o3Jm84|} zN7ub(jbnsGLyIz&t){F|y~K?>rF1Dd#?8eVl{QZNG3oe&FW@tDLfyzg?RqXx#bfCL zx@G&3UZn;;eO%7q_N6Y@)a)!PTx=Nhb9~`Yj&z~n34dv@=9NL+XIj0Jylzj}t61qO z6v@6?ei>n}Oj(<HF8R3UpS+Z|#{uB$$A3oMl?-N1!Nm35mr9g2J0~g<fIgL94bFFr zu!TeJ=BcUn_$B}qqqNni1$LxI@6@QzsTI27!gNQGv|VZFoRw_M5Z(Rn%{u?9z!wL* zM3!bcuH9gKFD-!yOJrVa$pfuwrJcvWydZ851!;TxT<!=F91>z60D?O+>MNBl-3v>K ztygBzI*~7c1n=9EvdacUJRwXrz5X_b@g1EteP&a=GW&}<kLBaIM>H!`mTMap3hYdN z{p{`nEJeJyncPNMUXogLXUt!xarZS1=U_>v4U*fq^!v7Q0L8kp=V`Juy-4BT3K6Kc z$HOrZbFY)srHOWa`RsugaI-y<>7Eydumux*&ch20!Y66m^P4fz#)FTSUlbn_u>^Jj z*jrE2dQ!G?-+O_<RJ>66(cbFFz@y{SbkS!bW|d}SFSM{$8NBeM4bV(<8&lsB>K;+{ znrKuKtwvv<aiF+M+}D!U*nwpWzo!daC4PtE(?ltcke5t$0rWdzwSmSx$`)1OHR8ln zS^7_3^$jB^ImVz@R-$1D{OX57e-R;qXl*oh3yOp_oo!=!4fx5oKzZ|?w9<LOLir-J za-gdk{t%n^_O|JJzk~LxL(?_s$~5SNg~0OHEata@XVO&9!7lj%&Gs!WNk)E+E2)P- zcuO?l#Mq-77P16=G0^_8SRiq%TAr#tuM;^Q#oJ)~7|uw3dNSh+VU4&x_X3@clnS|= z((#DKKa3OVW)@^^%V+~MAf<uA=AAvY$|~mXeCJH%O7pkr4)l<kP*}B0ie7&DW@TB^ zo9d*OAQ`;deDct(BPPf+|EHzD82w4;Vqs*qGgjD;d0HlyaqLAEcGb%Ht7FzM8t83_ z<lOq>d5Duph0m;zAILfgUZ+L@++9Fp7G<P8s)b_xKV<iWYBPh`k5Ji2W{H!!0{kc2 z6e@b}nB;Fs%0viNhkipe9%K1YnQzgm<)_o#QN@msvO39Ua^^Vb+4|^!_#q{W-L9>U zZ(TPUMz_UfxlN>#F3#wdzAIL8_r686i5o?UX33w+Q##P_!;k$<$iwpF&A|{bMU{sX zhI1W6{`Or)GfK~XW?W}*mP=>w@_b({%y^-itCU`Nl!34qGBEsB@q$F3sW4DUj`8-j z+3&__{PW_!#ezxP(I4|NsdwoGo44dAVNs~pcLH?}2mla(Xl%Uhu8)mL$QZnMS(V7n zD=AEw`zA@fF+y4T&r)3aqb9+|D80XcqEg=h&TppwQrcn}y4c*^7E|~7cyA?7x?HNJ zCHxPs4UMGzrq!uqg4n!}WXLeowIzmD`+<y4un<|4S#h{|0Ygac+9R|MKUgNk&)iK< zJf_)JmQ_|0D$>lzS2X6FDr-?!QH3}>&8Fx7rR4esTcv^c#ZSlFR_z^%d5t~(s3Kc7 zZrHi~27xjk-DaEuQpKLnzx>LbP9We~U$-h)6u298G$%j><{entwh#q4n|{V-IjrKu zDFH^QU=Q6R&jg@^1ag)`Ta9X#1*1*c20*!hJ0MAL7Y-b$KGJh4kLD4(5wMz-5<a)% zr=L=GP2-(h+mXV6`8E$ysi<AkRd{NtfGeMr1_P-|Kl{cF%8irRJ$|o{zo(UlE9AY( zUN8`#3{{}=+TD_z^o9BV3q7YARgF@>>T1gF6i4fz$#K0XH=Hw5wWvTjB&x8KH3TDJ zzZXmbji8=l0fRJ%BOzl<#<-$#_nHO{N-Udc5=GXeq`x4lFa@loyJO9~W!h|?EY&)& zhE#JzJg9(z>ZT=pZn+*)Fgwj@Nlqb8BYOK%XB%ThU%Tm~V&ur_A$;`0QA%f<jsj$W zr2g%0q(!|HcbwZRe#*n-CSm3PB#I=ACD+J=6pm(G;s~F10Fzn@n4F^C1LJFQ{D*8h z@r7=IfP<5x9Ci)MF!}mtjk#H$2>>|z#UJe3aHe230dlZ3*fN|5SGn4S_;VB*s5q2( z_z>vwQ97$Rul#Ckz!FiLs*BCU$x$|I!Jj&8Bpua><Uzq_XL47tkRflm<fz~@0@1*p zO&MD+$mtnWs<KznD-Ig3Aa2JtF<uj&20J9I=D=E*me?+mys4W~u3W^o7vzK4*|G4I z_wJ>h#Q6Y*BT!C3X1SUq=SC9zS)E%;i`<V5RH`)CLkpH>JXBo6h_c~?XeoCH^QSdV zl%8;xn@DsHAfAXKZdg=hDUFtf4Hy5Paq(zo7G@vz*Do!M!AF|iUZ=xasg0vr-U8eV z`n~bsn-@ct%A0}IO=(Axl=sM&1A{|Tly2cX!zf481{mUX5+*)rZV&oX%&VW8S`;6P zAf<TbQ0)LXI5bh5Y#f>&8GlwCy+Q9F=(y$~dlYSen2~9<%9)&IA~k7*w*y8)D<Gs@ zo?dJ1!!Ih!6_OVcVKs#!-Sb7%PVhtEHN5Xj5XjAAJ(sAfH*#Uuk{9@VmQt7V%lB~u zuoEDBMFx9ZW!<0W^{EFta*jPiKgggZxppArsp<BHK<_+YYa=qGQg3659|LD$Q*Hf} z3Dzxh?Lf63*w$FrQh=7Sf3oIKyjI*`?AZaNsTUE=2Z{kHnj{Q&s^DjqnN*FdM<DRv z*x@l+H!R4gs>n0+u&`Pn`(BUF=2@X!3dkh=!vzI6ZDoEaWJn!(teX_Exy@c7jav6l z#>ijs{Z22bg!7>S*S<JX=*HX#Rh_LJSfkpV2*%yi{H+Hc{p->D5m{e9{32hwLRTL= zT_B7Bh4TRPIXWf=UbRhpG=R(>7U5)zh+1N%(CttGIGclqZ4h8FwegS;pj4CqE7cgM z*7>a3%-+TemM@-b><2)w8;~5+RaI1#tC^9xamr$VFG3x+m2BJrxPcw@DCi^!g%wTg z`<m-Uqw70~%3iK00Xp}?eVf;=$Q2bDHoSRuhJz(fHF7H5`MuVciH`n#k>r}>i_pxt z<YlMe8>X^_sOxFfrG9YvWIS;o8kezRSkfSg1u##|u&H^u`ZT@r`ji){%|A^ONhSQy zcxRM*xsp;TT~hr+US7diwyk?=YLTHi!M{#^mKJqV?1}qjof+;C#wH`;`yLlxp)C6e zVIH7U$*CWc>b%GhO7>+NMa*NTG}Ws;Pd68+|9yjW*~HV0#t{IZ0{gn~;K>H;s^4AW zmb@IqvdXu~*_!bNOjxX|G7LM@jOkB&$fCaWq{f4#9CBjsJswNJ9~K!CRL`g%HtwtJ zg*PZpxN|9{a(*6Xxs__KQ+~ZImd`>*Ae)ixSbZ(Gg2bhkFhjKMyXU86=R3JSJ=nMC zNxO{-=G~{5fA#tCQ9$@>^m3ZrPRWfMSS%<of#%ZJ4CBW)u1n>KpSL_ZKRLZToRfJJ zUZ;WI$_S<Fzt=^p(sD>%?H|3s1(+q~LAFmY9~;9My>yz2KG<t@=WLcSW%!|&VGrVk zzpYAKq`yaQnb3ZN^I{vuL16E9P97r$*rZEM2O^Oom6}l4todePu}8`uc|(d|L++5z zM;RW`tQR=kh>p@``_|epaim-yCbk7XC}jjbN4@1nBRR{VYX1+3y4ARd9ASZ)URjzn zH{K23)=qT|gX1B$*9j(Lo*{;81Td4Ufrs9PJI15+;#9f$ZPUdRe|oGRXMUrW2_hZD z;Cd`&gCn|@1p=2jmo-(9Xb%`g5g@Rt)U+~ael7XTdLk0YtMatHyO?f!l1>@9$k{${ zi#szPCA@ySWr3;$kVzc?M~EUr>0NxY7qWnZ&2HU^T?*BVkz&X)WEi8bvfv@ZR`_y^ zXaG_XY-o}J1UU)5D3sm}YIWo++iM)=(x_w}fQw<k;;1kuOfly(S{d`1^Ar7+$h=+I zQiNWr#04!Zv=-268a4=?b<p17M*0<R<}S!>3l~TcD6hcRZ4VZEFWA-lnDiXy1e`ag zdCG9Y+W#HgNx(yy0Qv!PiAwwXnMK(#gA<}LqsRC$6^wRPRlrjY1)sn@f#-ZoZ!s?) z>KU?3+SVr~C9C(av7vA|e009F6%Y#%MxuKUg~nk<K@iB=Ndf#nJN#6je7D%=b%ME6 zPZu4l1yq%ksjoS-iV{jCp8d^`8GdBTfGvHXI5{aJvd!yYv<}egqLxWDXK#jJ3J6-p zBreUui;;@@r4_<9z|htSZ&<gsk+4_0$vo|OGda;Y%7Qu&QIi_E(WchsuyClCsnjN| zc^G#!mI3eo34kQTjsnMO>(%LeBnZd@m!j%D9AMdYG&=%?)tmNj*h4HJ7Er)itRJt+ zLG~#2x<hyGO3w`H8UXy(Y;iD5KFZzzFVHBDRE`rOa+U*CuuyE|{=YT_qoOm|?}}du zpi?S10+!KgDu`lXG1$Z567C8X)p@<W_0N}Cw7zdw-lVuggCDbLN$wL<N!qPjeY&mj z@%+pV#OIh<e_q(Tw9{Mtx@k(ir)`kKUo>B=0LRK49Gm(-Dm!dB*rh6m$~8U9L6io8 z`X4n+2#$>&XsLwTSRb*auR8wvtK7qpyy}Q!Fp6rciYv)bQO^iRMTMrQR(S;s!zrl; zafWJKw?zgC=t7<ZuMW2%Y=Vrz55FWoQ`>|&+Q(LOG{2e~#8h{XO|V-S(xA`@W9Gi9 z9fn=w97a(jT!?BjY@ejP00EsB*xXLQztaM%w=wu=DyZmJ_I;IDS{*KmTcX;&GP|~Z zUQUK0v*H{^B<wJW!m9{L<5T~N<?(MqSQ%E@b!}zh@zf@&J^MV3{#=+rKjd}pENRPo z%Z>_EOC<BQtZZZQy?@;oy31P0Z9Jilp;5d$)Ac#xgYB(`j*zw4^J}<Au|#bQ5J!hf z?O0alO&^svT*h<&Le0*axv{FOJm$^Q(2m!+A;$Svj_DFvNm_IE0!{Izc`ex`q)FhE z7fQeCP)ZMda}ocW&|F<8Z^GlZcYbBQPTZ2HCg%f?iI{0q%+a<8s^$?>6fiS$g=E<r z3+&9^WfgVbNvdviJm@Gi?`vY#tG!Lqv8E8*ni7(TL5IEckKAULTRf;baSN~e`}~q= zEbW#-d-<If;cQxGd^z7N8~@=)WI^7`uppzj<r0j)E@o!^ko6@cGMpQEti(op6_xxg zR{Efu%7k;5MTh%GWLF6J%O`9ZU(u28Y13@ogR99hVa44(2L8H;oAGs3Sd1g4#SN(k zAwaFxyImz2*_@0W$-O=SkBK64Hyy1)MxrxXkn#7*s?0PyX%u{$^LPevA9r#G#ZbXN z{=xJK11WhImj}kD>6GFNC;#M@>4cP%Lt-Z12&SxBv!;d5)G#4wL*A%_AY)8HMnahj z-i?vhlRzd708;wX`hj9|{VJQ6KS~^NWSGk<ZBzcFB5o6k>uT}8@TdGjuCni5G58sT zwDclkhmBi8`dsG$Js&MXJfE6g$^5s{*}h$szT_sMy{09uNaK%cFhHfA%{I1d%E(^H z5WOK3grlCnz-Va~Ocz0}$!-49*X$3G8%L;;TN3ro-)Ibmx?g@q2_5@=(<`UM2zP?P zVYV`H!PXtF6+(J<wm)~jrtX_#)T0cmFFlQ3#?V|jf~tfe#5Z|puABMv8!m#&TnRqV z5Q9t_HiJcs@*`5U(u?lqYoGe&B?%&3C=A0+JJ37wo^5=mmyUfwFPBL2X-TF(BeA1} z;H7jmY*T-7{wVIL|BQb*oty2P$TtF!5dfD>1jYM4B*w9RHrz%D$oVCw1F#!~p9$%p zYEr!pNQDUzUY1c?t?2K79W!8SF(KN2`s(NO4}tum?wmf;J^0}3x@aekaORPoFZOlG z@y?M@bwYF)#h1vWnkC}evE@y?dy)gv5t$UuS+&w%Qnc|cqQ60sxx^%9#l`;EKP8QE z=U(!Ik%}UxrmzF}uZDXWO`4!+r$Ct;_vXbb1AzHx{9ko72a)959YsricxDmcOMK&6 zxZ?LbivzWTS<iybXPQNp_-nUOdO2P;_**#A%>62{ED|mi>X5dP_4C=Jn(SCSTFa#$ zWV^*);;1Z(O`EpDgUG#7*FLE+B92xqyqvDM{|4Rgs2+>IppSE?BtI6}?+Un|RNNr6 zFQUJ)0)}aJR(J36uX0mdx~p9x{RcY9EeZL%MI*^8Zq};Cbz4hgeIlU%Uy1TgWqy%R zzrlzLJ0F6pQBwM3eA3l4@8VJ)s!%<w!q;Q+w-?HDGS{-Xb8YE{MMWPJ5Qo$H9#_SG zrqt*!>xe7T%tZ@VGtM%D|C-1Y#E%qeopoZ#S)2}U(;hHHlFC~Klc_05+AXS4s*EY9 z<=%Vs<p2CMJADqZ<F==G9KszEt2aH7r`e!c2PSZ%xfaIUh%J4}%I7g9Yw$Be9R>Eb z(wCEqJuL7DHDTr%F(3OjuHyXD(mWF}xc_My)hiR}={q4lC!qvV02zyre{p7~n7))T ze;9dAnx~m;8hB)4x?2G`Ek@mg=%Yj+(7JoQa{s6v^JwbS2#0~Wwilq#x3E4r^+AH* zvMM4BXgoRaD-R{^H*u2<Q>KA#IZdf`hWO&>-uR-dezj{y_J%u|N7kt^kGgsYb()zy zt-E6kBBL%3n2o)EMG{@s$DXu`d=A5Yf-8~QKEdk|yHWJIkU`J<7MJ6?Epf>2hwtpG z$E#~NY5%?R%3O8<PpW!W(JyV)icw(vkQC4APtNN>nH?Pgm?vs1-odXq-#Xu#@?C2D zt9r>T3DWh+>e-6##Oghwh-w(dgM@9x&6W2#?^PAHAC;8zB9_$eOwyT+X=Sx(pU$%~ z0ztboJ$=g<d~=Xi`CVgoG7L*yxBqHSmi1{icVZ>`O;nNO|7oMQ&KQ*y^U~c~SM#aG zsP=+Za$BsL-wPqRsov5nR1pBG)K}ksb?@^D=x$F&HA(LiZ}tu23Y!+9>Smv{Iu=HX zw@0bSS{C!hrAahwo|Z6sB27h2lHYzkI{M)VkJJ1{kGC6F*bsKjg~>^~t$2GGXrk_- z+acKQv2kG<rxV!CL>%{h`i~hFCgbe6hkyS7I6@nSviOQK2j~nZlcp7>vVZ6j2$?e} z9|>fyzG*qdC^yrqf~H~B&ro8*93RLeV+`sxz@}4CY4NiL++St4R6&CL1=^Idz7jF< zgIHR+ElBZT_cHQty)N&>LKHADnKHzpjbK(w3RWx(iW9=m+(}S=yee@<tgzaWg#KXS z*U9pS_HX=Q+gEAjgq%y|TsX$7)3)h|s7$vaUaEPA(Ddr0W~n9;FExw%9$Da0chde< z@Qg3{6D$EkEvz~LQE6IDxxJIV3xXwkM;};BpOl$=<fJDCP+b7E`56<oHQo=mFHHE5 ztI(<xOE<n-KiEwm&?|@=Ceu>M*?4ar0SkxR%_@7b%n5LXFkm6~PF>sqAH?>fV%#~( zf`{}WwOsZx3zA(0<7b4@DjkDYM%OzYK2v6n8&VAcAf7ev=xs-g6yfA3!v**9xLj_p z*V)Cx@6$~(d5^q@0+Mzo7us##FZYfiVS*w2)pYkG4lU8MPmu)5SIE17joxLRWwVVY z00)4~y5a%$<`r>6ADG`CE%)^oU=H%|WNl|)UC^a~-U&dUnpWALZWKKM0UE&KLY($4 z6_c~V({3$)thJHnR``n)H}v0x%rvM$>-X(m5OUSnZ9i+<<Dzh5Mede~JxE}cJX|ah zcS$pQmx-ID?dhs;LhGtwIQ{jjD-sfTFI^b<F^wi3p-?lj5~DXTcW8xfXh2jP3q&9o zq|+%re=PB^j3w@v%8le#7YIeAKJe1NP9k3V*^(;1=_S1?I}Y1{YJTG*+*TFO#o(+p z{7eZc9_@btoOcVhn-NKgOkn)&%Q*qhov(e}#C#qL?MVFpA;Qq$$G-o){1XgDur;fI z>bARm{#n~x<1iGZi<DnD<&IRh`rQUpdUkk~z7;UDgPE+Pt4U>7{$*2?#yseD4LX`^ zGCkZS|L<_Cxgf4U8h)P!$i^bL{C7=`(Y5yb!${#j)LDn-tv1-zRa0$YmNV(EoqXtg z2%~d5rXOnO-a`{Qj#FxvnrToSgwY|OvYoQ7ml}x6<d^@u2svOkSFrA(Damj-2vfox zl<>rXL51e|r{op5i{ob~nIM2H-@3W!j-CpN=@QwGrxMH2Vu2pny!i<P_^B{wUyKuf zp_AQJ4K9YACKKrJQD$A-p^pspbo6tR+44&**z+FcS;{4!o2ghcvvw6KE`k^4)@4^e zyP%z+i>vx(*B;8n5izl<KV4RFfkOVZi|H^jvPJWBo0BP_tedy&`;y5K*7G|SJ+bj> zuKr9K{VrI+&G-7s)#I?cp!@AVtm$s)_0$VV&jt!UEMv6hYRFz!c2iNfrU=9Mv98%F z;dqoEO>h-ub~MZF4XEt2Ca{KUfm6>Yp<qe*JZ}HrqE?}ig6tEDs?buc5PCDgaBmgn z6ql~uAi5>_TPhNkiIh#bQJ#NbzvqGdVMTzw+}?MJ!Ec4oZ~y+_oxvQiB~xh-(@473 z4!yF-^h%~~zW3WGFKLH9?tP8qZ(QC%{h!1gAKQ{5v!$Oe07aPbvXg{B=&^4>yVNeD zv%TmHl@b2<<DOHo*%msL4E0u^Is#OG%;M|{IgTF9gHh*C>*<o76Td6gz3<vo{IL@P z%bhQ+rc*`e@T%4ZW70C>nnHA^PjCN$0)PNS)u|^m=7~y5IW_3$j#!?T#ZD3^wG@w* zpO1>>X?$;}QHf>}=1;Jx6kpu-c;}zXpUxdK<ci|#O8up56-yOUYL0%|B_%wmskg?B zTkY&4pTSAdT@4ysA(m)*=hvB35aWHFn+ZBsoS^UN+qneO^shmwSSBG@b8E#f7t*O^ zjUH6GEL741Bqh$L`Ts3J(igo#qg`Ui)zJuc-~hmwg;)2h%xpyW+hd*sS@|t<6i<D{ z(z&<aqP*k(aF2_qtX<>0vd3S5ITE&h^ZcHL>mqpRRud{N5)K3!Lrdmn1CGl3L2mwu zQd8;@mTI7Zsc1RfXD)J*Lz_n=g@lhAs?1_(FuHMu3gBRl*)2swqim{Sx3E^kLPM_w zY5OV?vj3kaM4%2NL4ef(I!zNG6!A(8P7F=~()ELMzMK)uXr46_Fr}RfmjTwx94s8Y zptf~h#|F)9J>g+eE}O&fJoY23N2pr*jj!43XiVtEE3Z?!$tL{?Sr3^^j&Nw^LzsRU zK`2@R3G@9r3M4N2Xx-<>_^bqAd?MLY;S>@t@u<c<+As?i{>r9`iCv8xV-j55BZj^< zqu#*=tr(@IpGC0|rIOskp=yufzGXZXQ5AMK3D|V!CofV!dtl^oFbRxTnVEwO_KXH@ zt$XRzyYo_xuLyoR7A=_S{<fRXgyDZ6t&oz)MYmCxgahjWlXM!Ud1PScDnQ+}l5#x2 zIIvw&6mvRoF0U5@*;Ti-*hsvA+{2+^E9?(eHT#3x_5eMIJ4FBF{hYou@A2#zQaaee z;J#HKwtsA*vlYQ+gg*|b@gY;grF$-`yC7ZtlxJEzXx4Ig;VWqc|D7dTsfW>`Et-w$ zx&K}uHKhl@(bDHYL4Hx%+w}Q)L>tgGRl;n}dCSh1Uj2MWaXs@0?WO0z?5q`vLy4N! zs5${cvi$Xw<`*1KT7=`Ks5PZtiMVhhKIirvcd47%jN_Le;E-e$Zc6WpU7f;yDHOCk z3Mf`8`Y0d>sDjj7^rf{D#k+|A%e&n)00yX#V&(Ur0<>Sa@4wnE7S^3%vwHd!j7q(D z@$wSH5WrGYV;w@tMT{$)bYD-+QAILYv!~^SncX0zWD@KlyG#~|o`a^B@mgXbK-y1| zWyx_XQ-hM~Kg+YT93yOQgSULb@{xK~Wx6x9nKLy8Dzj(Sa-ez%KzFYXwKpbiZN|Wu zu=Z0j=4dSLbh$Zn){_u(loS!+?TZ+vqlktQ4>FF2Ry@CBi+)i!+`Z^**T$frxBxG- z6u(m(q~0)60o8>bYDRy_h?B%cAM)t&VSPj=G&TC+zyL|q71&@bZkD?rPL+1h+mgt` zSYRmmwH-m~mM8t9B$b-uvHo+qYC147VL;~G_n)$n@3(2|KbPx>wmZ$MN3iw^-V14@ zCJYUP=Y082_&btSOC3!E&L#{JlI-fUjr*r}2xTKcb%q*YY$~tKi$JUBZpv)FM#-yE zU+(FUzDPEhVtwN=#re>LJf_Dh65O7D>w0}40ii&h0j$p{s<PJ<>17vpg#hs_Q2Cp6 zF#egA0><5zphToX7)P<u=2`S*kXu86{MM;ZfO}1Hz{TVQK+-6(aEwO1Pscc~i(=GP zjMDs)2q;@`#ri5LrdRW!$g&ecI61lxCm90AxcK(zuwBl-OnRM0wOllhUWIg`t6?19 ztZinWm0fPbI@u}`Ru~fmCdDV@g7ArcmIYx~+Jw%mJ4M&oKA?5>(P<vRCm+FSv!0(6 zMhOsTRXj@_OJBCcDxWHp9(CykP<tzo=HHxBefv|7YCGG0f<%1({F~By3c^t4rar?F z78muLhpk;qC<wCDDMMg5ftl<fvNlR4_aHay;`48AuMeVJy4QP`*8G0CAH9y&PL)aB z5Q7E+tzunf<a@$ON&85Fiun7UEgO0+huvgUtK>2u)|{Klv7|rApBPA5x?vD797mye z)^Ie55ZQNxYp*mD1b+kIhuM-GX(oR#cICi~^M^ZYM#L!s;fHe-*&ruWP}}owey<Ni zps*+-Do`_2e}%|0wsqdhs6Y@x5#W{mkOK7d7@y7(<1p6R@IgRPQzb0NVScNqtou}L z3Gqx5#8s{8I%GVK8w5PgN&+eL7I}=OZ|RtEJ?ZcF#_~a2t4&@w5sO-hCqN<te$*%% zMwxQ@>a%_>1bSS=OJFRS0vZt{vRo=+rc41#a0?09Mnn}uyoP{s<otXGDK$X^&ozM! zXNNU>B>`Ba8nw{hRSa|VrK|)Uhw>1nQb2S$M6ws(Yp=0eBdWHCS#P_T0>%-hfC=D9 zEPr2DW%MMj*GB)WKfVgeb%+T;nPrC##OIXE2yqFYLHNotp*BKS^c6*X@94hqQy}2& z7!n;%<pH6t{rf@n0fQBM>bSIf!s^nc10W+_y=*sQn-}ZYF_OhmxU2YzUq!&(;Se4V zbAJMr%35Zqo2!Wc2Ppy~-Cu_bqU=%1QI?90qhi<kE?6323z)DctcZqdefzrCY1DF= z*yb`(oJ48&5BZ^+TXgH=EAeLt3#M2K)mxxk^WFS6F!N%#KMC+bBJv!W8@n&g7<mMH znL3?jpctn!>TZxB5pWRg>#nSIhjz?JDiDY+$zIp9+;^O2iQX?7PI($+!AP929>0Mp z)i{Hqlmi^DIFhYUR#GAIBFK=X*^6WkNW|Gm>8o_?F-&9IJaIhWZD>b5GU?m^BZcb> z8Up%zC}4^{+@a=2sQFw^J)-N$PZZ}9>L#pR9$|t$ox4d0D-7#XgLY<IwSu0+joO$o z)PaIchG<j^6{;#n@{|cm9E=tPp~&r#*aW+n2v&on0G;m06&VddE2ACn`f8bZtio%G z2LgSZe{npAe;ig27ue9PyWw%js`;!(E+sIxX&oUXPAL=Wkp$xXg(XQlhuOwMQPWXB z!UE2x?ox`CS0+HP@%>$*Gjyo*oP9%+Pe*|{QKY+zgxV1d+i`E4cha9rz#A|CCdQ1^ zOm`J|4$<OG%S>3rC*u|#{;|7@3yc}xm=th`q!vex)$XWnIAElJS0JkL1w{1BP(?q8 zBA{ER>smvI@W~*29tJ%i%=L)R3)#KRR1d_f6<0Yxpi@kX2?oiHeZYubU;4)DcugF- z$?CEiVhnuT@XrbeZhM7pu?u1g4MlmnFF4^z=z{Oc8N>1n-WvGYYH1C`>B0typkxiT zFy%F$07wSb&7_t()s?%n>W)8npJw*!Nh!f=AW<_|!5wDZAm<eE(UbD>V95p=Q=I}H zC5v1^#M<tRYS?elfxv+I6tE?JQ?9UxF?yf1Twf4tLrYNNnfjtj@nh}@;~<{kqo~<U zkjRjn9V%Ghigwg3PkazHJv*R3qH*c*2R;tCG9mEMc_AO$xH^}bSedKC3#6c)>GU0- zol}D<&<R6tFy;)*uN`D~EJNv|O_z!m7q$&;9gX;6Ec=mJj}HVr$T7rvbe6GVO$N-& zB@PUG<)3nF;PLrJND1m^ft8bSY=AWo3-|=$6T>od(J0I(88EPRH6v?S>Z4?opn+nR z6XMm*`Y}+%QrcH&t#5Q>!c8neB@EGT%lCk>k`!=1S;5DC$8&64ovQQTHC@S8&nf`E zLgd98YS7mS`bFeH_}n&%9!gTvLzYr$pIZBRM7(tidxygJfYFo7u|HT$y1vE*!C(CK z*R=bF*mr^P{=+*^dxti+MmUtEX?DoM@Qew0fM6F9s`Z-W?)<x4LmFHoi3)==-@Gz@ zq@SwJ*;jSgk@dB>b86u4K5S*LeaZz49TBFsD^^P;D-6Z)-jU08)iTRI!&3UPi_1=6 zfN>-#kOKG%{`BqL0#3)n-iN#KU$e}<YxCDt(nli!pWI|qQC61}VrqPKi6frg-wRm# zgS+`pJDoP$$-<LJbDOBL(F!N?#BBJ|fZ~1*4D49QHHeiTc!nmnHs(Q~$kUeC<DP?& z8|(L|@V`#wlsMiHacCK3SX1$=JrhYO%M+`gokCo(GEE0!gdnT{|Ki8recqA-PxDW- z{zKAGh396CP=_}48C;K9he4yi)>)1<&NlQjxcBZ<YWxAlFTxbC0KA0taW=7^S|2xP z<4jw!=xtEmSr_%#nvs>z6lW~-;gDMc*Xesfk*0%u1x4lkx4llKn2EKQX<#Ju^u7eX z;wKs5Zj7^R%A#+@LOBt^EhV!iZENP(!t?HTaiXw5lYu=dIyp*$P-_&h2wkl!fk*6J zX!}!z5DCr4R81Cr`&@(X=}ziGDG7X)kNgrN1x>nj+^<H=nv=dJ)-`Wn#mx6J<XFr# z$Und<_tqYWViOzR_f4AuDbuui*2|~0+_ldK8{>dsF5eT-3JcKPg&+xHP%r>t49K`r z!bV9tx?9mTRIjMMmcRUJG$<E|j?_eRWfZImepDa_xe0Hlbn-!PLwUHyj0U64r$B92 z7kP=uJu-WoMj&Sw>y1CSM!xb7AglDp4`)-#MO=7X%cm3Z_S!ZC3AE=>2IR)Tco%9P z&>YiF5%aD)v@Gm!%M9qi7cLpkPsI1Gql;x-1N9&vDF5V9A~qvn9)-3cz2<BGQGzyw z*i(b7GIK~YQX8sJG-5d#Pt}|<8=ex89h<Lg6c)?-VKP0sQAmsc=#t1DSsw?AlE|>Z zeQ$XYtcrd(nN!MR7?mn6b?&E-<;yIcv_`F@aQ}D%tjLinI6qBCT64u=5jwkq2Yhgu z_IOXFW&7YqABKVo_rSnF&ow{%z>tt%(v57a%k^3J#KF5px%vKFNf55$)myzY1t3;y z8|+bhch#V+ki}5nf7_67$~iLE|I3^IT$iojJ@<&(|F<dy^^dQ4icsm0!V3;d!g0RB zQP5))275k5iZmU>$PtJ7-G2kGhn?{U_@lMC@k4#t2<I#^ejxgIEmJPg2j&2|chk*s zR<^1j9P(PMglmxBwp?cM>`ASX%Vt2Z)d-Tiw!XwW`;N4MovYbRQ1W#!CguPX8JXB= z0G8j-AF;TkYakHW_RzUGt>LlT%5_8}CaC(DDg)7`G^^^gN)HI&7Tl}Q;3%#Qf`VHF z0i*^30E`88!0zLSW*8t&s8s9DBp9J77do@{3kf|3@$2EFka^0@;4TI?&yWokH=y<e zP)5grzCJWeO%dKf&Li!2RK*M9MbT-tP|u(QtKwLi*+iMceWE?~6cw3cs~z1g#hl5( zF1t{9D;D6faTzc?B2@hd=|wD$?<;k~3<SnB+}><!Sj1OaV2bz8el*gYDNwNux}Cr% z@x?E&wjuyGLS~#4JfWO7{C1Vmt)j5BFb1M4C_R%0o%ssTKEOA^0+W_*GXPp7Q+VQ@ z`V_H&oE^&Fa03bY72RBCQ_+p7Zz^2)?!KYR?xn-#01cWku1+(|aU_XKjWN;6%xbEO z9>U^I+GA??_aU_siAbK!ds?8zww5I8IcmKjcHFwV>SUcm(AmvrSL@wS10`rL?rkrh ziES)%TT@)5o~2Yg=Hp1!=1sYl$oruR+GniLFe-p`ok^BxJs<`2Ct^b9;s$q2DC2mo zM+LOc8|oT4AWTZK>fQO>?Mh8XOyCVjn>r}w=(;?On-~fQm7vmS9x&?@GckN+SMtpa z+@bglGmsxbh1Ru~zU86f#cp}~mY<5y<%uryvEV}VoYf39Q9D>nL&QmO4E7asIp--h z^<@t!&A_@g=0YVzqf^Y~%BX=zh9D5QA-^`qSBzn-^z$WQUDA?;&RC=IeR(trKznto zwwhk^fJ`uZ9;Cx;go-`l!?$i#zM%%9rnV2>pNtySLT<gxq9mjV<6rQLw>M!9wL76c z4_Ab}JvLoA6YRZoP!2_!47T*|H(T<VW0J*6@}F8EzWb8uT(%%A2<B8DQ-{z?JseIo zaizo0eH2LMD%^ehynY%DOpUds;&O%oyJPezLOi6kw!nbf++ghBc#9}bYC86w)Nf`g zVQbZdbmo^cxrCi$D~pvJ8)x8QT&Jy_K@75FS;xjwTZ9*nG6!_=+zGVj5iqA|Eaf&a z^c-Hfm`(+o(?C%kTIRmtgvXI4&B!tMfIgCN1)|Z8DTUB-enT;?;Mm(GRrXCZd|^=K zh%o?p@sNo&!*txB!S0d;bQ}yF@r)Y9VphY|p!X4d85oH?^`fq_k3+esIv8?gcphI# z!4vB9hTpEG{vo6<7Yhvm@HuRXOYk>vHFcXkCS6mM=S9P<!=b4ia6<Sf4}-2D{DN4O z3z*zcCXHztPLoYf;kTh@><dq5nqsBNiZ!XyH*Pdi4eP;8J_F+IwH8@oYBlkcPcK>9 z8gR9CaB#L-N%WHGN?wwztg=SEGTQS^30uJszYgkL4Yio@w49L*D`JZ0!WOV+Mp{5$ z*32Z{5gf}O1yRFGp-tkh+ta5XHCtJu7BTFhhSVn!g7BX+fZjsrod00QvHpOru>ODo zT3=X-S7>f)z9Uf2L)N;AcdsY?t}NzDI7WP}!1a=72jPxBH4vN`8pW7x@W%IZ>vQd7 zg$tY5{Be$m8-nQ9%T@J}ge&uQoLyhF0`2J9yOyd6J+DBtmh1j3y%nTP^V0WBBx?_O zD5+VN5Ts1HnEbazteR8&G)kD32Geoxe^RGTUzdW{oh#R>Wy|o@za~$ki=~X<<)Mgr zwa8rC)RFMMfT`I~7ZKeu;Ex|csz&DG4}q2t8bM1sYFP`F<+gn@;DRkTEKn<+N7;Z< zwEDS%!MerN41KV7P`f{Tukuc-R>`KLo9irCnfb1^NJpRjT&E}V70)L~4BS;aakBj$ zxm<Ls=R$$$OAxu$tYud*AYlrrr~ap-@}u<6`3qCYQ-`#7qNu%w^*8ba>Mw|rbYo;` z3chjdI#Am#ikCm+B#}&{DMgtVC9g~M%q&`Mi?CW2VZ|2%%z<r@Z7L*prkw@9RpcT$ z_5hw|^UbB*QqzH^rK4yi{<e8yY-sJj|GYeJ$;a`qUoYpf@$IXNw#H=?IF=gtjr@iu z*NZKl0m4rYl2=L^p>(@MzBfQnDt!s4H3PRMf`XOIYdJY0Iu%cDwD~7beVZ;!b`3#T zX2$nu4m5I?f;0?MNjbx!l)uICp%a+qMC}wK=j~Bs8ot^#DFyuRzg|wWX+E2XZ(O|* zjD=Q(>j&<#S@<!7^6XCrvpBOVR4A|dHA)Gt8k(Y{o$YkPK(S;x6<J^Bq2r98Me{s; zi4LEmLAQi!sq!YZ-U>~(W8}Lu5y;{YoS(+fVzHB<3`r?X@MW**ahzS{?kS|5{-li` zrR$-#-c@A1Z%w^J<T|)x9w@4L5y}>;*yOwb3B<J!h?U=N!Xog>$=e8f8!X~7UHkqX zRL213)+nuHY4NeHmaM}UM38PqM?^fJ0#eb(Vu4|`wJ$__N<2vC(@wBl(t}I2QP<!a zTqD5|!xR4W>-n%+Ovc@I!L(e#%bRu5;>SUTX;tXaC<1G4;j3xT(QHB~=qFO^|IuVz zik!||JA9%U12+;Jy84Z#2?tJx1e2HA(h!qa<pu&@r4)I0et0Wk@i*h<s+f;&&6D61 zm$~oSM%sOWkLJ5444G)Hy!s&GF#xRvCHdN^UtVkkzp!W<Aq=!EvZd1I$PaV1<)G~S zP)9tGOq|JU@IeMgC^Si(iT9`z>i7o`SmPr8Zy0t>!Nb%IHxB<F{w);>|BrIBenP6T zsS}P;4hnA3xWJ&qok`nN5+&YF{MU#iif^N;EFvhU5rF<Y#FieWxJ<(_Zbcb>z#%Bp zV+n>5hxuC>I8~Fv*U?~hY29{zOU=z6(!n2|9B)(aJvlz6N7baJ@|d0r-l=3qeasaN zS(>hC)D9=1;Wp;H0UZA!lB(U;^!0T%sVZs%aJw?yVcxp;J5N6XAlEPG3B~UKhkwBu zESx4Ld4qR;Wi-$UK$%yR?W|RD+OE+2Z5nQ$Xq1Wo%@xjym*q>>K26-`tx=5U`-;b# zhmr!1O^SO28_!e=Y}LQ@|I;aJ^Is@KGk*end2Q^lPW#&k=bqlj;1STtW17QSo;gPV zFb}^9$KV<~s0T>}?{;8h1uJDT&#K4bY2Zsbhs_M}jeNz4)aGgmA5^se`m^N-xe{Wg z+A^a_Xpxa|K>g4hv<j_9Q}~iDxO>vfVR2T!Tn=<fONlkz8D<7<>nAZxZ-(>>Q~gp- z>as@iCB3wa{$3Y6tvYbr<}o=O(^`{|w^_P@plQriozB;$l+T@Ye3sPVQ{xZyH3}s} zpn?5I%cSO5N_VZzcw_Wz+Zfqq!$s|FQe#3;wEA^!7$fb;G+szIOj^o-YDCNA7HrW! z$dcvc=w!E2JJ%T0?i2J7@(&b3D#4pHqZzYpt7_^<F|=*0v7FXLPso0I)8vp|d92u^ zGn>auGfHK-{Y~8(X{z2_!kilEq`J_yyY5M)qDs6zG^X*O?RY}l5^F#JrszP5%<3;o zbP0XMXPIkrj<B2|UUqL<Clhx2LaRVJ0XYT|AT@mi&McHVeV7aE?DjHxb){-Z5oz)) zgpeC35zk?$F$NAJY=n<2|7ed`g(}j6%c#nv{Lo%q#QYjml)D({Q~;b1Gk^^1X$YhG z6clIr0W{O50SuF7WV;=Z)sQJbj#b}F?S)}rfZD#BKV!JP-I|+s1JtnX3y`!Y`SLE^ zOFvg%ReI9pjRmpN8Xo>AfItbhm;LGP6$^Wur~Kim#(W==x#@??YKgh+PK?0l4BJU+ zwU^7gdu2N9LqA@9d*de`GezFJApZG1tPT9wzn~KzGaDiIRkv0h9%+ApqkE3Tb^s6C zg?F{9lk%1wRrWWTu4X@9CEHP;PJ7U4wF>1wCWX+;KO_M&I_R<wgdgi3z<zWZ1s?Mz z8W?;b&^>~Ze<Lx^$9GCUf{t3Yys{I@+e}G0I{9=#T3LI6ndZ!x+d0HSwi(r>`B>W0 zGr4*YXn6}-?tg9x#|jUe9c8|^%Zq|)38q2DC=rDg+P3$pv_<VJ_Dxk(vbH51?F5Td zUv72h*mW)&J9wGQUaTyIX?E3BVsd2Ww_OU_(jr#7K<xrb)iLI@|Ldsqf_oI<7s4tQ zdH+Y7eGiuC+Gg4E!EXL9NzCkqVnU5AVJ~<t6t3bL>qV+&VNKHrRMwlN<9yD#W~>U@ zJHk#vNo70KwW0TOSGBc4PwM-PE(S(K9OD%@$l}yj(H075m`d7`LA0P;teO*fA@km4 zCV&@rGjf58D(5UZi$QN@sJjKs$l^|*Xi%t?(3tgBi$ERZRrOR=#}Ioqcbs~X*fYBV zfgQ|ebVp5Axtnt!o7C~nJ{alYAK%$6_E&HGWyoZ)Ib0rJ0CTuJzCb7vOQbTnLWya# zI=#VYGFz;;&F*lz+#avb9|(qsa3mT75|Yv~vU2hYib~2Vs%q*Qnp)aAx_bHshDOFF zU{s9RVx{kGv)y{f9QOrJd4o^=l+hXZ+_%2-l^;qR=&-V}<AO`}9Pqenu6x`QZg{MV zi531jkWOd9Ik|`16WB2o8k1O4@+JrOdwA1cFJItoc{|eC0#f@VwNBo&$kiU+bxzOZ z?s&MWugR<WGud+rzERQ9qlPh2>xw4fNxYd}T~65&^tg8?C8m`lV#Kv^GX0owJ@SkH zG<L);8ad)=1%yDsKMun#+Hg=_<+`+h*IoBiAtcq?J?)nvj@9aC2B_3vU)%MpUn+Na PQtWEZ=5h_SOlTAUVvCDK literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Main-Italic.ttf b/katex/fonts/KaTeX_Main-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f2c3ebaec0e7306f4ea36c98f43e301c0a3308b3 GIT binary patch literal 47640 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 XQglzIQbW0WGIxjiEcVqP&vyPh#XzB! literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Main-Italic.woff b/katex/fonts/KaTeX_Main-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..1184295def56183abcff437cd382b3b295a8bac0 GIT binary patch literal 26228 zcmY&ebBrfEwEc}|c5GWa=8kRKwr$(CxntY5ZQHhI-hO%SpLdg!wm0V#Y0~Dl*Hu<T z1ONp1XC_Vnxc|y_jQ?%_SO5Pet4PNP0BHFA^D6#>o^Y8uo1wM7-9O(V0086#000~0 zm00f?x;PO400vtBIF$du0W1M;Vq#}%4FG7#0RUi;004CAD$2&KslMYst%=n?4&?s< z!PLs#<X>Mx0Dy`#0Fb?&rHP?#W~^@n0H_WA<FNb(lyRpuvwzNi<Ldou<NpH*L@e-^ znYEMKKi=m*z2U#P;1C~j*jd>c{^O}O{_`RH2asz@6Kj39f8(kq{nHWr2cSk6I~#p# z<9~Aw`=@IK0Kn&E$swZbY#p5d0As#?x_|2cDp^|>lCg6z{-@R7{HOEzhlqrz&vCc) zEH5xU9MuFDWp0ZMymS3%W`e0OYRL@5iFpj+5Vn}BRmSSe-68B%J2YC!7XJfHE|b** zM<0`awrW^B>id#;7GJqK_T9oD-BZ(E61k%)3k{kGxNV^TgF(S)Ar;NLix=rctYO_> z8k^Zk%PL&#(9Imog$N)Ay8ZM1vC9ut-AEk+sZJttfz7Mxy}PG^hk!xgnL*5F0fJE= z?Jq=&OV`MV1GJ~k7c%3b%EjT6pDa~^;BjB3&~Ajen@?WE8jyIVBq2^(k!)gM;$aew zwNR;$nUQ1jN|iJCq;&VnK}^>)TnWrXg2|h6t}n=)zK`+sWwriY^OHOV`YoL77?0Ss zL2VQ%80_Q&<F|Wqt31BIDHjBWVWtdf5AK%<gIHkKS%a>hx85<^k_U=XSK1Tvb6V`< zG_F|x)ny_5<0&mGPKtfg5g}4czn)5=aIQy76+S{F8VP4QedVcJ4ASOwWA?|k_$snu zh%Hug`BFrlXzW89BH-kjx=#2fIw#;nzsOn0;cr?62Jl{VDL+EpSYvM|ZCu@HNMK5G zZH({hvg6FA$M?XD?*Ovq%1rKtnx+m{Ql;v{SlO767MiF@1{3TLY<aSW^|)`kh@lCY zo9GcmYSOuvg!{K?vUwr5vNGe5?%3;3QoV+9wVVcGx7|X^&g5i{B-4_IH6Qep6fgS6 zn#R>J@udAKlWZ;*jr2gDV4Vc`6#f%0=J-(bQzE%`G)FeFLPY-%d@dvMT&XqvydTS_ zXgj)K8M6E*Jg-8<TTi!<I(ZCnco^~7hmV|y^mEyK9fQQ{4;<*~Ne?s)ogYCe)Y#nz z5=hsOlN4kZPQXp~>)TAhdqekV_(AX9#`UMQON0;V@gDPLQ0kt@1&1IM7zzKyCLw@= z&&D615YWsA#DuaDkq4Awt){6*ynfQxY`-AXc(<4iftcfaT_?&)$L01gITif`5;-;Y z^-+GLMP@L-HQkXdc4s6398{hSp7!foyQXD}p*FAknzN8a&d|Yx<5iZqBDuNeJtk9p zMoQ*l;yuQ?t+%F0YdCbg+$yl^8Fn=wg24Lc^VxcTJ`7<1xVS3(Zdky{?nfRqdTgAa zTyY^?iv>HgJ3(19lt{~_hl^63;ldqiB}z?xfGdf>DKr#bCT0AA+oXYZpRJxl0JuwI z(B4ovbLAc4Ow}40bNp(hnOB_4AP%K9AT(|ST4aB5tiqh=LX3%wl_%S^pv>^JS~y;Z zJ5;61>D{bm?k3}Ra@(hd)d##v@ybs5iHgT~)yV}>$WSa#ltJSr>k1{E!sDno!Ru@G z&jh7UjwkANZ;^@x=>;RLhul5HT#_m&MWn03Hn1HbSgLHG(`;iQCdQJ&2{DU0AOuX) z4`T~JxJpKUOfEc-Cru#n!ES$WBJ!m<>1^A_XGhk|v#XMgefS9b{K1;`{cfuVz;yc4 z3ja>=#-}=)6vLdY%?cPvnEsg1ZMDl+em}LW@!fA?<#`{bqT~K}EMTqC;_!9xwl=qS z@yN>%SJq0$;+IwNK3VYj!_Bl%>7rmvb}NNi2#@JjCByLTu_E0B-Q352o?gC0x&Gpn zZ>P>_Mrt<_BPjdFo7dLUiP#TD>OHj_h$va6Wd700H(%@ItF3JgQ#Jv)#;80BRrdZX z>6=Mc&9}H_MLISkVzVSx?RZeDj4p?QgoIcn9WQq1K#E9NO}1IC{89P*iwn2S>3;T+ zs$ecnEDmd@Moeh@?(x}o6s>c6n^^%yv;h^X{JP@EqKnBHd%>nytM00*!0O11@NOA? z=5mL1gVW1xz09Qk`E6#+$*!IyC&IHUKq;SNS(DoWU5Y6}rHWpQ3T;{{Nkui`qubeF z$E-*DvPNaT&B*HS%!M>Gi3}<r$k)GSf1<tqsb$<9bnpqZ|Chep4qqy3kc+w@zS^=~ zqhdaiW0B5u>qTdYK(+>^6r*<dJy`;1kZl*S_$zxYWO@n&{}{QD7fx@_Jky9*>S$wP z{7>%BuG2@~dIaW=;1laGR`}RVC9XZp(ELnImV}&axTi1Mb5SHY?dP&=7QP^D>&sy5 z&s$GIRhE~70wf5+zAK5(u&)W2hh}h)k0l@9&ln&U`H)dAU*fhqUE=k!SJSJeV(BZE zDKT2)B~oc)#+%@p7ab~iw|`FeY;+wzWahhKt^UXAP%I(;+ob2q(3Bj2@Qu}Mw)8^= z-!Ei&IXIr5MF9y%M64l8SV;uj*MJi)KMTt3b2)myKj>D*O6b)^(nN}NCRLp6@a1&r zdt0cm6*oIaw2;oHtZ;JTK~rR;*FvCT0{kJ}L|lbd`K3V^f-`g*rj#Nl0tzdkIBoCY znVO!YLS4lpaSFrI+8ba=&%=guXD_3b7C#m%kxY(s)@Hb7kO=KTt-*(bMGKEBMiofx zzAyCScLGZoxn`b8lb3#VM1(Yj01H?56x`^b^&kmfkC&Ml??r({XAcHxyZxs5h}{Su zvO5%=+wl3g1ReBPDFn379s=oif=Sd*x<${kOWxKPE8z-+!%wgY_*<9@%qzAjt3V5Y z>63F@w_Hw|jE2-EF$KPA+Q_i!miN(LxRPut=Tbn@rN4A|TgWwuhx9y%mI%HJ)2C~Y z_0Hgg^F45M10BjT99`iRXQVoF+#!(?ox@Fh6qVWN8KB`~^Du?_X6=L_Wt*kNvM=5O zgl)p|NrASxon)-Ex#Xkr?>N(dNT}_1KTJzmpu=8v9}FhT%)xgarDhz`h*~CyUJ3d9 z9t#)FmdfW1U7iR<o=#2{S~BdWc^^i{C5e}Qfsp_W3f)b;rT#=5%&S=v)Ce|(LexhF z?4kJeAZ5Z4x$;q!UAetu?}{HGpwjXVv?ZO#q8uDZ5gbSvIa0>?AOXHpf3D%A8h5t* zcZY)jv^aE^@2CDh!z=-Wef;E*DqG5-#c$V2vdp?Ns4u9D;ZnAQ+BiU<H!+1HUuKfv zZ6WlK?f^&!X{3Y!sbVL`!p@{17gi=FSf+)?I0wX?uM@3|6uBVgarUorLj<CagTQ&Y ze*H^2aS*@V<?Na{5^t#aT6~^{J4bGRa$v*SF+_rTAR&&bVsGT;of&8}44{p6PwV|0 z%eLOfHtkfzGcVKlTO~Pz0?0s+;4EtatObD=PyO-5yB+%=%;Jh&8IuYXBkbUvk8Ey1 z(G1Hqt+|fgtp43wE5|oo*q64u_-+HoQdX)?1E%GT-<VO|j}29}uX_y;i3%w^JPo($ z59lw^7&qV9{tTE~yzetUMvb;=`o1Qo_&!#YAdoG9+uViJd?0)q^#e$?1^4QzA{+n` zFgI*iJZy|mJCK8VX(_Xr<C#~h=Ti<e-or*T@1NUGJqEH*NEwyJm$RP$iQIb(Fj%YN zIdkZMmYUOL{tJ>drTZ6dki?_SIdc$p*OldDZuxkL)$qvV`?d&y@fp%2k3Ni{nl&3K zf`&*-G|cB`-|g=eEke;mgKC0$3Q>i;@E=fNJcO8?w;rXJrdt%9c5g6gXm2p1uNO;T z2;gg~-bTb$C`~>BurV5Xn9W5Cpa}`^4Wqg;xv<7t=YnKbkQ9Bal($ES9mCjGm8(V1 zK|~nn=&F}Zli1tSTq(8_=$2z%wHWcf>6>H|BD)9ZDx!X3Ru;M}o+XWpY`h&_CAt^X z2gHq)3&og6uf&z&#yM9?{S)5o#-<yHV7k&ni4{R@z{Zvy<!dSD1U=tlfYnRPyFeUv zJE_Xoh1MADWb%i_Q^85m*5(f^@%F19;lu)!xA+{BiKD(LXuXx8Q@~OtG3H1VhJ2<X zC7JvA@p<|kqA1+c#`G!3Sz3LGr#w`DP%Ul*ZS)>Ua%Vh6ZaP)RSjEL!|L5fQQI=*- z<E;H$8a1at?daMap~@NRWSA08LV~^LQvvZoWCQtoeITq!jwarisP!`jYeDsxdSgl$ z7E=iuf!4#9{rt;Fh1*}$bTCGJ!zTnL6z4C6^pLWs5};lsJsY6EtDuC9RBzX#ZQHto z0ofs)pbEuDF}jQ-MvsqQH}<x7vve;J(0pWeRGm{_L83oK{p`A}f8P8Zz{Lc0E+QTd z*73J0GN1g9Jbb<LSoFsBAz4a5?#m8%t$XgdWjm&|KayiYO*pCxou*)3*!qS=%cVS2 ztDm<T_vs2sW+|56j;O0pJ>WjN<43V64WOAgl&4Zh*}ZO87b7gyuKN&O->yQFIlWhh zL6qlGg&9;LPbAk8&@mH?(+SWuD<RkkO}dxFs@B$2WE;p4!&jTt9jTbUx)|K;EWEtf zGN+S7mlqsP`=(+u*&1{`PCi8$bZ}K<ioMF?bL}?108v}&{XeIkOO&5YDVf3{AMqIZ zyOoJI5bYLZ02z;l@-BWYV8VH90^`3IkjZe+VwY<OKJbUPAH<G?^~&w&kU@w0BG^c) z3s@NAaIiPna`p84tgBNlHnW3bacBv+$i+?)bC^YK9akzD52tE>^4c4vcdEiJ`**b{ z%hagl5q=&G3bCaBQf7UOMRC?A>6NwWw~mQ1W{WhWF$L=nfm7Y3SyHZ0eUGYwrl*@l z$!B2JwZ1aF!V*KFgDuDWJj<FmN@Q^)Fm0w8TIujHVm9F93!%hL9>TKLjv@OL&b+d) z1NFFcM1}M}xm0kOyyLerx*_C<`Q@`T^OeyH6)pz<*{T{TxJf3G123z7++r;F(PeDQ ztC#h{wHrQsi-|L82Z{jcg<@m4bYJSrpX(&`6iH|*^Fx8FWL|5MD<PaOmiM56?3CdA z&3UIT?Mz&w30m%}oh>|^zVxXyu}4z1e<VLcfr4T>iFB6!cHDcqp{gb^iOZQKrOFg_ zgB^D*RK%M78%3o!+0IT2G6bH1;@+K*!W?x31<K)4{$^9o`SOsM7o%jU$nwn1hEG{^ z46jO;Ykh~+ZIOV$ZLDP<#T%-4kL`2WS^%zfdmCfP4+Pj32G9sc3=~~h(cQcQ7hMQa zyDf6CfDco1?gqOD<Hxkxj_>vu*hh%FRNe_e?oXn9)i2E1qA{T3ZDdx8H%P={N@mHK z+@8(N)Iqa;^%QWSA6U{(s#Wa5q5DamI0`E4cwjgIVqd_O5L30JFrS^tW@pyTA)sP# zxt9E=LsV&eOo$~O>zszN#G}_y;b^<hfHct#<{Uf5kw5<ZFciE0G&aJpV4y8$ATtoT zsqTV%TjS!RW*XZJ<`JF@`K)JIld!E`&YegVYw`(4H|GW-$o8J*Jpw;9l)=8kZ&bij z1=tosfgcPQi9@(vdQ5ynqO6f)d+qYsHNFE8&^}D&TFb3_qun$nNyw-MiUQNp&PZtU z2x8BUzfvBI@YB!aIxy&tK(xy7Yc@K&rwqHi#MESdsdX=uc3h&Bea<NOdOlFwjiacz zqe$_^QPQh^&gN8o137~~V^}vbX?{+~;kxdxKm_@qm8}0h1E#T8DaDn5z^_bo!_Y9M z1cjl(r-DoolK84bv(Gf?m@tpvP*YqI=GTV?$KPv!x&(jjudj$|df}i1`<IrMo*pFe zN6qk_NJ_X~y@?$txHpxmKCY}Fx|YhOz(iqE4E+*d6Hp{)){v;HHH>0rTYea`i|e6q zPrCCeeV-R+A(!rk@paFELp@ymH$HD4yKPB6Scv|ybTZXH;)Q}n=zZm`Q5mx}VqL}( zB~0l~<oE^%;)L-UH5XxnH@tSAb)A9E1tBP1jat{a+<TNIE>uXE<cOYD>Oxqi$rwxv z3iNBgJp(s>%stF}7Wf6pEDpGOa#+tMs@AAP6L2PuclSCu+?cFoV+!lPh9(-u@iazF z(QDM%8k>0&!WN^05Jo*S2Zr8Hn=#UPw&UugHf54RkP@-MAdBOCyueb@0$~R?D3XYx zYJr0J!fr9d2;xu<%jnUG?j?KOGaxu-z|WKep>EIM`79rvZt^f8#|Bk?JF~hxUi2S( zSy`TX>t!9h!C}0Ca6~CUQi;M-Gn0v&bGwfOuxBwbQx#rh-8)SNae1cV&$_^m4QAWV zCgHoRZZ<*9|K&xLJ=*8OqH3L9T;-!<6zYQ@Q|`Q6V$8|bP}3|4`cyODfgXvqF;d3F zS4%5>b7$73U4BoIxQtesyg(*_No<24!%Jo{)q>eD5+=7O;4U~pQ<YNU^?4q{U)R8h zZ8vd;>~ZyGYjV3(sGG^{`Sb$jU^*uIre2K;E?IA%xsB_Nxx%Bgbl$ODgFcu46-P`T zRJFAd*c;9Usnb6uQZL~b-F#`qkeSUAcXgceEn9A?%b<+oNpzTJ*FHiOgQhSvch%D| zAc~07(XjY-J#f2t_3Qj_)`Zi=cch~=ZtkPfgMZ}k44ojTN;`F<aCTO2(%RRx?xh3b zXSUd-tb;hceC+x3k5_t4)MJde?OZ9w;MS@eVfbLu{#k!@>PKLA{E*X(V1-IDd23kA z%rX(iCmjSRzP~IJ2rmqrQU3fnNYM0)k(8p^B{01KdB#%NuhccfTcx%|mtlu=R?~4( z>Bf|a$uOIr(5s(O+)#bgikogM*zf)3sjrD2Abj!6EB`BBsPA}mP`=w0K&gx`{_-xh zm+FK%dq2h~aw*Jtsb^0(K^y2dvmF_G2dYq7KC#q38R6fY!7^#+WQV|rX4@K2!T``D zP3<{^8;aaAYMV;pES@GGmxIfDe{W)tFYlqWi`Ci?OBb`)^t0N(S0>c$2a4L8?M~N7 z=C4Xjl`)jaaX)w3rg+_GGq<bbW(>(P@#2b-jCC_yErm#PP8=3sn}MjBm1rKJ42rVU zs8hg0#~$VBbvlIioxEH){=AtHcdPy*9?0{91r2ML_j&GiTE-rXXJYaaCZzA+q3>v- z4DwDR4L05c$IOP|>x7|3vfb_89xv<>blY#ZDSvx_SN2F>RcRjHQIXlw@@HoJ%>9k~ z7kWv?^eoL@@nJ0|MC5*Bj$#wq#{JsNu|1zGwcP*7b$g_}TVC`e0m~z_yTEfj9S74- zc6(o*s+vImfCyy?d4~|CjG>N!8SUz{=s3D8+`!zb`CazRQjzGnv1-ypAz06&c2102 z6mexIzsDU&K6fw*ORg||0-B>8Jw#q?>veZ3P^WX*;k7niL}SEKK(1RJ+vS}X7Jjj` z7@AX9>b7@_5}v;}YA}HO`*m~kepr<@N|{U1O{88SM+{YZ*^_{q-fW0zXk3ge@sp|A zyl^@<U4BfGj)R)%9bbp{%V~VyB^#L)%z&7TcbQAOx%((sW1kRWrdn&N2)jlVZiOZ$ z>uQI~;lfn%EGxM9b<xz0CHTDe^!>doD#G0{l`dQj*G~`6@4GQ(CDf~WRlI;-6doEJ zW7rZACeCd1f-h-ZE`UL3^^nYY7*v=bFb9_3wd$gcKW0F%1itC`q!?@9tBbp=(7GQ> zx9(Fct9sNT^cURZd{8e(_j@8#F3mFGZ{;Qx>jIM$A;Wq2J`X!;Qu;9XMZ}0d<t=T) z!<>dpDkNsysh*_!=0tsz2}t5G!)jXU)blTSu8fGpBt}}{XvjbHN_zuv#KVQC{QbY( zw@(FA>5$c_V-sT4#GDW@;|s5Nd%obrhoW$ZnbQWO$Pkze%&o5h6vVO#Lt4RE`r+fr z5InH}m}9`{&Vp<ob=ITd-PDHszk{-$2Z2C*lqM#s4-B$hF*y4zFfzlejhwn2<Uwu& z@c9SGiYn+@V`a|qZZoiCIi?w{IFtCvpxOYGN!oWMW$ZFeKN~j7M)E5UBlo<qC^0db z;Dgj_OLobtzL{*@y;fmKu7;tYq2QOnP~tk{_XvT^H*V@p=K<Gse3Xu6?bR_uy4$Cn z$!#cJTZEVZ<aN1)$ZY0sQ>27jPxM0%1A;)75@8OX{tUH-(}K@^_ezx+yz6l3s-?3? z#PB38Q#bCq@I(fY<8vj-CbvIih@?b`B3XnIi3`6)i6|DMpCE~_K3&7&h{&;zbwvto zeW2MB!g%Ysn4$e{-#B#*3w)}z0_k>igrV}i!8xRN7Wg28S^$2wzYe)jo$@;%Q^Q|C zME|r-G{Ri>y&(X`^r7PzxOVys_-Y#~J@hNLd9}=KhdDoP>9Nfvv?2K2V$5cIHX)ot z>G>zkinmN9&T6Qsc|F|!a#`(lk3B)~<QOt$5Ge((%p6jJx!>E*6uvfD%oNNFQ4UM+ z7PPYR{oYjI9W#?c8qr-_?VMHH@mLho%}V=xOovP*@;qLk2!9Thfmv2qW94B?;yKCV zq&g_$p!_~#m8UN&Oau>52NZvXtwL1PE}ap9fd_Kp0zR(+7+sd^<*BYXykG=!GbgWG zaJD?`^o`we@r*TJTt?)NzArA<W$iB4g)6h=u#pl)3Ky*$Uz)VO&*)3(qN!-C=&|WN zPEUWI4QQ|L_xp<G7ln?F-Eya5Y4zJ{O6XA89$76{{_uD|v}wjp!E(GfuDJRtVBC$( zXmQTrv%lx%bH8l$fI%(*9(ztl_84Bbn}<{Qhy=%Sz{%pmHT5vZYXhWtF@F7fP98uS zMiUj90upAC0<EQEGux=Xvb4DavEjp!N3scaT}OPe;;kqF+GTJ%d|!HihdpKt8~|zR z^AFQaz}Beom+>yL`0muXU{=ae+N&(lta9$M2@=-gv^M*j5%R_YH5`hCAfUkW*Ncy0 zdm|Td>72o4Swcw4uH8`-HC{nJF#O!jz*3_%3hvQ;BG@2`AtlUl&>@^KawrW&q_C0R z<MDN<8^WT?IntiB|0u<1!?)CJ67{$A4+{VCoJ7P>c+y>sxH#?KqVd-_BB3FlM12yU z*?28PpL6G!DEpeEFwy9%ooKs5nSvjUm@tx^6wvhuv7hOdedOD&7APRsb_U@rrP&>c z{d+VFvW$@J&x{b}7Eo~Rj_ofEk5}7JruVWBaYp|_4C~;Q)%XSBwlKS=`+*agY&G_F z`W1|-q+jkm^i*!Zwj6!KP4!e90+K40{-hI}E{~30oI+lTDn?CH(-+*=NSRhGvx_0k znkVH69QIdOpf!W8L}Hrt+r;q<!97bXg#wT6;2AG}kC;U;sFH_I4AVQKgGgXel_ya0 zE~TtoI+Y@lsJ<oTsN2+Ovqh+2YN~OCC*{|p1mbH4^<2uQ5#+;Vy@(~0vGviAe}i^_ zXi>=1q8EO?TGASlTqW@>Chz~8OW1??R2?nH-A(*H1Ox5kD8>OEMm0S*2T2ZB_>Bo8 z-0vM-yh9Bt7C3E<Pk^w6ILfbPYVm@Az$4VVgxi<5ga_*%1ery+b1rdd0@74kT=@&q zbS8_--s?!t(!|24Rbkwim_@6Ps;^pHsk?ihv8h9<Xrrvr@Y`<VI@Hq>=@NufDr}H7 z=X3J|Jv+~YCIvdB^|QBI(cYX>#)G*ksaA1C0lru&JZfSzEXyQH6gfWn(Y5>5$GLP@ zwH72bwnn+Z)F$Rx^!Z8=+yVEMA1_9@@IzLJIey*jM8{>UM%8vew~ageFLo0#K`+>z zO?pBD!4y_R9l^rzU&Kg|)yy%W%{`8tbD8UIqPdqaH~t8``3fvb$QFS$Pd)F0Cy>{j z+p89yk7)dl(~241hsDI$%})EL{<Y|**R}OazR$~9zZK~jPYE5pIVZywWhdlP&huU; zMNj#5I(Yh|dyln4qYmh^!N&6KrznDRZxrd`m)?F*JT#f>%$w1^aQ1=uVks%k`N?vO zlbRkMJvxE(%GKPxOKGw~>(;-rCB7yeCl0BODksBkuTLuzsANgTBG)2joIA>{1&C{P z9R^)14^?JK->z0G3Hu@``SgPwKU(xM7>hxmgz|1w0*SW`xh!TcM1X!!z<1pZH^lDp z70@B|V~*9!rm2x2k>Qoj+);kTWu>TVm1n2-uh8|yHEn2*I4obI((h5B4&6$Xf&Ge? z>h$SG&5>fB#03ViBFk348(VBR(NLyz7x`#7>*{CJG$pZQeNhRI1s8|~98C1lbXRuY zrV*70x4M*vXz>{~{w^aijM7jClK8~2PbTe%wEcKc!TAo-<z@gu*5liUW_Qf-9=Q#< z%hHg}E`eWUiR;;~AidP~=$Bh=`8it373&#Kfg}|?(be^6^W>Yl$uzbdASg71E*i&D z-{NNj_ESm*HrlQNooonaESRK<Lt2h}Zy6<*nLd)+ncO=ml3}o+7wsuL=YoXE!91fH zh5PsV`(srLW4hR-O1(NK8cL50TF>B|2C>>wmC7-NLJSTEPU2$xT05J1mJ}JZ5R7+V zqv<7-Z}?NAYH8gX+dkQ*eMhm&bWQk}GZ9RBYBf^DUuXzvA^X&)^h7a3PBpvdxIU#v z+^wfuZ14dGIUeE%adXQ$el<Om{TKKziVI7T@HI8K>|Uq6my>c`3bd&6IaRwfpH`36 z#|I$yNsG86Mx#@~q2rA?&ardVf~ZA|T}cwAjcQ`QPX&do1ql7z6<qF>4AC#uDmQX2 zrxYJTXxRl$@-<+6Pn#%Y&e8<X!mCWMbQYB+6D1cC4w@<|+m*tiNQC27v-U0a-53S@ zzpm=Wpqgug<`K>J(kSK%9CaIi433pndp4=0+lWSmbzkSPV{cT!+b4^0pook_7L(0j zBssqP+`q_G7@{MFya|)2krdsZhfgx3W76$!0*s>MOu71FYGy^fbkzf7gNeoc{eW{! zI6Wa_0QUg`6xwCD2RW^$v{~dJBanoAFwQg^u(O5i0O~#i4$j-pSwF&u7dj>V%ByK3 zj@n0q6OSjnp`j|B32liXQU&im7Pjssjs$jx!a-$qo~R_c?=??VFr`jEB+?hfRbC?6 z1a#W=V)0AuLk-&pz$L497dKq4?HW7^RJa|wI~jc#W=y*)Yatw@;u<wf)m#Vv95(^3 zDwwZuUQF3brOxT&{l9}tjkEK##hMsoNsA1TiG(YLwO@xPEV3(OQCe$W67*79ZGlSP zyj8R|2q+!2s75aPZFH+uS(T7f)Bd}xdcH>65C)s~b=SP{c7`&N)WJl(p0$mAl{k*! zNCjUeSBy=lQWB!8?MpZ*oJ2km4p%G8T&>WS#vOqsN3gFv0?A;6Cu;l46(-TP+aGvC zIYXU4Ib{@h$5m<fW6p(O?zUqmR>FaU@VfW;MnBvYp`*PM`&RlUYjjQqky1j$-w;}c z9})vHkHvbz$b%z4P!ImM2l}X@KU82a03=A$Q^gzE1MnSaYo(2cCF84UVO7qsdulQT z4`khH)cRo|yUVnVWSi?$aT5WBzs^t)15H-+Yeu8~mot>&Op!zjn4y-icc6F572U<; z!>vWeX}|FPcsQpbg!J`~?7HBBN{{}N(3l)q<dbL4q2(RW!e1w?Kb{M+yP_wFLNMWR z4ATY`+jmKfI4i6v{9R%RAMB7|U)%Tut`7&HWZz|5BSMTsm<A(eF{n(<KL>R;m9W2` zs!q`A+O2DOXw{=o4hl0V0&ebIb@9H8#Rfn-=P|cH;!Q#nJdfWCI?xNYhO}I(a{=I^ zw-)Gv-P!d3yPo)OPUr#RB0Zguj<dq-+`$Q_*sfA-LC7!sCpO`iy^#ly6B(V&o}c^s z^OBmZcV5d-!?U%_<U5QhR%0UTMiW)=517IpsrVLrP3@oCH{_w!`*TbDFL;QIpTorz zyBfTWccJ!H`za9zQ`MXvFNNHIT%bJPf`{jUTbeyY9%PI(tBKXI%>ZP-%|;Yw#~1GS zxsEsv&s4up<3u|up&S23+}Fe5cw@DIB1hz=c>jDLO|)l{yRDBf+;#Qx4{L;4m79dg z@e9g@9SPbl){dXgnT-=ld%6~90@o)k+ncU-pU;_ly~fLY(%K9$9IkQ=kfGK<vmK^8 zVqy5?cZd*d@&Y7XuQ`I|in<b2L_}DRk5vW%b~&xJROwN9z3xz2bNK8KM>||~DhF@( z5X^E5g!@`DDPY#wS@JrBIDUFy#Sl5oJ$D-JAFGagZ~#faz+GR$T(wa(Rav(8XLkZP z0h8ScT)vj2RgKt-)2og=4MO8cxTPu!9gePM8a6&Q9u`hiIwKR&<62(Xmj7Q#*;Ak^ za|>3DPg3u??X2a}$(%bKR}^$mO;0V!H&`+ZWWhjHXT9tv!>e^A0n)imHlGQR>!P$j z3gXzC^kZ0@Ge0x_bKQ+4qa3{3hIh-APSaVfN{+*SaeByiQn5>uGJT)C>?e`MWXJ)q z4ze#s!!d=6mMuK<2o9~ZwFzf+(n}v#aNqB{@kSQ8RdC+Ni)R`Jh7*H|E8FHWx;yx+ z<;nS8?6`wvzKqAYZ}uLjI(<eH<$s+rAhk=(fKv(DYK$RBTn|&akUK(%0FF!s@#gJU z_>_LPBfud$sw^I<l`F|p;nkAP#$%}tkS+b0o4WN)KivYoeDwBDwCai<B6Pi?Io?*# z)%{CU=+j&X^s$kS(PMS;ysE8?4?t~yuPE1zU1A2!jwv?HoMS9^SkqtOP>zw0>XkCn z?|rw3Q@wU#MaQ&sVxv2!kE{lzi?-6l3pTTV|1y1ZV`eE!NtHO#rU-$iO+0DHbf<)Y z8&@xh<CFY-M7rfQW6)63g2Zs0ZHSTJX;H7`;TClFEjaBe&y#o$ZZ$y<Q9?33=@vN= zAI!E#-eWKOjd?+b%>jn$8IzkOqBQ4b*!jz^_WEOOA|wBEEJc}bSQSy})L8o(0mTli z#YHg@V4!&YZJ+p2P{3(+1uy97r`<m%3dM#Wz@POiVK6v!CQFBXJqxE=b>giOPk6d; zV5*Mg?~g7G*Iu?d5qAyz^DNJl)<v2Igl{`{_a^2cRccaf#i_f!Ti5~l>bQddY?T`G zVXQ^sTesVF_)yx@Y+Pm}f<(k50~%8j$)W6&&SVJ>Co(GI_pMjk&#_OUR4944y~A;! zB94^T$Uc&K3AW2IU&PRY%>M43_XIjBZWx-jz>6=vNETH*Rrhy3NU*m>X)8)>NAl#} zNJG4FBz0;D0_<~7kr7u4?B$appi+bvxJ2)vIU1C+K_5nHIwwVJ5i=S}`h_o(%mP&q z)GwAlugXrlfuF{*_W5&m)Q*NAFyRVcgi6*#0aNyexhMhX25Z{jdgJXPsA_-_GtM11 z?;VUkG`K(48`U1bo{WLWnz%N&$U}(HHMCgApReAzhwg#@VoCg0F@u6lG?t<5MsUe# zY~M}O?(W4vf&gjUH##bekhLq=z;-!KENlC#BrEM##;YCnFqAMTQ<_qg$b;%V4#Ic& z4l=m+hx==pE>}?F`m#>nDMDq$S+zFPmPx7`z7IS}JII*xg*B}jWBccY4PS-pj7F*~ zYloKyoWA$fuK(KE*T=Z`n-<F%haKLGCSm5cKTf4&2ONOx`uxSzrRANc@(aJ);axt4 z^+vK(M1%+oeduwpuILR|2m0gVZ8%V+r3qb?;*Uav^q+>a61-85Up)_aIA^c2Qanwg z<2sJ{YyUQx%BJS}B)omAv*}BHDWjTWAO<+dcUSW)#I^|a2Naax!oyv{-T=sw9L(Is zHgt8Pqtx>i2iiIjh87$k9TdW>15d9v111S@)0yZi7SZ1zd*<_UY}e>fpM}U-2v1rW z<H)ygWhz1qZnxA&Nh03rKAl@G3<*x@m)*TR;Tc)Yn_`21%_fdE3MdpXX)fQ`DNw*0 z$-%>N;_ea^AnF@hT?{p}?qH+wNV0x$_|(-!4w<x@1`&1{TNrcoRT2-0Y>lcu6oX?D zM=)GRu%5c-YoP1XwPwe6zZ@25OH*}G?E~AXjUr-{E1&>7@lOe)u;IXw*n~z}ip$!9 z4SIe;FeA1K_EYKkp{vbZfUJ6&=GJ2ha#hk5aeF?ix=5wX;cn_?;oV5fTIFrFwIfJ$ zfOUh?br>jce=(|5)FE2pA+D0H<Ahrm*1;dsG`R9Yt9DK2%WkIUa;}KgEq<K4AX~Eh zSz!u?j!<Gr@p#BMnT}dZbL+O{h!ILQOA_xZ($4KdWtHw@b2PD97#uSk!3t~3Dwx8f zsA5Kz7i6&P9({Y(O)6_88Hg}p{eV+VLT926&Egq{G2fJq=`b^D!H@ZRc*8D|;Ekle z7A7$?p&qCBZmJ>F@%l<s1(umT^9V6{d&d0Ss*w=yxwmCXpUX}2bcRZ%XY1l41N4&s zG8ZOqR5ikb*@>QO1;uhZC9Fc<ul|674JIa7AFr@Dx3ZyK)&2{t=5Uq7KAule@ry9a zxhJ}}8f?9vpJch*55|j_N>)@<;ijg&G%ehEUAH&I3Xt#yVW>GpJVrZH=gd}I((mRI z7dk3Ax3vC_#a(V4{r2G8`&l{rKJQrFPQL};i|>9G-?Z43qhX!By94L$9$H)FF^M^H zc3K~Jc&<HCN;FCj5Z_QxwwN<byC-5<NP=LP{%hG*mJ`HZ8aH%uQ8!HfdI`fi5`mMx zTS@NIX~$Sjp?gN3>LI&#Iyx{&Wn-srUd&?UIPz2n`#dg+^CX?CM`ke{MEEz|jwGS% zbjBOMCHd;F0ip?Gek3oHQ3mS7hNCV5?<>gWuM}<pArxw~CwVi8PyE$1uPlmWQb{&M zalczupw-0gP%p^tSqIu_=#W{ybwXO2hAC#O4D%?fARJ>imiA{IIVW^6{CL{a3oIc& z%?{N+_G5ef?%WV+8JU>4c&9bb$BfNT`1>m$`$*SB9tDTz&qkp+J(i2BS<7R6KQ&j1 zTUcw-_}PNyR|P?p4B|cP99ulpt!lB}k4K#mzZWonT^!fzvQFt)(#Ii&P&rOfFb-2j zIl5Xsr?(a*i5=5i;C$i6xKQ*%wk09H+ZW5i*88u%c<s$?I?-heI_+J;{j$DHALDvw z;vJxA91Vvaegw8pX#CRsR+AI(NU4V@X72cx0Q_aVBLRI|v=ObnFaWd*qh8DY?_Wi; zSFHnog*Q?t69KOu--p+(5qeqlzQWUv2NVO{$`ZZ&;b*N5&=5$Rp5A_6fB{0|85JDr zRE&MK&{Swt)^H%(J1M0X634J0-o2J)Gn<Qi{^I+y+jO5VVVjH892L(swf1ap5OLc> zoY&?dPzASKA7RfLD4DguTat@3X>b0aYxN_^Y(V^EiAg+r^Nf#xXvioSB%URJJ%?4D zErqBa_1#1V32Es{@-6(Xd^&fs4~2oy0p|yKlF!Wr%9WgPjX%qkD@w_hRrn>X>YGb_ z^Y5D6Kl+Jz;t{2%Jvqksq3QeV33@>IQhq-$jhhT34o@8VMl>aH+XU+6>^bB8n!8>= z<fwv1<b;j_qcmCc_89inpznvh*DsY@G8e!yz5crO6}!}Q$@v;V=A03ck&l?;oQ0lC zF(jx2?mbBUQQg$+ZL=r&IM7~VhQTr)l<EjDrmr^EGMse5>0aF%Tr)iGW%xPmDwr`m z9vGSYXLh%v-<Bd+;_5Ymz6xec8(Yg>9qr}q?eCfh^L((E2Bl~NmMv2RN8B(DWZq8o z{_M6&u9~FEh``o)ugPNUL(n*NQ;9Ig?F}9pV#5Uf0sES9`<5tZqc>M8zMz^bKM8I? zA2S#yl8}76LSo?iIk*V$U=B!PGF*Ez@YnsDRHXa(o#zaE{t}lZE3JD(b^tUs0lv6R z*Dq+bpqWJLLuPkvSxul_QUnC;k{ZO_fWTGA<pgB5*S%viH-?1%TN5KiVErt_Zp5aY zc4N1xliPf4PPCKEC$DA4QI^$W7#rsydxW%Ks(g(Ak-5F{R{t}aGjdgx!{1$ANxD3@ zB6}y%gB-#O%v`ec<qqf+#SvqlTI;|FtGe=aXJAv@9gN8pB}$>it{hVab2A+}3a(vl zJeCr?u(~I&E8p`fpInSgKGbl2N&e3HY1AE*c3LRQWmmz^-y=*qQe@1gt|eKUuDePq z>Ct5&nvw3Q)sTq@B(XX_z@HYnF6Bm??n5PvepZ#C0wY-r4xWH|_I5|Cer^emt<CA} zdTl@Y1i+R7&mJaLL1DxaK;Jgs_kD4MiKks2N7%bl-XsG(x3dKwU|I0WR*BCz{)b^< z+uf|Y+uO(FjDUyw(Mteu)Mj0rH9eHbu$WoSy@g`aT%#d$8Scs?-{t+&#$@@_{|15y z(LJC?O+UKr`!kB!h+f`;Z~k6Ckd1r(Eeb;6yZes5x3cGGl&<yal)C$xVP~`OXYYFh zj@XeFob&Zm<~pV4Cb9hTw9$Y|t}goccL^m@(y7gWSoLrK>mWE!js$tuS8@_;B%=yd zwTz_%PFa(KWqX=J%hl2I5lC{9izmzkCabzXtEbYdsq1F3o2VA^!GlPay=Ux*d`~T1 zCdc!7<I+unt((mj;lNVMdTIn-Tk@xytS)epu>UU++CdopGBG6<a7Vg9y%(HqFIdBH zLTsU3gs5j{)*IuUO4S-<XF0-sJJ443hra61MH-0btMxkimC_?d`&9Y)K%H8uP`Sy| z<K$1P3pTak3S!JcR_as#1t9!D!HZ#0JqLbAmxF*9+e_6>FZPf~1gJ7>8Y^=&X{PSV zxnMrA?4NJAJyi3?YIUoJa-Iip=mV(l2cm>6OI`$;n@(+nafPfOW>yGSmLABSxs|`T z^@-Ha$6;~3VS4<XhIt=ZhJqWAv^eBOALE}^J@%f2Tj~lz<z4Mfav~UDa~+5$BF@g{ zD8uk@EWX?7CN2Wp4P0@PTQ3!7O~(NSTgz0ay?Kpo<@2wbroMlZB8HyPqaJae)_5<K zWrhJ&-uZ6T8?#!iYIIN6@B!{k2KYt$`7Iyr@tvd<Ku-z&TVEF!lDEXK1BW<ou{kk$ z31=Ml^p7?{ro@y$e|f~%pgXhm7${qig~f4@^<~<EZm;nT_mHNd)G&`BzVr@)oi4dF zML&vhJ-4vme+QNRYNG}MB>?H<n&Tl6XZLJZ-eFLdTuChlNl01(dSv8z%s2j%78Xy7 zyI>x~+R0$_tc_(1O$~42m;gY!wsG5JNKe+*KpDl*Ri9q2R4Q9NlyNRja`cvSV6a(J zXfVSuqun}#G*WUg1z?gTz9~zqoQ$iljClSMPgi>B#%^t-0l)eFZ1y}cg|$kmj~0@u zj|${EV~$;Kp?d$w>GdHNBtq|g4=F3kQ|``zG;%+FC;AlBO>s?VIF!t_2!Kpyt@MKz z48O(?b<rM2sK^hFJ>3?#Pk@Q7CUi|cMZ0~tRKmq+k{3_k#Blbh_L-^pmvtgZ-y=>i z5_5efiq3hZL3;Ri1B!FWPt2Y^I?`u14#JVGtY!Exn9w-pW&{Fac|h)FGz2dClz!w` zpBz<)=^Tu8Yp$;u@LOhP=y8qI!?Y$zBytAL{|IJlqmGzuzsGbW@#!NK*15eJXi~By z`q!~zk=3P9CvQUG?|`nm=YLt$jDMz|r+a#g6nCWoL%^KhuD(K7hl~B)PEVpTa*k`j z?}kd!)By@sJPvU|o!+{=3OmnPL^tn?9C^URnFFAxQ8q$emBg7$_pBm|YBqo`X^vIa zvsqSru^4>rT3hELZfyz^h2rVo?7=0Cqmob!`Jy)Cr!r?|y3EhoWZI|{!&U&pRI*2% z@;}DiEsYy?_q2bp9~kkD+U?@!#u<jpowBL}@=j2?eRWpq)oDnY{NY8PiRsbGzaJsw z8dXmmnK)%<TEQdP+q%F-i%aPw^-JQ-y3B>8N8B(MAMWM{R3+yfq`C0b;Q|iTc0{rU z;1RMb6AiltSj2!t!%?J0=c+al?WO#(fQe7V!m`XS*Sgv_GbqvL#SOQ#YLu1sAUZRM zt%=ZyWP&n@S)}M=7ghd@i~nR=%u6qOuf(pbL)t+F9c=lb1WO8>>rh`Yf-{KLE-Dbk zpd<g;kyiP9nP%pa>ESz&+05oMEw<2jgpRX=K{aU8h70z)z3|%l8?^hxd#;%xDyRh) z*YeWHEXDwmwWoF#MZcf5#S1mJ`q5=rcu1ZJJzT?M`60<YLLUV({B7Q|oDFw7*{lyN z%R$unYkIVQAV|8LheI8s&LlW3Kt;x5%!DiDHOmf7#%w%;?&K*8YPt=KRNi{!UG4;I zhAa}U1BQ9+_lUKBsYK@=od?6Qdf%&5(BvX2G};c8V{(mHy1mWzkRyZQb9Q5R<TZDY z?W%MYbFzg-0Qd#wcTrCcJ{kV$86A)kE##rorMScRZ&TK43khN^4CEF`41~z7%0TZ# zxV`f39{hYRm%<iDAKJY&vVuc>FSo|>17;^k)<k?(?1IPxK?rih@oOwxj@U?OVyvy& znYiu(jkYz5p4j58vNx%wEUJ`y8AfbXuorLMt*H|dbZn_%)Z&p!A6L8(Ez%Q&8QHbz z$G=(!WTtTvrJALHlXc=nR?Z2VdilymZgTZ~0@QIU*X}G66hg=O=16hU(8Y>EWGH~q zV)hO;^2YjkBV!^Tc<PKXD+M_4p@Hvl^OI?{<n@=5wSlP`!RT+nc82Y@JF{uvo-Y&F zOT#&xSz*R49F9}%%MfM+R@Yfk)~DR?6VciBzLOjsP@Pp}yaD9)g^;$fY#p;TqVIKI z_m9I3yo;T3Ug%u%8ln=<mO}2t^Zjnc{6efeXtKw6mPHhpXIe<HQ8~nNBtc~{v7Vm^ ze9y!2qcf@ewpDWy?BY>~N%cV0dkA+r{U`#hZb3;Tc+`Vv3wu~wdeXkLYlX{Vc+to% z1#X(zQ9ApIoM!fg7H<Lwi<7Vd?n*3~K4H6*ha~KLB<U&Bi6=~<<Y?;YfNEoj#r5D& zK--b2;#Nj6Tuv6KR9ZPUWWpGNS6|byHJRLw{U5^(;6m4Rx0=zZOP)XIqEOpQ{=?i0 zVKYj91Ph;9XyK&i!D=2yGn1`!{G(=(F^ToxJ+tox14TDbCFwN78^XNUcrhkttPkaE zdw_oFLWH;}fdwm8gQnsJj<r(~vXy~BmXPIPBJ`$B1f;h`Ye^Z`PaU}wV9upSSCe&% zb>Qu9`=SAKQISVEZ5Y*86NQ*n;puo<f^&O2*oD0<G~1a1QqQ-Bj6BrsOsaWW^6?AC zdB2qx8ONDZ*O3jv4*hvTI%D$%Gk`Aa#L6TE3Wq0K%gRL9Ar(Xxy$V!iWstgKCy+j$ z_mCl`yRT?Rba|(~uAVgVTWK;ShoF@P&NEW$fwtSfrVCuX6tlMMnKL~eMKvSC*NZsO zO%&|oI61%KK>3NPYw}NhYYGmp^`5Tg<s+y;FVh=(m;b~GATmONKq5|A3yt2yD3TlW zQR}w5P27F6T_{dHgl0As)7Bq^KYty%WfY8><=Ka@f()k`4`&t4Xek6vtR*VU-k?sq zlq+0H7(0`~h*U8fO7x8g{UuW8c=Zu*gd2f#izt*Dq{_115k_vuqsd>vo@hf|35)%! zEMd)jr6xlq85pLF*961q8ACykZYVZLfS3w&I<EWGWMVncbpLdMp4oO#K(BI?t<Pl& z+r2sBnw&-Q;n`&j0zz&(IF5AfJ9_mCA;AYci!VU3@S&kff)>@$DY>%0oP)p#Ka>-M zjfim<atu&8Hi1Fd6N0iW9q`+?`3r%`c8fh(lcp>~W2q_dLhum7aGoPg{D$>UL=u#% z3c8QhRp<WjYPioxx6}S<=EHVYd3fPposSMnUzT1<qu|{|`&J`#nK8yrg9$hBQp4Su ze(vJ}ZfTIhg<c^Pso%(j0sDbSLV6I@;C#aK81{Ke;MRk~Q`lgvME!~>O6BSmB`ERX zlLL^G;wlSAzqc{VGOC=o6yZHYnsFp$ZYqtkjKtT4lc%Jql7C^FCAIb^p4D};V5Lf} z>L31Dt2WKdVKSC)<mWc-`M^CFv!(xFB!X{C=>h02i5?NGot}xsB_78)Xxt1akY*9= z!H0}3?Wqv{s+CnJUjnbPJ6OwjBF2Vzxmm;AmX%%>w)3k)kq;56G(W(in5t``q5?6; zI!XiU!3KdEDKAdc6)R6sC@a~LAZ~JSYu9K_GMJW5`BPntHeO~lSFh>($FywdI{jLM zFg;XIIM&i+!_k|#mH$SmJ$fL#`RcIBs4m^k5>Bxpgdz3WT2r}A-LAp0!E)=&>d$?S zPB<O$$5^s#+ul@5*a;oUx=E7aFl%8iA0ItR+;6Cc+bA+f60;%5E=DtYf|E^IkG}aR z{8H9rK5h8T<v2CpEGuk$l5yptAtb>Si%A*=^W~IsS8*sa7E^9=J4VUVp?pr_sno@w zY6-aFy+RW$S}XM6#j1U$I{GHH8Ugfe$^l0UwkEm?HTR=ealSFHhrn;Gs@;H7_@Tnh zxn)cT^6VVh4oSu1&>d*D#xu@c$A3Xud&voZJg25U%M&bD2@FYK1;~xgc>dg90DXKp z8+IMB&2_VJEadRQ;i3}Lk`-AAD?6BvK|d;FxGZ|YKto<Ws#Z1|^sm?w^3I?;EN+@K zR_)4Wlin%{gKkZiSa6eXjM+3=>jl*6$SBWbw}NzLiqoqiTu&+T_(tSyJyz^A;9`6$ zw2cLymu(wb=h{RRlnlm9)#|U1Mnm^Fm4*X9zQaXsZK?UBsxw8)4U4TK+zw8i)+SPf z>&G9s?$k@NDxE~RL$Nn-s5NBbyGVh)vn3Hn4whD!Hpcr%k<5Z{8snf9vR+`n_q5)P z3MPu0SsBxaDejN1zq}q)qP6=_XTOup?VvN-6&W-px`VQyY$I1T-iFIm@k)ojx;Q5w zX0FWL3%1@wuuLy}ULKu@U2&qLAKIJ>%-~4R8opdRB0K9%D}e=ATZv=ie=k7+gBbO_ z<uVai$0H2xg3`0pdeK5*YO#Th>l0h}HWa6N3_I~Gr0ZBSk6ZMrqDp@`3O2N3>0!{! z=l^*`55-yWKgZ(dnRmJ^exLRZJ#Go9sh;gB|4qgYyv09d0Mu0<bHq$TGC^7eZ|)0+ z)F$Q3emtYh#lJD(xr~;(4!rbXVmOVtsLC8l*7lJ~l!;Eh&0_l|(k=6F#mWLwS*7Q4 zj*hR%vma4t4En4uitl;45!x}v`Z(EysiZb3B*DO#H6f&*MFEe5N8hST%E5?RlaM#| zMJbf&e3FK?I?mbKtB-elo`=8Fnolg~@pQ~h_Y}cLo5g8wrEB|fzVF3{%t}zQpR@_< znyH^);;3k(C2}ohq!S1gWn!KvuY-F9__sSM5POw<;n`2e3f^@%;NyxJ8QBu^sDmmE z2@LUV|NdoEEIi)jWX_w))&<xvNGt{Bw6skOor33MimB10_J)BBEb6ouTdXZrAEpR& za+uP(biZf>oli=jwNX(k8jsOh%tc7e_Sk76CB&;RpHy)-azs6C(*yH*ldHLJIQKNv zg<yF^r{i|c*4p?k0{mn^*b4>*ri%E21C$5|@b|K~Tg4xc0QQ`S{n;=Y!cliKr&Jg_ zZaUeX8zSePjz1@-93&Myf-<twEm+P!>L~7fZb;|$9F)F)w&5Y!*LT8B3dSO<+zRks zRpCu{-1ICmf%l9Yvxn5{XRDc!ISiN19Vs6y&U}4^W{&UHt6I2bsU4f>QKjk)6>t-u z&bly>e@E}+O{l(a57j)bY*rnb*=hq3*d@WFA+v_*3Ds5vAqq1Z$L$H~W9TQfSW<>K z^#?t2>XynbQMO_3*q#yX$ox+L_$3G0MqAtwRd7Tz5MApDe_q*%1IQx2#1UhaKi*o6 z$)#m=myoTuy<)cPr|Jxm+8#sZ%w~&<;%Cy1s%R-eQRt44p4Gm(v!>{=M$Ip8*Ql^H z$=&>FK5wYHosGMu9ghdh7=m*B=$l`rn!4u*2$Hv!N*?ljj-pVT76@c!(cAv$j;01+ zn4P>zfiW+?mUk#Kb8*!w83B%8BEN(?VU0A&N^g+@AiRw5(8t{f{)HC@_E8`~auP_r zmd|*uZK?`sLQ{%(yIu*>TSBP{ftZlEYN)%1IDp1%kyt1yhT^7DPI6IU(gMGfNX3~U zY&WhlHQTm+$=0MduOPBiva7g^`6bgu>3STeOoHUrzOMaV{2B59d7OMt5S2!H5`+<j zQ}+|3gd*7>l51RQ8w`jJToQhnXv7ejF=9GS1m_^i?J6ir`WP|I;g3pxDem1o3IRe9 z=;a$n+j@+EMe6a#9(m~g`|iB`+?je~cIiN~I#scPP*_mja&_{!F`$?ZjbgPDkw%4T zH1t~g4;K9h*@2Kn?46BfbMiPk5Yf<zu2vf|kl*;?%6}WxO2Xq_c6zPsZ`;*tV9^&x zT5A@a>2!n&^v*cfn2>^TP_$05;My$R(HOT=7`tnCdOn*^&g@maS(~GJY$4_&L%?jJ zCzOhlC?#g$cq|TQPFnM&6<<HT>!E6@f*|iZFeg8SAdnV;o^_|}gkvZ=7g<AsoGa^0 zL1p_n$BvmZCgu%=YPCfU01uxR*VJr@5(I`V?BK_UMv~;<r%jG9%KNq$hIzOY2r(g` ztECX8U(t{xgJID2<fWcz=$@-5jbydLg+DkyNQNdX86X~+G+?cKi%;j{xj$*~Qc7d- zY!@%3+nszXlj&w^0@I0NgAjymSU|*|BOWP|BZKeaP2RK(>(63TT50RMwgHE3KATKv zl6c_p5pnitCc`sKzb^}s#)j{x&8XQu!rA3vvDiX=x;1N9?QB}bpR1R=*pdx1(ykZt z3Y?!y#!DGJuyJ=>-wwADLK>vetJV~xfr2EIMD;2V?ikejO0<s5hdFtHR`Z9o5v$b} z&SGOZl+iH-#cwb*QxeG7&UEK(1rgpsKxB-Scck01t|=v#j%CeM{AoZ+K{F_VYE}wN z!^I&ZC;e1E=ktB!<K(}h6{}EALnlX4F0T?pQ#C`~AS!AqUUfm*pczsd5W-v{jG4zA zOQ!+gCXCa$U(`_c#86Sr_ugk8g)jkBVf6BNxXoh(R{}r!f1ZBw&2M_`t6%o`!w=qb z*QJXmPqb=}G~%_4+lz^OyIcvCVxze<NJtE{fmdw~SjdvYpyM$9(F~a4!uDZ_kS$2a z8W9bZ47JB*M!BF#6ouM@{YEn47_}%Y&Cp<EOaxj9sJSP(+jJ!bid^Vx<=A`vcRr_Z zCg6*d6@bMw$x(n4o9)y@f~6U)RO-9qp1+B=OaPO%)oYZBmGU;{LOoa4M>KT5_j_Uf zx#cHRS}MGA*Dho&jdG5_1hkQJffDG)cJHcG5CAzK7`le6TlfO#pg1u~h4>xhAOwwf z$}P)LK@(5CQ<aVBNuDz<onpe5${XK=0`=wQotcQSF60@ZOupf@4?WBknL);53YCBx zND&alwSNG3`e{PR6W4!;Ht=uBDmhLrlehKETaQfBAX$07jkrE8Kpj?>j&AESHc`o9 z{)QIzs6~2^DmSbkM_Isf$`IMbVFQN2wL<;QJ9cev)|*p-8VhQbjwW}qR7|4cCntAJ zO*uG)Yc7T60mdm0!(dXsZ*su6zq%B}ar@nelJm>EpStVt2_<{WiVAEW11jQp3>aMo z_1NjxZ|~i*L)03G)T4m(ApG3?L1y6TLu<8?0U+ejU)ukG4#DS_9()MWO6{Jx2bQ}I zt{i#njlaJ(Yd}i?JI%o6!0rIf)*lJ(9>0D$-C^A>=oA4cqZe>#1=NGR2k*V4m5NF+ zcIo=rR;L`2!NB#mycv=rm0En$!*7TOc~JjweF^vB50l41^t=Lqm;pw1Z%57$q{2q| zP>h7`{P;Thhyi`XnKYp2CQ@ePC?6`KP<kO9J6m<MpR;4HJL-c(00v2agfJj4*|L3j zIsNLR58i+KrG33^EB(yBdOo<Eo{Y=*;2<%!Jdx=%5}im=l77G-B*qNU@lhsbbU8iT zCWKj2BL+O&lw5VXm0$_o%I@uSLXyLoF3OlY_tdKsK;6S-AsElQwjmx_Yc6N~EK70C zOsHDX=c+*=<z;Nkmg#D-TXIeF-dL`k%}cvj3-YWUt;ZOkQEEH^Cx%3afZa>=D|a&^ zZtT0*vQ0By^^?uikv`pBs+7x{6sTq}>uk)9`wqo&x8BLyPA;)tDNV(V`t*PQ$KIE; zb1GJgg=QkKis$=Y<!^)$-V5Xba<O-A8z}t34pf!2hXhK1gdHUyi3Ac>#gm}QD@0KS z!L(ol9_%t0#c)j%a@(zEP9HtoAMZe;GgWKWnuf@>>mjgXI)HIPVRLkbzNx-qw7MtC z4NayQF7zh_`u`c`vxOUS_z@#(+KTOpLkm)30syu0-ebEulxY>yWsJ{v?`bN4TIrVG zL~f+b7}ZvGb@x=tx1amIV$O*jsTk(;j@?yu%~-Rvg%&I2A%6OmG4Y4H3fuF#M6eHN zJ~A55t}Jq^Wg9dGluxh6d|RFGZkz^@att&?ZDzV#DSGs+sXR}f%?jX7Eqm=>=cs#3 zyx|q7O~2_>icqrq`UkO#1+qwb<P15}vot`m9){R0Acr@xp*YWAL)rX%6iL^PA6;Fp zmK#hYLY+Af`{c^vNct1;k-`iymr}^_z8A)v3=2U4>7{2DyZFe|OV5?F&60Ws7&2+J zTU7)w)~3&G3z$w4{SQOoBAtSjR4tV_RdG4K?44})%F8X+uU3~cz6#m7qj!CEMfd3A z$b{rOw)M@grT8i3t`jpWUU0QCmqn8S6D#mlDYN~qy^WOh(NhgLee|PT)icdodb<@e zjBK8R&yk&EZ*PqPXK<8ohAcd90ETciOhOP4z!Xt7yYx7a#rgJhA(x1mdXQr$!$gD^ zpR4p6FEm97KKFuClaPGX^}l7=zOH|iJOOX&>6(IsdVnO_1fH@$R~1!PHi!}s?_V9! ze1yEzSBXY|Y5}u@5k^z`%3M|DB_gFcV)VCy?c4+zMdw9~YmdgYN8`pv<EDA!9o+I< z<4U6HQoX!+{F{y1JMvru3Sy|jxO~IFCgCQ(do(HwtxJZGH@^O*kN4qz^#03tTx>LE zD+inLDc=q<Z~gF0pwb+>pmIcMJn}y$lgo#xEi1wG#$*8(lgY)%;SC2_4jj@+a-0Ei z#%gmDM|hOpMZbdMUc|s1Q5^S{`AT)~ZIvCxLd8%9?k4-p*H&7cVm5W^-Y4!lc9JWU zGL>egc}%C~w|@tvfmiDxqHz6%YR$~Y!C+8y?3LXxRWPaik4n>xALu=tz(#p(dm)_` zr<e}^$eFx$9l4}-)k#bB-S1<d+SAh)i)`Ry0;n2y-*xXBey6vf0e}XKB2dZuo~xkV zOx8{ooR9~bzJB*EMA@9P<kd=^yX&w09&7rZ)ulr2QVe?W)xbhsx&C+f8}OrKA30C% zC*RsLE(F&$cP}C1k=XATWrk^la*YOMvm#GJRmZtuQ3Nqa9n*)r0WZ39dPuo^`QF=Z z4Tw)df}E*<{ld}6KG<iBPs<~7Hi)GS<YS_;VIscSFb@3J@CR>f^db#hpQxr9ipZbs zIHbicY)h9Y1qIusxCT_@?`Te~s`TK}t4nA!YL;<eacC5Uw{lGJ=e8#pkNMjk&t;qS zVm7f5i?8I<214JF(0F6bv+~Dp(=mS6{$ls=D{>|SC?&H1BHs)$@(-1=RG+DJcT)3U zXc7%?#e#N=2|w0_JDRg|?ME)wjvJ*5hi-AE(>ajKt*QVlv^XIU=2))7=gAK8*rz)t zau%g@*9468cW_KV7#kb8aO<84j9-1!Y<MWJWxK(>#vNpPYpLE@l|d!rQTl@ajQq)o zfN*jmfwD0^(>X1Qsl_^Xr)I;vN%xjH)tgDWLE>bN+o?p_p;suVW+q=qgqf4z3u-OZ zTPomOD;8!<&L7k<>865|$zlQ$=~)%tZwfc&W{b-f!2e%2`oM!PVh-O#(j?J~C4sC% zP{=<Ja!BJiQX}N(@I4vUF<V(djhhG`W(>vbQc5r(e66K!;2YB%7~X?GXXgdW0B5dJ zrac1W&#{Edc!DHuc6%^Eyj3a^;Z#N0fO82yKA4BUlazA&__>n+0?>4y#FC`Uuqg-t zkpcz~40;Cs4IB75;*(M@&%;CbkP-0Z1i*&lKn#ue;M3scf<?L<Z7Ab%K+yq@@HpUy zsHHoe%8tjTQ>enfB_sgi|3=j-XmW>DilHO~pbY;8pTf@(hnPJr*yobt?a`by29Sjl z1)s`sRIVT`#5|4fLyIQaTewhSIamEaFj5RD?(WZjo=o-XNfi;`C_x4U$=wu&-`$Tp zmLf?W@;v(fgG8JWJNMxK0_s|LVrfmIdW?4Jb0=&jG!MXe80q?IOQ9O~Wn<<*N9P(K z!(CShkblD(Y~aU;PIiBaPVn{`W4_)%ZMr1ng^0?@134L1lOI&bieQZjDM3A|hJ>|= zdPeYDSirCP|2(dUr(R54@k=;^JMp8WNiH4xj&eZeJU%X90;35E<FcjaI#0ON^R_xt zfd6NY6maI*&lEtym#`PEk}gp`RZ6M^=h_gVH^Ohg3BUDYc&g0UwjDqz)17wBRTaRm zi5_t+dW4^2c~vU=4p1Q_Ke{W;8Ql0J;;j8){07n^;=7Xs=3YqkiDqTYf<3B7Ah)b4 z@ppeWEJi?ix)eLUJ4Nw5X1S7=)buZB?#(<)y$CLNY}TKuD;!X=KBJMOR7**YVXd@7 zgy28)W!fjXKBn1}5nx&_4_K~96ol|%GF}x;S|RZg{GV%I&gE?ie=JaNH^J%tgGlkE z_rbM~!p|Tg#qX93sSww`?%G#Vh8N)aH9$fqxHDVi9-@6_-%>4Y5<2&+Y?hm-Eag(L z$qQnm!-7nEFkH0Zm9l<=5J`*M*avef%FDkyeBka&CrZZByq7q0{EjK>3B-pU3Wzt7 zHVp}h0jX`NTR+{381uJIKl1RsAKgB`ey1aj-|^kMK8%_UmL*iW&+tv1Gek<|Ru6~V zz4%lg|5JVWaYOluIHUuk9*ZU*mhdAf8MCKOrY-iRX?e5{4qUg0Kx^GpkcwI}0blh= zK+c^Qqdq8BE;%AgH4kMo$80O)1~FH4MIyfHs!q$Op&0PathLs3kwTg+B6Oh*ED*~7 z{+}rem<9$almms3;n@{^#uy5}_w&BSeE}hrOfdIH3BiBqbBs-q3*?FZ+~0k1e%i+V z+<QwQC73^;F0YKX7uDgmRaA%az<obC(vvHp5R5YHR!7v!Ldx*i4kp8|ewbkv;NmZC zVu%<>+`meAY6BpL6s6)&!6b8j=JWj@xiFZ6Vj5ls9K0B!7e`d!i6=n=^jrqee*m;3 z0f9gH1n2UaC5r&SY=<&n5&)^B+Gl^lqJmpOXu?6!1)%gAeiS7Kpz`e!IUq|`4M~CW zrI<vN@XkL50doB)7m`*W*q#HI2q#WZppqh2SPbHxymnMF`oAaybE3prsty1YRHKzp zf>HiAMT#RH_HQ5$JeQs-mxqicLOze;3bEll2#J#|pG}p)cGy0C{%q9~aQzUx?QIaN zJL_9D+gj(1pI-Ybv1OeE4mn5xGC2I<eb@d>Og0(volq;_2@6)_2&v%-&r-k{5@0mB z6<!(`x`ZDK1yqK`$Hp7$VFG^nqJ;nXKTFMZ8Is5Wr!3mh@^t2m@%VlCDg^q04?gzz z;rwi_S){^tP{d->oFcvUpOR64556Bx-1*HcjiG`a>`)u=<#d_>!nHpDit_1q1CwUH zc~NJGa&h71mI!kgf1ME8!yhKM_us1(yjOWRo58dXmW3C-%V-x-X*QP!XNyA>J9+(f zV6Vozj%QYLz)bR?!ea$9JU~kBwKU4t6Cj(7n6m0IC3peA)V|8pp&bYS6y5ld`?%hn zH<)EBh>iTh)SlK6)1OHXsyswBQ3NU+YNz*=Wut-aq8SK20BC2r>D$h^zJ{pK>GJDz zSi4tJrfNJ}p4#(u*M5&Gzy_5cf?fJ22*Ka#&+%3A2J()+HhTM8-mtMp3oOynXd&E4 z^By{6$!DD21P`~WVll?FZ=#l#gQS7U>S%kgZ^#1cA6d70Py+yyVGsD#%ye_GR-E?z znL87%91_N3jOwL(DwZ^>d#`pCL`d`z%FtmQjN}9PM<U4gnHr@UAOavzv#@y76yV%? z__D5RMJna)X3Wej&VhbWhZ7+D3*{VcC=7;$Gccg@4=Lx_aRy3ef41N!rm6>WD$?^f z!g4$*v_(~+FoB2win+59^IdUj+meo*_L~5~tjE*aws%_EuN?RA+An}e9182+{URZB zTYn~=>`Ud{MF{P|DDWE~yEI7ix%srvkW*`<)8omYr-)?O#^;=%mE~ag$SqqAX6YC8 z=A4?+t$h+!mH|NQ+<HPDMiBVYPP%R+YDFW=+Evn?V|mrXZ?SZJa&r6!H&2d^)J;CD ztI+?^M8(#H-pS7`b?(dn`?X&W1pda^xOOWbw7%o+ba)C1j8Z3`S~#?PHICg5-D+Oi zEdW%fUelbLic<wG9U#E{3L*HVkfT+6_cp(e`>LOm19GcA2q7H9+Da4hK03A@)u$aD zT8B7}{k2iNzB(M}LyQ8@-BrKH^&ftXP^fX|Yh4QJ5odNSm5No`iki?UI<`E7^xRni zEO~4`(b~VuHnw+OssL9ovHz@;fQfIRER`;yRI}$^;&mFY`7Q(C>~TBeh*K}|w;!q3 zI2d-<4-4acB_LPq<4;_ix&7$wBdFK!__6%k%S+~>&4EkfJs<;yAo68wLH@ZJf>xiK zA?VAS7=nPjl6;w2kSESFN54HB{Ujm5HhghBdZ`ch0NC;yf}!bClz~KgZTDbkV2CIk z2yNAm!|UN;{4`0EYOkaK9KK<j3nbwMaS<9)8;(*9!|$G4h;nQGed%bm$dOsfo@xw% znQk&S1Ft`L{;rl!Jw?tR?I6l@B0oa{O9HQl*M__PTCbc5H{CHH>*Lxt<aoHX&O?3_ zu?YX5iS+D2{+^HmI>~IOn9O5rd#S)Evy6jzgHZ!_r~N{wno)iI<oc9HT}|6|ETaMn zg5+P}^>|nK-V3DNo1zfDHih85IkJ#yGn)Z2)5$Dk7X}D~#qWm*1Va5x1Qw&;Y=#D! zAvVH9&?dn7y5K2OEOiUOY|hm&VuNQfMVSB*$#=l(F%x3Alhk{a;7bSSQ3&BH7J$^N zg`LHn0~p0~!npYCAS*+V6MNGsfy^-nAb)D>#}nA!b~x{{5c|9U6gPWLfV8gvD=y$? z$Se99<zh9^C`(?rMH#w_BVwdL1CPD)z^@3;tfTzqxQGvAG%^CiLds#&@V!RLI;wSG z;qVu&$AImoss{?t#g1esY)lF#P_-uxSuxWzvDo%b#Z8TEJf0VPajm;omkUWN;d!>| zdxqXTYUqV!jk$|cxsun_MM-gktQFUHQyB_B5Q}RREn(T*bP|fnkV!Gk7?nD%EHY3n znRIna(s~76ij>!Dg`~Im-kxWrytc1snR|R%N-OF3;=2~-9d#xt-;&>7rxtZW?vVZm zzmHrYlt`j{iZcjy<MYdliE{s+EAVeug3q8Gbhc`@7_=LFf|VM4u7vHxcLRYzo8Wi< z7e~aRjQ{`u009610EYmd00aO40000204M-B0CxZY0Er8i000000000M02Tli02Tmx z0OJ9s0*V9Y1SkYz1g8Z!1+fMJ1}_F)29F0F2cQV(3KI(53&0Gi4U`U94@eKD5F8L% z5grmU65<oI6l)a)73dbp7sD9h8FU&T8#Wu#9JU>Z9ugkeALbz%A@U-UBV{BKB^@R% zCjlp^C+H|9C}Aj&DMTsMDo-mjE2J!$EsZWkF3~S_Fj6qdF_|(uGKVuaGs`qqH1Rcq zHaa$_H)c3KIUqU2IvhG2I}kfsJFq+ZJybp@KSw|YK&L?-LYPB?L=QwtM1VxIMCwHk zMNmbCMchV4MvzAEM<z$GNF+$)NqI@-N^46nOYBT?OrcEAO$tp*O{`88PPb0WPTx-L z0096100961M&7i1Uk^O>01E@?00000*s_@b00000*s_@b|KR@y1Y`p400ICA00IC2 z00000c-k$H1B{+g5Jm6ID}vfaT-yq2+qSK!wvC{+71j)Dw^41IyWgH4NlxzIzL~ty zUsaSOYatQKDruOz4uy&u2g^OuRBCr^y_P|Ci*%maLTU|cpxUFusO5r@Nt#1%C<{Yj zGR%X1FbqGaAv4A&XRY&Bs_AD`!>?$Ke^Yhep{l-ERYL~ySE_0=RKYW=WiaaFs87dF zowuv;R*UOHw4$0aV=ujPa5Vs05ia=vwPtS<s}y~;$kMU98w{{38V-Y!@i6*t(6ZzW z@HZoWOy0nxPTZrJ13mo8Kz)GiAYad)o2!%OC%%Gb9eP7G?Pa`I74I)@t6=JE?1t+2 zx`%Q6BhoC-AAR&I>VU6~u`@i>7V`eqoZa{#C%qSFTPO}W@O=;U?13?xJY)PW71c0) zi(|}P$1S)Kb6Qioi*7`($LI3*kg5sHxCnRM^$iYrA(iwKl9iU!UrGabxs)IPc-muN zWME)=_n(a+iuvFF2mcFMQh*|;pdA3R4hN9{c-muNVqD5Nfq|8QfvJmW4+8^34}@lX zz+lM8#DD}E7#Q9QFuZvS;|HX<rZ6xvD7^pAtnlB0A&Ti8!!HE}hW<EapzfVatAR=s z7#IOL!xC@+c-pLtGhDAx7{`C-ytuag=X`Cof0}B`=Gu~tIor0i=Plc{Hm39TWY^YX zegQ}a{u&Gbm>ndry<TP(04!kv1-D_uZ~TQV91(yJ<e~tjs6{I}F^U;1V~u@e*8Dr~ z;(dIaPf3YVs+1vROSw{kR4kS09_wD{-stbG5D@?!%saIIu!r-dG^-t2C-32-d{Rm{ zK`W9<b&qt<b+3158WAnfJk8N8&CoPWP&>6!BUMo`rBNJ3P!RdjXL_{tLCe?jv?MK2 z%!o-bE=I+O7!reGVAf~WbJl&v?|v*8u2h(cBP8Ph_}K$Mk`)!#uHU$M>-L?y_wGM< z_~`MIr_Y|hc=_t}8@$Cko!($HnYX8=uA!-=t)r`_Z(wL-Y+`C=ZeeL<&0u3|$6)W^ z=;Z9;>gMj@>E-R?>*pU37!({58WtV_v>=kOBV!q&fn*|x8N(2tfFf6ul#Jj+0dZ<t zZCztieFFhAQ!)w|a`W=z3K=p1Pb`Nlc-pL0<(lh83>}A-;WD@&-?`at<FPL@+i}v% zi{ED#?WN!4_8I&%a?1buXgzYWOr?crMx&9Aj-&}IL#&qLC?R_JyPBMT$&JO2W4>wg zY?5wJz8rI<nf)=WhSln-Ua=jARl+LN?Vhq!m<AqOhAG|fxMFCH_|G}6&3xROwMN5e zHCp&2cC=&XG4b47?C{gXCcZ1HyGcSt-zZz-S*Qj(;;V9g6_#)o6F}q{@#tKfLPK&k zDy!SFx}Dl-k|Z`;ZjxwLbMbnTcw99EKec8CK=p7g=DH5Jp##8A*h)RF84X;tR@7Gl zl9PUL`NVm&%GH(weMmXw@LgQ3H<8wSoX*+VLK5o)r%xAS9NCi8AhO4G!$YClQ<Xk7 z4QzFwL9q@puB>dZwF>`SZ+SdqNI;H-tH0OO3W*1PnkHhBwo8!1rZ+UE!YF7tTV#)z z-Q<t<y;!b>9vP<;<vOFa0aMBrHkoXI+(gOMrq0^^5Mzg2=gYXIaO<E;<EBigH#S<0 zV#n4_(sDeWFh!*j@mkjQc+$X-h{wYhavcjDBs?Lz1?(oU^LPqwrb|i)46Gt9PlhSw zDe)vo^LX04T#Ad@T06PS6YKg%k58DF^YP2YzS4G}KUL~annF#5%W*L^h5BUyPr1^h zXx*R~myZd2uys}w@|cSYArILGc}`{6mZNcPb8Yv}aRvXSCP5}$;O|1ayHtl1uu$rh z23sMk$34rk%37T=s!)|^Dds61P{d<8;86rl14<G8m+5IsO{yTs)8b^q<?mek5@<S& z+)lY3pD~3c@+^23dCnA7k>^cO6M4ZDb&(fM(GY2yVo2mWrWh9at|>-DerU*N>obpA z<>D)k-E#4@$L|@%6Yjsj_&zYc2j2vYA{}59c?lRrYG4$385l)2fl=fPFpB&D7)8zk zqex@uVcBY)LD=b(LV*xUIUw0czxjqempx3<6+_geLn@)OyIP*HBQ4NM9$(!mk9C%> zw2HcQCW@~nWrEjAW)3~RZs=Bt_Xg~&Xnzn)7=j<HS7(1#^3#5-?-tjsGsx&B@(199 z@v;iDyB^;%{<()9-#*S1O}Gm4J1B`d+a#a5GQ6Pjd7gK57t<cEAb++n(YGz@%xT2G zYk&#^g1^#)M?!Z!_chVO9KP;tACuqr!8IL-6>%!_{&YV6sX|q<f2zz>FD8M!fx{sN zthCl0OdqPb2Q7h({$pPW(>2Z2Fk738vB_+#Q+b2--pMo}^o;JHh8ht%$P1#3lF~sz zv_#Q3Ng=t8hN|!L3XhUevjl<9x&AA+9SbGDFB}jw^_c+&`XQ)!AZp~Q1DthqSAt2k z9*Vw9V8EzaihX*h9UGcWC7f+j-e_X?eCM}szfcEt@SrkU+W64`LAY6(RKA|~rnp(k z$3~Mctab1(KTQ0>w@zaKpKPh;cB-H5wm#72nc=(cfldR%_uL$TrCES>zYWUbvk%j7 ztHZ$VRtsvhy07mJ+_mv&;0^y5t=Rp)x=-L|cL7V|3E5F^CmCRjgpAGnJCeVn2L$N5 zyHoBW<um=^>?xVUQ$F9sEPix|{<$fXb@~+F!uo~bI}k60wFtaYCkKi_*jGl{kzZo@ z+Vt?wVDSbEOBQcU&nh*4^;p+t4g)|GgpZ+*iv$fEb1XBnWo9l*(4co#kj?Y=Cl)&r z`b!4$Cy~VvISi4<5CzPaL=i)jFhm(cR4_jhRSZ$X5OoaE!2C-zF+>YPv@t{n^DWWE z5Iqdh#}KaNJ*S6x!0_IshFTv|BfXwve99PG-b<<{4AoOg^^8(Fx4hSsE*MIel+qQY zbZvQWDcvxXZndC0E$H3~A8)RbkEd_bdvLw$C+C#BQ|vP<aZO_Yc-mv|-obDpC}JZc zV_)P3#+@7t91O_?8yVP~Hc2otXn`1;xj7g)AS_WfFpJ%37c&C`BLgRp&Ed3*!2!Z% zW^mc4!q^cQvB9AuVk2{k%SJU2Zx=@c10#z=M{-C6NJ%6RZ06-)<k8x}_`h`nOYcS| zpgz_V7XWuzB+CE*c-mvY1R+4E%Am@$nt_378{@A3-~QV%i2~UN|GxtBzy3D{@d5G% z4Y&XRc-l<NwSj_R5QO3P({uOBASOX7po2dq!73rg3qT5>7}`KPKnL0ASsUQnJYzUk z0<z(rM7BgqvLi)B_Po)M15fnjcr|}AIfn8x|7I$`Ugf_X@*T$C0b?_l4WG6pTORFL zb`<SI_N47v4*a`!IbO}5Y~5w#X9}Sszh33P?en*-QN?!aFch4%zvAv5ISM>xhLpM8 z^{9#(D`5NB3jO_?%4Mcw8eh%KrJq?oD_l46^3*(&R-^I0)@n2x^2?U4o65RzHZ?Yu zc4|~~mQ3EO1M)kWPjo8ZjqcdtY+i5Jo!v$4(ze$FXZ~cV|C1G6D=pQK4{~x|s|XhY zTec`&mP$i4)T=A%i!Uuuo_?B4CTggC($iDLtY4nps^~*upCMgEDsdc5oKIxUmbMt% zjvO>2OL}NewV|SDBXMPQww~?#i7u=#z*cNpQZ-6Dwh*6KS#K}Ma&FU#yigHhIqJBn znu=y8TG3<e26}H`B^09N&-Yc){zH^_pMR*=OH;Vqm#TDwgNp0Re-^Gj!B1q!F+%}| zE)sYMp2FZ6zb!O)y+<veCLh5sSd@XA@^2l6*b*DQV@BEmD?~RsH}UG&`5j~P<mlk~ z9fqg_iy`&%#2dsr*u^5TBc}~dG$1zkgNzX$z6CSc;IBfpA0U_NYiAs8W^BRIn|+5| zLT?qGS9hFWeESIopHG;COJN8NPyZgjQ>epUzu?&;PWo)d{vk`B=A6kKBO=p<x&&*X zFU!+0EctT08Nm`X)%J>QDEdT<Cj2YU=+=q$i6&$gL0>Vdtyr?k!(1ccPRK5y9vjqc zEbzOGJaA7tFPw3RAs2SsgbGin?9#jfjWHj`xW*pejGdZ@4jI2=HDHeqh#2?0a^gC# z5+-adhbLBi=yg2fI+m$lxR2&PE<951c-m~i16m~j7y!WepUt&xzO`-Jy2{$Pz*Zmo zoV!WpN$LX4NC0ymv@GNcLPAnXT1HM@K~YIrMO95*L(?LQEwR)x%dN1|Dyyxr&ITK8 zve_0}ZL{4DJMFUD9((PxU&{dp9dg(aM;&wA2`8O$+F9qEchM!6U2)Yl*WGZ_Ew|lq z*FE<=@X#ZVJ@M2t&%N-{EAJxVlixm=^4CA#wCgaeOLruVn2l7VBV*izNu#DCt21(u zk3tlq6y>NyRhu5Y1`O)cAGN4QBbwRymF8s{7&sb$X(MBE2<>bMr5&NP6RUe-Zf+uL zNJeT&BAZWQZc<7jQ$!|HKqhN&W_oTSduTy%W=?({b3jHWb3kz>NSl$Nfg6Z+b#rrp X(ymb24FE{wN(KM`00962|Nj6Ffm3-< literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Main-Italic.woff2 b/katex/fonts/KaTeX_Main-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..aa05e142c4293315104e02adac9ed65dff454deb GIT binary patch literal 22748 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Main-Regular.ttf b/katex/fonts/KaTeX_Main-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8acb365453b7590425ad0fe65c41a5488d3d64e9 GIT binary patch literal 69520 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%0ARlyh{tY7?GU*2VZ9W&j)?g>A@b9!9`J|#t?B! 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%0Dd|4rLbv|Lm^2UjLSuRddForu%~Gk{yjR?}w? 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Main-Regular.woff b/katex/fonts/KaTeX_Main-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..9f8228fc38b5d404b5573cad5b33f28dbfb47cf7 GIT binary patch literal 38112 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 I0ssF14_>G65dZ)H literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Main-Regular.woff2 b/katex/fonts/KaTeX_Main-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e3f71eb7e9c0568f6144e45c59b3000ed3dda7d4 GIT binary patch literal 32464 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Math-BoldItalic.ttf b/katex/fonts/KaTeX_Math-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a645df64e5114034e6596c79103b380dfcbc8061 GIT binary patch literal 39308 zcmce<2bf&vT`zpz_w;k7_ul*L&g{<Y%xvG$c5P9YR?^BUmSoFKmTkqB<6y@vwo?hD zkN`K3kOT+`;gSMeAPM27UBU&zy$>aXp3D6xfrngDz^m`~zGr54CChfc?|Yt4yNP$_ zyk~ai-~YdV8G#6b;1FIfh{D<ZhwF{SkDvIkAUydyc=YV~`_5hY+E2WHzaTs{APD3u z=O4bBO8$sk5riKu;rgXJuH1RwpZfmvp9SIR?+SwX?mN#tbOn#Q1mQi;;J@0P_da@u z|Bok6;^%)5gvaTni{~!*n^*r%5T5ut9&2C11L`-#5&XTM#qYUG_g%dvKjdf%!s~tb zd+)gS{`2QfmanbgJf2hdo%_yRyF#9`?Zb27Zwjf)=kB}sz5n)}4ZNNo76dhT<^G4R z{>F2;Hw(hM@qFY@uRM71%9G!D=)HpQHe46pDNvz-|9*-3@orT?`=lZffeuxh?xwrg zbY~myy3lA)|BHX$AispOgMuI~(Ju<i!cpPe>c?vbj(6jNCMZNx&I^<dtg5mo5+ZC$ zIu(SxuolI2s?i7ghi<rD71mC4!$dfIaB`wEGF&YtBO#w#Q-ozQXQ;kvGt(OBwA;-_ zr`>6IJnYA2BN*^{gUx_nRg`R|kj>!#*{NnDfQzk>La~)r6<-kN{61Ati|h!g(N-&? zs=-F9u*auMnlqa5$mEM(7FCB|_vvJ?R;}73NppKn=X1AvgSxJgpcylr<hqd0)?J#e z%WB%U5}74ml?<62IeO<M&Exi{RH6!Lkugz|OmXY;Tc0O3+2zwIb$dNJA@bca9qULU zl?<Op24yI@nwZNF^3>CWjDwg$75{gXeoSZzdxS&616@NS0vRND-W7|!X+aTGNm0+q z5KFQt5RzNfbSg=7QzVq;DQKJ&2(BtbINv|K>qM1;%0WR`-@7zFH9p$LpBk=~OU0$E zp$4j*w#PG)DHe*LA*dJ#^yrpR)NF=P(fVCcm29?uh>R4ASrEC2J34J~1b5?C)z|ER zMV<Eh$>PFsSrzf3rN8~cQ21Hr;A5gDQbiM$1NneE^~_2AAHHcy?D{a>H+lQ*iR6(Z z=4Q?unUL?jJDnyMF4{)s3~^c^A>yG_G$dC*q#$SH?p$IcNkK-(P`r}Q&hA%;WLj7M zZq!Y#UBfl^iS*XrEcgg{_E{XH_SI20C?|BTe@on;pAlAs&#ZpD2+4KeqOb^_#E2+~ zD^dP{vh%<R>sVf3+#u2wf$>qi3^^AzL2F@PRS-paQ;_9Bc`a&jt9<ieevDFOQ&5z` z4L5XeaTX_Da<(L|ojB1oM$3VzYQd$d(JE>9eU!<6p-?Pz+AYQah&foG;M?zGOoK9T zX0&^Xz!;dpF|JV^rba=|ygh*~6?MN~qoBr6w4z7ebE*<`$0QPU1Ujemf$Hd{Q`Rb? zDhA(nZlHDHJ^Adw=%2mQH=v%X)&@mNKVz4+u8T5mmnGff*x!oi<V<C@@IXcN%xC=e zyeD|7<CLkSN&3OZ!?uN)u_GIsSKp=+=SU_EV*$IuwBSde1qESJIBw}cicqny10fit zzU<2i6-BxUI&skt2m}{Ji2lw6F7Ysrjrw2}PnnzSWTE>vi#kZKBixYo9q9&{idm8R zxZ&Y4exp$T@i+9lAGZ_Y`tm!H_0RlSUy|Rpx}Y67u(&jGM_{Gn2{a=P)3{lLwY$#g zDZl!k{wOSyZOQ$~`FWF&t-ss)J4%hL&ELMg))|4sGOCQxpB3&DKHBxVVNuC2h&)CV z{VXvwsb?Uj1Q`^R=@o%W_`WRY5CmPhA}E@wXqN>^P<2T?4-yIF1UDZh(KO?vU>JD= z#$)1D?kBht*5!QviMH>q8Za!LJ1?BR?Z}~Kxlm|~7DBT&HD2wEcse6l7?sutqh1=8 zn2Vn!tem=#Qf58aH!OFMi8I8L2`884ECjhv{%MIxD|-sOuXLYF%@4dl1_nh_qoPI+ zID(=Q2+9%_2iofC6XW@&I~Xw}!|OJrSy2vn?4lAf8)dU<?meD7G+e4eU{%8iDB@Tw zM)eop*JI-FETK7=RoRr|qA1}%e<tgi;t%^r>lz_{;v_`Xi%>(^khcC!)D%N8qpr9r zk?Jp0siY5=ZkO$%41Y+}XJ=+4sb`&f+$@8e=Y)55P0r1eMA!Nv-oBX&iptmrqa&!w zjqEePK7CWr^}G)DjlA5AyZOeRVf(hK4!*h0oj!4>RVw9kWpK@WHLh7)QGKdv8GUe# z@q}9;Fxp~Uwg>~{q}C-ci~C;4f#q6m;8=H?V{|!q`VdJbvNhL$8*b7q>3d)+T;Qgt z`fQCtQguoa86Ou-_~7Bh)ygHGTjsvw<(TEjxK|u9k;H4)h~ijws}$n5_3yGuHO&?E zL{*tQ8r|b^ic~hdmRojm9|A6oUjJwD7`()7!rQt=ji^$QC~BWcgMy-h9l{lZ2=MNj zK+X%QDsAF#N$>_RNvndUiJR~XgCcnIO6R$$uWp|&iC{{U2nYAC?%gxfY7P!$)8U}g zt}DWA<hY4wh*^DR;<H&xn+nAmdtcnDgTiggsB^2{-0dKsgp7MxcyxUEeF1LPI+lJy zJ>e@FZ800vMM=tLM~JK{6S}0pn$JD;#*e_vg|2@pP}2`I<w2NxWyfELha=^Cf4o$3 z%U8}FEt*c-^t8<4q(<ug(kAgCJc7d%e}~F3jmq%iqt_nLCiP$Zx}De>61+UwaU6;y z2c<^~w$q0W+@B8|J5+a$Hg;kr=DlGH@oXOxUMoD)b+t=AO%lk}I}a~P+BSCz2&W8H zG|nlo1I%B*#3ER7*iG0!Rok>dZ}J-0lEVdlhPjRYO*b5?YT!l$f$?jFYY*Lf;oO;1 zCpWG&iqB^n#S>X4Q<j^;CXf&`=M>Ju+4!1>g?eGtG!%l7m@%byfcqB9roBW<I^GdH zg9z()>jS%^D{u3G`0X_f;fXvv9FM=_9q~91yd+UK{dX4&7repV#f7DTLCIjovJ$zc zcwt+E$ewq+gY3EGwVPZQr5>0>iO|<POz_QvGKU7f_8zv}SI=%DsIoK)=c%-{wQW$h zFEE}a;QFV)(}vJ<Wg)ub=M@=#UOFL2QeFbj;OB9XF>L2TRRWhB;8H^v+Q<|h0pY{j zoZ-Hw*(bcEIG{VHDz{C@2P_BGd@lml(~@B*lCOC+ad*h4BU%|5Sy(#F<#{0bC*i!) zP~>KxB#LIFDE_$+)DvpG^L~U6(K5`q1ZOQ&u78Vu3h!@RIQyxLAK?t?z0V{ZwkS~X z3X5xG1e3CyW3eF*?*|FqF0v-;1g^1+OlE>=T`!T|yB-%>3&lvW$lf(+@N@^pfxT0F zGxhE{V2B@+yq@B>JuL`W@0~O9&<`r6D4Vgt$r<80IXT#_r1rZ>C961+*<@hIUe1P{ z^tF>y4$#NnzLq>qKW3=1&98p@`=qhxu<70j*;8t2G#8Bx8KRm97gh4N6n@eoQcruu zzXv5=FI?%m?l?&Wt%1OAbs9mZ*rQ3p&{b$H)YOET&aEmE%Ook3xEJZg*adzFhWGsL z%RJr-Kn`9nJocK0F5i11+q$+?yf#s?LsL0rEQ+W|7U2nd;c+maIwV+61kNf*#iC(Y zMiCB-#~!!VzUC|Hz2YZ$I`&+Bv-&5BsmMg}3@0QvC0pMm8yi#~G;NwJ6SyB$@f^>c ziR4uo|0KmzP@W9OTfq=Qn_Ft@PGWU~>SuH0ZA!waNU)<?F|rngR)I%82aLH!{tNlf zA19)wdPO_TI?^anR^j%Lj_PiI{>+)3aA#XPZ%n+lb^L8_r6eXAir1wv-t;(2zX;Aw z2={iK$Rb$sDoQN^9H7V86hasg#{0@H<yKh`FP}i_lt=2+P4tg&C5OD9-#Ji4`qOoS zxf8-zINvDVmDSY9wwCwP)?3(D#!zrH07f$Q?}UywTF^%l4@N>7g__OGEG*>~J#U`Y zbe{{Bjhvx~4F94R8TNI*myB98LHc89fAC{|RRkBMEqKuzVm|5fpw4CC;jX*NQrT0W z+tLL5)3)HpnS_g*5)sARs-Y>Mtgxx8CX|5#C{bL&5s1tA8?SQsBo1Po+c>&!b#Z32 z)f_Gr!U3lP5Xxn8w+%r<gGXO&1Z`fX_sl5tqA}3L<7a{jT!n`YxAacX4~DSxZ-Vjg zAppXo#Su}2Fd>ZZSyc95W?w=^%$ywYEG$5REePO=#|<K$3k46?e_50r*IrBQoZ5}y zZJ*@wUtBrk=?8Vnvs>pxo8RrAqir&`XFi~SqN?3>U>q*Rr&5{thzEr4F+vf=7yn(# zWFDPIz$a@&bg;<1&lm2GRNC`K0qPUUiystis*R8$NsC+G+4`QWC;+{HJN4z6#~EjZ z`?{`CH~!2zIJSYDf16=Z#14#O&|q*3SpoQ^ZsT1@>_m2e@oU$$KGt>Q(DMAuWUE%p zh5Zf_j5<qBF|6xGM(yHLBbYz{!I)Rf6hZf%p@QY^w0kxxn}x+fC|;$wj~0tQg{4<F z#1B2jG`$Pk(9G+Or|jgZr-*o(IE+-tCV~!%sJRX%_IaW#u~Ln|to&nCb{aODDt+j{ z!9COS9?LAHef#6L<_7tzzamcnOrS6_z99Y!>h+i)lNUb#Go+Eko8C;X|2qpYtt`vJ z09wFj>WI93LRr{rp(z1`)Z8a>s0FAZ+~ptx6}K;NNX5EPVrZh12rO<kb-_n`cm-A2 z$|@n~mMP#Nw0ER%Q#cG;L5{!hUSdBo{h3D|{!yPAYQO!SUp}}zbS5*IPVZY@oIWxT zwW;nmyxyz4@%|$hE^g-Ib4wpNHb=g{dZdz@dFatS>nEz?Pp+>43byc!{oE?93wK+1 z#t6i-pGTwswNg=~=NXLD$Mkr-v)PY#5(2?R724fD3yXw+h#lZ@k4F&Z_RLJeERH|Y zs+P0*4Y3bXY@m6})$zap_79PP!Xne12naN=z*BaX0P|3K*`1Zny`STF2DDER|MYL% zR9!eaF#Bx!j<Zn(8QH*)tN=;1!pQ(XG)%s$9$c@+){li6LBHGX^7f6UWQYzIP*LQh z#8{i%GqDkp$^GF8hl7DeZVxkh)GgWA89GGB&ptq8TP!r!35J|rc#qcgX)YTBK<_q% zcXw^`V^mXfK=8J4(qWxQ8qp*I;KLxQrl{xPUN}$$>CrSRwqj8ho<V?&L5yDE9tc+N zp3?4nfLE`r3P7w^H`g}1Q^R#(Ko}S(6-uTWs^+aAtQUN>xSeE>#tp*9qYvn=$YhWO zYryM}v@sTdGwet9MKbL1086%6^42QQ&uWIv@J$@p=ah(1sXzbYyJU6ltBT8K^B%G( zkpn9i)>q2jCcIHQr?>-3EvBj~rLv7|{cUK-u4R%bgAkj?(9}#ky?Hb^n4#K@QvJ0< zMo1U4PV#&EH&$0ZyxuxqQH<1}1}L@Tkee6JKcH>>T+D9=tqn<pSc@nNK<1&p4?yN` z7akEl&<!vgJ4$3D1@E<=P~{YX>F$LD4MCI@Sp-I92(oC%=k*;ufZ>6hZX&NnGL7Vc z3H%_-0EV`2A~=o={CxlJom-Gk_iib%+#o6l4_v<M4!oqZn@84`7iPythw8<ACu_R} z^351yW!L}<`Op1inR8@YZveaYaVmy;v&i~JTMMP?`AafVC{!6n!t{<m%Z)(dSN?nU zR3k6C4`v2!is?&w{1Ln4PN<?HdIGW>Obxp7pK&@1HqZDhncfu?UMigT_WUKCt~Lj= z(@E7WNsFs$GoA66eYNWY=dx`mKNPU73<n%gW>31LJf$Y$RLKPl)Gt)om9LqKbdP&t z(mw1~0Zh{G+#)C>|CmfEk0-h=M6yH;1Q#mEab}R?d<9nfyzqQCcpD&k2lze-p%_Sm z6Vgfv;f`g@3ovF3lM=58NFzn*GO$Q1_kn)0at2s8$f_AHe-KL9J6K{x4L=c1Z64e| z))}fNVg`}|a!zAF2{ZXn8_UKsH3B!S^r)wroFiZp@bgZGA>=!_2v;|FS@vb=u7#@v zI*oP<D$1jzY?j__>U3?fz2BrA`7OrqjOu^vxIJ}j!X8bjh^?uqsziz=q#+rm@#2A8 ze%eLiMr>xuT#Fd0cX;uVr(!G?p+9@58fa5lcapEDrV^58=SPPW=ZK4@scU0A5<mK& zgT@qZM6m+~1G}y~s4B8EWb7GtrIuw!DWd8QmlRqFCBmVl=7K>?;2TYbuKbY%gi1hS zBuexH!eQY(U890pMhl?{^F(FTK+-G?K{8LSDBw6(w%jTt03i(&m<OO1_mbNO1qny- zjOTAW)_uhjEc`(giU{+wQxnj^TrA>ZVd`PBu7hP(r4N(_I}obE5wS0po>@68Okz6K zi*^+D7)KnzqHGpn3m`{uxS!1_%Mo2xmX?UFXI%^RvB+Q~ng9T$nt*$0(d&~HGDqem zWT(WQk#s_}KqR<SS#ahwoxDLoCI*_wx*B~$WB75@@sKEGb8ng@9-^4Z#8KHP0pFEG z<!Yy+GGK%Lp>6;$(5a&t%cON}>swQA&t#F`^fNAo1<U|fybsp#lyLUb`=Sn%?)qRr z#Hxu>zyOp229P9+_B_xD;X!^K6(}I^y-PgQ0WpspTAiPsfb&mBe5NLxBBvNJt&nG$ z?hf}6F7|~NI>12!79w^!(+Y<JpesetmAM{{R_(-=R%i)!kmZMel#*s+JFrIz8oLkx z!i3zZF+9={#V0;DDoYNp$KwE1sVbU@3=1l6h$@xztbB<k-+obdojc?77+?JYVnwUK zx1Ce{{x^JX=h+W=Jnf~G<?$jb{ZUoBIh>TX?vzeEV24!^ra|3@LETm1RM#vZh!CcG zLe5ImP;bOusM>*V$f`Kh!tq%je}G>F9K#S64#Nf|VPPItrD8#_iY%;3tBkV160ER0 zh%gfNLxlrJI)q9o%mr+HQS1vWVlPHrCYB&wHUrp|x%PIe&?hr}qiZFy=<u^bsjPb% ze&F3(w~LY^5<x}7k+ii-B_4(Q2JbjhNcRweN}=fUt**VB)ItzcfEn~-j5v&dUQLz6 z7k@&ORDv{U{Ufua(~rEjQ+^`;<^7lMzyHti0Pp~xD1&xW*S{rw8nk<@aJp+;A%YZy z_V**zFp3{CjtSDH32ar8a;x}z$njyPgZz=+0U`<K*%gjXp;ZA-_nQ0fJMzf*!lh8P zRAgnLZHx*O5#bek##kI-KlXkph+@m4A&7ModIuuH1hhMyVsZP7g<dnW%$@*J%+C05 z20t?M-L?)$AL1BSXv7ph_nQjQ@!n-c9DmcBWUA>dzi1MqO}V_J>x$y4oDZK3A_9`6 zV#pni4vpWXD7hRjKjZ?ZvuCaLfPh&JN1vIUGsYqkP?v0AZ*-!Mj6w9bzPk0h3c>q? zult<%=iiViVqCz`XclNm9NI?qOf8I@O27X#aqZO44b)&x`V|S@KtR>6eogtqd+w3l zl4A#RDZrxtDmeBA;lZw_7=ZnL*bW<W*D1ieLLYWX>_*4{EbK<tI0_yEsKCz%FfBJ+ z=IA%W)7~IF`Pysu-}hX(eP_jgU#ZCOv?g<|+)Th&bRhS|9>1m~mT_=9!__0BW)Z-0 zUND*G&J+*y(pIp`3V(V0yB$Dr9)gn=?>cR;Q9<w&Y&3hp87pL{Ehhuj0-IjtUjWs1 zCkKI+iHI#w#uwc~cSi0EAsCX)aViz^<UpyU6`j0;qYyfJ*c}0=tC{9#!BoWGUt6<~ zHp%HdTgadHg#g|pQv{gU#YUqpYpM-7PBC=skXtc1o@S@tG3?S?o&gIL8`KWY0es}S zFgbjf94wb%X?Cz+{v$9QiT)v>AN+7%A*qLWysSL&2bV^g@V=tM%7K_ILm!cNFSxrY zT<p3I&7ib90ENs3SoYM5pQFrVG2|HaLk1lqdje95_=%Uqp|cEG#0dh}c>5YhNzn;` zCq7ngUCOoYS}YoB>;|>mg?(Boc_aGMLBQK%WuMhd@fa(8o+i__ZM}mRK~?D_U@Sn( zvo7BY?}<dn-~h^|i2NP?i)-h-9^L`c7<T9O&x3;+)4jpFqj!h=qHIL9)MeswkEX6U z;$RB!pMC8v{g|#X<eAv~@BGkRcd>{CiDi(%JyyA4>8-!=K~d6u9;RIA+6kz1>-%o^ zRQ4&!#UUP!@yvt5c~E#!cum(R!BL1HRNvy|1(6~-7Z4Dks4mE?-=h~7A)n+~WS&{S z>`Ts}`p&|l{;4X%>Aggl7#phPv#|&Q)J3uYVYVpF3}8A{Y!y%=?@WuFc)hrXxfUz# zfu8l^9=}3J5W3UuOv?@W3vS0zfRkJQy7iCHd7`S3RMlVka^RW8b#<_CFfSP%7`Qpg z#1ooAP$UD?^_`hR@nf4wG)$nhs*@_1v-N)%UI}lI1n3^i)&jLZ4!#v73|HxXyMol5 z{yB^GkXh3>k+%MN>#vDqoZFOaa5C_iLgD&%=^66dXenA09`70<XkY^oKBHv<jyI23 z5nvc1eoBk0=z!tmt0TZf7Jf=*h#NwgXtx9tgg=9Puz&t#j`9$4&rGK^R4ZiTQI88i zPm?s6Zw^{O54TLg0OCkUAcA!`78dB>VbG4ZkM*jkfYKB%GbY^mSjCa{Naq_z&l~RZ z3$>v=ImFuja4??CNyOt1A#0X3x9kVyatk&!yT>(iUtrwkZiJjZUpijT8o{J?^k6!- z_x`Xejd;)*4d{=(*{?X`wVWdQ(JH1%@q6tw>K`I^He~m3X6?viI;IAc*MgFRpd_K6 zLY=dVE-;4&3JolifLXhM^q!XUAdy#@>#LA9s~d?EGKHLq8v>pw-QozB$nnwoU@j94 zI&4A}Qm{k34ywY1LI!@68F?mbpdyU9>g$n{5exN65RFrfhmf4KUq5)7itS;EXm-P< z5gW>mfjxU29x;*B2M3SbF1hy{t<Kd4ZK^9mNp~RacbN{Kc5L16asAP6!+der7DWTe zDL(c(BKeN*5Bkn793>}aN~XJeuTS$Xr2XYoXPsHd>)$0WlFtJQ9PPF$$ce}bQ$2KN zA+@xMWRNx%EVG_D5QYd$0ntLE3WH=25$!fC$Q)0A1!+(@?xL~~iCyo_@;XGk@W{}{ zPrC|AsineuS2Lkx62;VVVb+IUkke0gom$+sSKBzgwtCG@)O^I@Ob^5Z<p5&C*u=$n zbpNzd3;=dsW=ILsnhW6dlyE@!(QY7w_{{;nnM5U7BFU48!TLx^MUYiVmGQ<9C9}Q) z@E$<~YXhtUdS>rYVbC+@{!0!+3SQ<g@4IB320%mxONDgY=K*o1$P~k(`>F)uz~tOg zCPYiCn2h{@N)>qTU7Zx_O5vBv$lHnA6+wOV2U4%IPllxP=Wmdh7e666<C$dS)pV@F z<>t4AiZCV&bqAfWKO#g&2EZtbEW6^W1JUV$vWR8p3&r(PT45C@mM*m|d4R0+0vg!v z22YrJ&=Hz5R3+bs_AJ!rBey+1$K~T^ZhO#xmD3h}j|r<?oZL@r^{Mw2M1Wb9<Z!tZ zkVxr7Vdn9}eQDXZrntR<MC9jOgfxe2QYTpy&5_>;N2BpMhzxO}uagMf>m7Q9{)TWu z_(In)iVWWkX+pJ4XYqmoJ6wlA0cgF1rWHZZFTrMTSwg!m4;)zH$=|hh3ZUmOS|qHT zf7rSWon^R>=)#p(zp?wW_Y_|4j{z5O96wemj)n?_a>r{R#)QcUa=dJs_9A_5WSY$m z59ztm!nXHRwuRJ{873CI_&E}QU$R+0S7Ua8pJV>uOBu~{J7tfOj!jOo<cd}Oris^a zVA6~$rCL25PKH%kF=W5SdPEfRCI$zfGP}A&0!dqPEL+jN^==*de<U9#V$O4C@>hSN zSK&YuLe(>S4yr^QNM#zaP$~@iQZwqT<T5$9Jge+V$q)Tf{Rv=@bfA=JutL9Zy^S8! z-xem&0ld|<Ersw#Y6D;x^P@KKZvgdCyoyVf8||qycc?v>hPeUp6wJdg+Kw#WJIL+< z1AD&r)o)^%@(>)cid>tuomn@(+I>IJEr4ZrUf&4|2wL6SogS`NO4)S4=d=qGWWoZ1 zxE0=3D<lj(*W;k9{|~(6kr8w53WNkI*@2LN|HXb|6TB8r5`Z6xe|_}4=zi;6A|gan z94#OTV;((}$=Gb(#^S@*(vDg-oDjYGWHaa2h}|T%!86%-C?9cZX4#N}&0I1aLL{ke z?Du&uK98m^R5;<;<qOZhp<Ww~S8~osW+)K}MM%!;7l#Ik?71(Na5-IC`GaMp5)AKE zx+%2p6Yk-kg4I7R{7}~eeMaNBNK!-<hhX#j&77redyfMwqUZLWYirM?v64|QXzII$ z-cfGtZ*lZQ*DRM?1C_mHmxg#hz#N^|3#GV)r{_>L_xgP-oEdtqeLIGJn+>cu0e{K( zg6~HMQcKG(weA_1bx9vx%X`mLv*r?sJ>W|?W!0r1mhyNP@-{u6XgMc+;dV9a6Q`-J zMf^4rCy5)3y!uRf!Q&RSs^mZ6ag9G*^~kD8yotI?L1g956vq|nj5NHtpX@|J`D8}^ zj)E$o5Q5FWA5^ysOXw^<T0=bL<{f?LNC2JzNe39ADwi4B$=xcb2u)>O-3YD}g>Et^ z3vja&!1kW$(e^+kmyU)VOU@-YOgphNhiM_sJwa8(?MReW+(8%?T`;+2#*0U#c))*i zSjzG!LPPO<*igdBkz<W{O3tAQrpJ_|qem^%x4+d`qU83Q9`+xijbtEJQE5Dss=xS! zp#jaHFA|T<;ZkBlj6kkPbBRCtAH-)kcRwo7>)*cKCSL-LOkqxV;nR~7!y?k_p6RIx z4F6F$XfKI(AnxGhGf+vEd6kBXB|U}e5FKXdeSOyrvW4=$;vInT?Y7Z&ty;)MLSDCR z&OVpR=%~+-kzNQ7N#!K%(~c{B+hYmeF7mc4C&B8Qm=570N%quJ;bc7>O#ScbSS=Gu zc>wshs($gDC~EfMvdgBbPQ?cpEnJz6L>~6j;RbcyJLjR75<~HDd^qtR-z?>m%~&87 zRJ6dTN}h5#?Jk?x^o3lA@eO;i8!=ZEm-D}VNp3HpXT#F-Sy1yH;UhbG-hhsuf!y`= zyaUUuLoMK1RY1*`A%#fUSxKa?^*tZWg%DQW=m&YPawlgDHv%`^$-7JMxOm&iLkHLP zcG`p0Vm|D*8Nxl}9@bsTW4@QQ3VtL2?8}l~FodNCys6Y8bbz^C78^0Cw)oQ@Jm5eN zJI|X?Ir4nopT3o$7#bF1&Dl)3n9Us&L&<@(A{x<neBM_kidOav1$??&)U~V+RcBGP zWhUG%t+P)aN1Kx`s0FpC@1<5l{_JOg9((GO-oSA2f))#9%7CM((=qAIpok?qVu6gk zsmDe4I^(CNCy#{Gc3nxS6}NV1!=7T6I|>_80!N2gPYCi20ka8GGJ#Zs_7Rx`I`3H` z0>{})J7Bnx)v%Bqm@;c|y7>S&wR7M^*G&Yb0WLeLBEzK4k`&TFTYEpp+A+U8pn(@` zz0`&iuSa}4pd}A_rLAaM^ySm##=JqFyvZ`tPdQ)wgyM*$`~@p+*7p`tm5kzc;)U+Y z$MF7PL&bkWeDV;pph+Ju;|mH!($xzVP#l2pq9VrL5bMGhd%|aEHsDk|1H1R`v!^$X zuI`<knHZ}N7FYqu3GsV~JY?^SAG|)KglCt`%eMfRbD4u^ZL2mw^xf`>Q3ns~5T_R) zuv6AkaXVm1EPrgrU%kzr%6mQ3oeS~#7D9v7L~bCNaclBGJ&?VO+L&G$PG_DDQq^AY z>CuKm*0|TweMg%Uxv(?m)T{M!Ax0-9f5V?jWeDB&Vt#lr?Y(>VYVP<Mz)?U@P}Mz{ z54l}gMK0KsDMQxFF7v1vh(<c+M?8*Jg&&imjnzyr?a7~>$^{#VXifUIF%<FZ&pZ!M zC)V?9Ll#%)FM=yah5g;NK38PU6$?vY7^w`$#+U+#hw+4g1-w;>vt)gB51Ph?>nu6u z%s5JpZs&imzzog;uI^0xU!4UkFjrol+9T~i`nCR7rg18+CX@6PXsQmHvV6cIX3PCD z#0*xAA9|fK#B%T=a_}yw=SL^VaJR-rz>o?83fp8=3^+B`C$a+{WWqtap=*MlAne@E zkRgdY{o^1g3qdW@$A=|)a<+B;>hV1n!d{@8XCKx5&upfzoxG<Kv=Qp4tC7`e*z49# zZrpdY3pn`r(M0;lRgdz9Lk~=?D=x3CqLb<T!8yF%>;L=uG(Cvdy98%?rh5uyb;$|j z@(|I*76yW*kf6ycK;Cprb6sK1*qTZJ&r#E0!)K*lSr@q`YkncZ(Zg#i<6|R@Y8lEH z_IWf}SR#9vFHkxBK0z5QX{iwl@2nWcs)@r71pDro$K(p80h!}v9qv#zggxke;F=8d zC}5EVJug08G2NjF-Rm?#Z!7CZxtxP)b2dHKb<ONOdS3FK*nfU3NAl4aZ#Q$gRwLnQ z^5t}VFb|Y1;U9N8IqddZsGsQH%CC>t9S(6f1aOao!EDD4+7k~iO~uGNd;RAsGBkhO z!rUGM1lLHdALe+>G%bL(4Pl<?k_jww4hF4`{;OgHBY)Bghc205fS#&qC0(Ue)QPQz ztg-}pPEWQ+2CIccFyL|k>ur$6E?AP=EN;01zTMsb7OfB*^4O3K4FF){gxgW9*2vcZ zpm`RKJlGzxmj+bDTv*zs%z7-k>~ONK%Sg%N(FdQ2)ECokk8dV1<(8&22BY0McOYXo zOv6B{>Nj^N!D|+KSAeyVtNG>3`g&$2>65>$W3Ylp&EEz^CWVFWYzhWs2&5z2wxDW+ zoDzjYS-1>Lx@TL8kglGgZ#65WTqY6qxlKcuB$KQqgGUz(PTaQ1JRsf?CPp77J={>k zzVu@YW?<gxPay&%ZlEw;*^(A_Zb~+D3l6<8Ri7Lvgpv_^z+ppT5sv2zGzimcJpV42 zVoQmR74F@fg_AZC^{eIafnp~X%7)O<sK};Sc;~ysI`i>k@bO;<rZ^|u-!(7+CeAYW zzlWb>0WZqv31IJAknezP;Hd(v1PY_4U^UQfgt3xcr%*Dze9L11JG#?jopK==5BLBq z`KukS9!R9vKu@;7^IxV*T$?O<^vS`Bo7M%cbS$c3WK-S~8EYp8<C(Y?FiEA67`(rv zu6ea`+#mC6VI{nd!768CF5XUb-u76*tmVQ9Y1HlxRNO(G%}JS^LbbL`Y!#O~Sq=N6 z=;OxBv~B>))otGFcx~Y5xHph%BqC)-EC2QHk*Dd?uth7~C3Mo#S=L1a=|CmrLG&!L zXy6K~Zc+Fh4lOB4PiL6nnVD?22CJ;L4n$Ug(Lp9<iAW3b-%IeBt|0aA$pv%b>h|mg zED_KEI3C^~x9$BQDys6?@zqSWR!4OX-ml&Cc;rAWnDC&IK~J%14k|U9Gy_MiISToZ zrx*Uq+1gl8ZPcA_d?O62Rq5Ni*Qf%*UvlPjq=3An2ho4?bE59_IK*ru%Vt`QaBa-Z zx@-_5(YHZkjtg(@I-8i2lK0{Lqxp>&?N~9Sgv5wqNELt#L38=#9cNtRO~m3U=A?PB zIB?TZ2HQc{dKni3exY~$;~dI8bYOXLY8;LypNRR~h^vm1<2*CvS_S0f<-$me?Db^H zQbw+#H=6q$CaBi4V7#+UgZ@;`gXqa_^I$%ByD*}sXI!F|A27ntMifmio5=SgL-t+* zYxtJSHf?y>(NJ2As=7q|<ktb)zH502VUpc9zJuUKe3&HB=}~vW^rrInMp4c(X}ipm zeJL@tN2Nm*SK;wVbAA}JmJzKV5yi-V74`@xKUsuW_j6c`7l`PA0)EL9mkB1<T%Ktm zv*+^%HywbThu38Q4DU44i>*khzKsK0mJGFTeD!pYrSFW8FHc1)cfz56nlH>|?U>O@ zhg4-Goh|A917q3R$BEit)QZ<^+v)z1MsptWXFRyHbhv@cKyiEQuydJ_PB~sW^P_41 z3x2KoG$)QYmgmG#<3r1>yr*z7k4|JOc4ss>D}3w|PSgU?S<Mi|7{k2LP<aKd>P)uK zGa{2y%)<fn27>6onUnw=K*1T-b`63k%1h5hUh-V5y0`neUj1npAm}=L5CS|gjLxuZ z*`r}vo2UQG2KEG$RcIKsnN8@liv{-ZjUh?@Fc(sOa+l<8D?q0W-@?A=>qe52r=t(w z70+L6Mr*lyhtgDTnkXYF!CIgf>U*mDY_^$P&=EGh>y;!5ye-ON{aBPr^Qnl(8T3mc z+UJo1-Jcj0155GJ-?SagXlOV!YIrKoMtv?x(S3_Nws+(<+%y+Vx(YLy(Zb3|niw(T zYZ}6P<AJ+eKJQY*l^i(gbSNIT-C=-xRalh`Se1*yZQYY4hP`m?3awu&M4@|e0^XW! zCNS`Q8PkvWW>^BgFSFp)+7VG)MM$G)r*sTJmbA4qw;esazFG{HOZj{$kmjv9eV}TG z#@q$*u;m87T-b*D`WB^shOr}4EN-)@FYf{PH!uR<B-tF8cLVJ7A>fn38`Vr+Uk@6U z;r%hamV*;F{UMi4Njt<5nCW7s?CPC$gf4Us4{6nja%jj1*ZD~rH3C_Uoh0|>#>x(i zTp-7?9jthWGiy|)J&|IQIeJ|eZPZy&|GVAm%!Oh#>!3Z-n5*hdcYHMF8?=roMn1?+ zSz6PktDyUa@CRK3%|T?9mC$?900YV4*FbhGOwrU!JdJ0uAasOf|IAvWX<XBkQ_z`V zrH{xD@4in^G26|er&qkO+j_}8vJB(JZiF#=xjzVn!djJmYfB5==~i=~l1lhJcAKz4 zHkeP?9*KB~tp|^`9WEN1dmLuwo--3Z7fRQ2&=z}n?1GzGxIjW{Cq#AlMjPf-YpXWB zvFL2bq@79nY%7GR&jl%Pu{$(yF`*A;QA@Q&0!n2TiMO0mXJ$jr@>4h1G^J!aVx!HH zv-HFmGMw3<3;21F4uyU8t^1AfV_wII%a<9B2jf|h8mmJw#BbRDK!gnRCkj5^h7Ahn z5Hf@rq8k0~gi*l&2Ms{L7{yRUIA-{F_+~_T7^szyIkQk-H(?+_XqHi7*@zYDO>f_- zq0wGr=qP&z;CDAX1J4z1@dPKj7~9%7dT`&;;@qC*&_ET{_=u0O=r(eSjcxT><(Q4b z#C?M)57!_|*S6Wf%$TK*>W<>#Xvb<KVUMvJt-DZ4Vbu~~CFDOm_LwhSyKuOm*))I3 z)-JaPSTWfhkyOdCIuwn1^+2u=lC)6N>99+VkSv;^TK&SIyrzwu8C9&4Mx@k{Y+hTS zG!Qa0-7hN|`E6uuh>ZsKccGjj@FC&~Acc};XMGLR9dZ!6JiLa_05m}rXKtvrZzijn zP$*#W_EfBhSurIX(X@oY@{lSzb#&}Zm_bx!<2w^Zs|c+a2ZP*0p+N`3u~$$|1-sdH z3m11kJmYn9&0}RPfN$107)#dOLoi?nC$)X*6%Paz*1BxAo@=IqSe2kDu~%Pkk;Pm9 z?FFn{Wxyt;INW<RZ`g#8+TMg9)h4yMN%8`@%ClZi=;7+C?mF<*^mYx%BYE-bh_r8< zcEg*V0R5iFzNUbX5Eeg)_8g(#b&LiRLGUn`gPvePx|_v8H$NC;UG{cCh)3}Z{&Y!J z0_gw4n-CyK4c1Z2vJnq_wCpWHQiIKrJ(%pIae(VYvndG;iNP0)t#j|5Sv&RNZ~iX~ z+MyF2yOPj9t$1I&41+?*vEM)a(C-0M6@@k?NY?0Y3PB9j97HYKwlakiql3LlXdav# z&{48Q!|Ww!u7vv6?a)h}i@6XKD~i{`Z5YN8Mq`mx#vbh511<eQZtDI&IPc?a?R;&+ z(!%V_<an#e225fRn=S;gK}y-SwoDDTvpS~NJ$!`y*xSi~BkBlN)$}4ArnL-E2PgoY z?Sm_jB67!DK0wSP-G_f6*tC7F?znB?)FT}dJ8`%>F*(pmyH6cDvOKX6_I^l2pMmai ziT0`#N=cV4^?oZ;S#zY^&pwgRH{LgPmyHD8J~(v8uZ^vTY~=5coKD0i7M@*b9o`%& zUpv3{Q`Bj?Fv?(l+;EFn24V1Dln-IJ6Z(lAXlPdcqOgYEVRHgjH-}~vK3u^2t|48X z)f=0y-PZWtOD_c3_#Qg17w5;?^-?;)mS3RrdQDo>LB%w~lz_1D@l`g?iZ2Ku=)&4} zAc1}Qa6m;>3%y=;tOOHBnAh^N5(N%%(tBJh;W<0z10hLfIO~B(k;kcS2Arlr32GDA zlz@)VQ@Pu>N3*LTS3NRWc|E$oD&b!1H4;45c#WA<)=@_<1B=7pnfT&c0G0Gq5stcF z_5T2=oSXkWJb=kH-g*s*p9cNTV>V+zI3~QFys;a}qV+lqT_D0l9b$hF&-dUNY8tE` zh{f$=Xy;@x-z6PaFvE4pMhw$5?tret_h1S~7Bp4XZdV)_zJWHFru~#)x4Z5Apnm*T zPoNnl+8lp?XJ9Hg(R&8z%I??j13v{5jLDmy!nnfT#}D`%{~vA-+F{FK&6BmkM<2QW z^2PHfPasN~@6L>2|J>lQ+Obk+qTp0QEc<A+&<m!p7JoDnWRwi^rmXC>dlZE|CbQ;q zw(tX&0E;pK!=nWt8GJa5nSDqtF1A&!#!TP+u$yqkmK<;EHtPqq@)lGlW$*X@!U2ti zLxgatfJkJe1^j>jSd@$m`Y>Hsm9teyia+(!@SS1-5UgKRDp(gG{nSqrT@q0X(vZGN z+Q%d}+l_<)$-n=8NK#Ey&Lt0S#>9rU_2sQEOQzSUkiXQ1v89cOsxw9HR1;C16n_zw zQHV1AD0&yE9CoXiF7luO&UWOm1Y-`&T7sj)5l#Ln9Q`Il+g^7dUdHnfY0ib9TsGui zLmMidML)g|TRiwC7Yd)gDLmD6aG!o;sh*LbKs~P>RWPg3_vR>%qI*NaG!nuSplp^& z4`VtOhuAuhn-6qf=2{Q~fdJn&k6)XcYh9abhh`1s7OSdQ>pEgw%YW~1hQ(QolRXD+ zZMb@sL%TLqiJ|^}DY*BS+3oNG!77%QyE;oKKuOE0pkvosdAHl^15V$ya|LH#<{}6y zEWql#0sYVO!h5?8R1VOyOXcb=s4B;zC2OS^>=B?Uz?^Ioi)%acaPvMRrpuX|&q{zu zF$~hrQP{~>Jru<DBg9y9dnU$9#nO_}(?DeEFyvXx5pcF(e<M?}o;y^TS?{Y13z0iD zYN;nqGadpo9ws)&?27B&+YcWELixd;ec*%jy|qD1%t8EZ2prHnz4h6x&q$_12G10K zNxXCcL#hgW+D^hm4tY)TIVCC&Ml(^7yzo5Q!qi6|BdR%2odeXO*rb1kWP&G}l3t8I zDgXQjjWk8GgdzR8XsVzyipOFGvymr+cXgf72s${Sf^?ikFc5VHoup8yVZDHtct`Xm zi^*K8EX&}#G2Gj01=GEA(v_Dz*nO2VLB2-N7ATiCmJ7wokPhkha)Sii1dAZ7B!O45 zvUS=5!qUqu9J`i0sKtV{HU~Vw4b5qa)Q_>qYIDh2JuZKs*n{qqQB%#-H|{!+wwV}e z0ZM|tvYCW;Upr*bY<6s#kB<*0{w-F4nM2<<8u4;@jP@%2m0C@a3<*0vCC_>Ko2XFS zU98&ev&}QzP%>jGFfZ8FBYEWD<z`v=;pZW}{ULHR?U}O4#>kbozJm_dlc5zeV4^TD zJIwZec-%NZk-voOpB5g#c*|2=PdSFsnK2Auh{EwzWGaj`46fbTMFfs)kKXT?pqm#G zu{mXS6}t&w|F~(|xy>>@fEMs~Pi-7no*%B4GGTP7_^`>OHNyNwAKPj+;7NF$#0qvm z<^VFlUE8BjfW%ISKH7!isvjvL`<3a#jfSdUO5!ml5<m>GHkmuhst(GW558Hk@?XN5 z<H&t3rMT~tu<nSc!{cMU1)l!S6X^%of)oh)^o&dQw2m*T#Nlrrd){HUV=WucRkV8I zk%0#T2&B;BGV=jUiiesJrxHvj6Bw?T`XKa-DoGPd*%Y}u56yE-p9QF{k5^s3`rvUN zfX9mnnr@f_L{_p0oL-5I6;Rwt3}nYl(ilPbw7oT=H}pZ?K~y`MKWeo^(oo2^0b;(c zI*uteZEi*jxFrnKSW~b8@ckO5V4VyfX!@ukoI|Ce&+rUOgE*`LGlyF^P#oZCg?a*+ zyj$&ipA;Klh7e-b<7LiuU-?K-W#-O#*PUlh9zHZscyzLbLP(^_I_tUrx7cYhZM!65 zshlMXJ?3Xs)iQ`Ts4sJ1tQnTUH@$-|QCk+<K;(EtGvU<?r#LYwmsMN7INSj5t)&nC z(buQ0gdI>+S$TYTIJ%I-f(BbCuT4(Kx*|nv0dMRluh?ylo-)@H{}e0tm6<vW<d#|E zXf|diU&xwj4E?eCcs$aM4>s*z{1PjvSW6+`)|mRL^b21!68plPRB*@u+G5z8Dm4SM zrynxO2qp_|q2p$&422i{t>UC-iE;ThSlowUaqkp<_)`~7^Y(5lZcf5(qIM^;-e;aK zhA_v-ig(P|?kIJNACoct^K$39uYAN(bkFT)j~&{(G&)i(=hA*}8Ve*@nU9t6IL-Sg z_BMZ*=CTU9#p9kbv&SG1J;T6FEuU#ey4Xj>Ee5t*xDT075cR?L`$r0<5h-YDxjgA9 z-1g|Z56?xMq1gO*D3ly?Y9$%LpdwZRekk;X17Wlk2bM~SvPcfhKJlcE!5-^Tut(P2 zE|do!k%*dzwDx6#LFZz3GHY`er<)tC;Z!O=KN*R`;~hcU0rr%g#t;|O0%<w*tiEn> z^m0uxC&qvNt)ZU?PmI8>;EGd>4tNjhlB5^o3PKFlh4Cfeb1h+AIM7{B*imO~lrSnu zS5hb=?nUrn)tmeKB6{45vT6j@zNiQkk%JRqZqHb!Hc-s@edx->h@}S0x--TQfEr+M zlo`CfMz9qR%mSiY&GLE7ETR~;U43WT#~9KYsnKGw@b70{ldZh{;(_}@rta5G-hyVv zM@=f*l$cDtwiwaID_&(LA=%oup9$n<YEHY;={|Ypf`L>FiL-Y6Sa;9z(Z#8xU(%cY zEbli{)5lhvzSXSgv^iukk|K_dq9Mh9I#Bb3Qd4u$!%G<E%T+24#}d3(3|$~UgiimW za6~wRS?3c6fLvm=hNgBgo#f+<#8|a0OPb84nJp|D<_rZu)&qiskaf5qH1jb)(@#OU zGq-IX+qbqb*TE8*SlI0pilktGdVL6z(as8|Kp<9j<(2y)1BDs+g0NXkP;p@g#(<!+ zmV5}Wl`%oiS?C6MgGbS<A%uMO;2GI9Y1rfMx#|f_H_fmu<pwxw^I@&j`{eN5dvcM3 z^K&z;s5ndMY-e@A8?-ywK&?`lOqH@hcVfC!z=~JXe@|BNQn$^_4$|LPSPHq;M)2~d zA9$;sCbjU;56x4RqTE0qbM1Xi$Z_AqcymqL`ktY?ThkS9voW5EyL8ckXu}&*Oic_& z4t*TC3qv2}>x1+z^aRWZ*H%BCK}=vKfV4Go6r*og7tMa7z2C4anjMIs=mL0(?YQW- z5<yf&G0s~6cP>)8!;1a^-U2v23NA!Yznvk|Na(7(#gCbbK6(UhpasqnTy6$<a}}pG zw<?|8%}3cB`dekm`^Y>hOe^&y@-ZoRP?bF@*7hBpGKd^SJFCy(as)$aK(?3fI8iWF zG)N=8QZ#e=HjTRWH)dTh#v|_oh^x!4cfKp)SiY<4_Xgd*u@ehE$KgqjYb0fQ3<OqO zp9%dRd>*jYt?I}r*lZS|53<!C4|0)Y)kLndqwP#88e#K$a!*^)@dqXCTRd*knDANQ z5tB10EyH{G8;8*Kdj5F~(+ferclxT-t+i$qWuWd!+lcsMa-=+v5HpfL5OavCy`vSC zN-^x7%9q|UQVaXM@j7f>$&>QNw9TX1)YWv!W!jF9b#e}krm3EY6vARsvWFCBw4)W2 z{OZKwQsYn{^2W+wD0HsA_n_$Wq&nyE?sM0_MgEd}6|<20h4&+}1j^~aieCi$=pfkX z{cZP$)v%@r!?5U;0HUK|&iK5bqy1m!s>`*sXXX%PFf_CK|K>)9P<AnozklEAUc9iy zu|heUuVMB%+Fw`1@Ck?xh9)ex#GDcmDE2VodZyOF29(#T_kifkP_hRD&|=1~B7hEz z-9x2+T65SZ-}-?N8Pa8)8tHvcFSNoW<8`=#$>h@+tlbsm`c!#PcMPhFS~7+))%mG` z`iM=t=5`H~bFZ_ThHvAFY?~c23{Tjt7qWYEE^i=XI*o?mM(?)Q6L;Bzn8Ls&4y;@X zIz*4#_8?pks6T`$8XZ{VI`XYU-Te``qNE4qm;qE2R)G4WjVq4F;8O&ocp$O@gQ|!u zQ3XiJf&mu7`&ld3@r?uf=k~BRrcgjwC+p0c$k_h^$;5Y`P#vo~74oQH?g*5yT!{*o zt#Zhb(TGW`6@>MDIgs;Uz>7SJSxDw$$f5@;akbF+vibxGKG&EObt7P)!lhw)*R(}W zIfL`5gxeTC>hr8CZ`0x)n@Wk<t*16L3G-6E@JE~p8}djJ3cB8Hb2)69?(s{*Z%^tU zey)*^j0Jo)L&+r36)M*J?vQA6YlUl5&EZoiae&(Wu7Kh3s<qjGDXaLisK$JWZQMW- z4;vVQ4LlAHy&}wZXAq8)F+MBJYAC=PF(l1Ok*skg%4rC{BFk}^d*n{5TujFO9$2## zva;=wnar>@Fo+V!#J$Nb!NWyHNKP{5ZFVdhZsPLDX>0X_QLi<ZyQ_t8aJzpO^Clv3 zChTp+Hyn(QkJB4_b6JC!P2WA6i>ASTb1r5~f-Z6TH6!0Js<D9l4}WX!?!6V+1S+kd zQW3&>`L-~EsW-G!z(B$Z^ve;DC2KI3+q#jVYB`UIWxFnf2$}`9qZ7PctB%5>5cYm| zmeT?IZ<F3+GN&181OMaDX0<rC{}epdRBe`;tDU`PT)!KSX2!i(o$dZyYU`h)@l-M~ z5K_;cBXRAa+b+HCp1p@mQs_M9_ucVdrjNKN9WOQ}3Z*IA6n%W_9hFWpe&z(Ga@B{y zZ_K8Wr@-%`P({ZQa(1LStWXV81i%eFM?K@6hzHs9K#>&t#+yT9yX*ur3A?$;RN|+b z%bsjX*Fwc$QYn@ldi%JeSL3(&S8GLWXwW`%=82p=8wnWU_uQ2VI3_AKUfQ>Xieq*Y zuaHejvsZXh_ysFdHw*B{WSu~(nOA1NQR_E&WtPe};gdB{Lcv|pWb8As`hZxo3*Hsm z^49wi-O;CbcQjar<#4ySi+2RUb@x`o;r8A4@T&Wf!>h|(jMX-WGpSev^XVtaNfu98 zEs$0%hx;$Tk9#{V?##>a+>ZxSkb78Le8$Ok34SMTWeUTBD(>csZ2OpUyFWD;2xx^+ zAmwnFZq+|9R~#rt;&rq;5E>6uY*9BzsES`;eYY{MH9nCYbGtE>r3}Xxby6m*wOaqw z#)dBz4%kOWP{=T3d#2?J#KOs;cu?~?(z?$s5&e?Ap(hRRLT_B+a9HgOsaYxOF<2S$ zX9&8h*@X7L(l=vbVn}$De~88>%P<#YC5r#Dh@kh$8Xi2xDe77Uj<&mG2Mncu1u=tf zm5Cj9fw#KATpZv0m`evSOC$^ttS00Hhe+m{K(g?K`Vk`=H!VWnBxeCw;maYZ${Byg zFOe*v)1!(nft?CAn=ANOP$DKi*acWft7(g10<(E>u;Nke_QX(7`X+thNm~&}lT&v} z8TrKzr~#BV0hEiHsr}=~rFzvVsf-#K*wCMc#4cif#DPEvt%(Ag_~yG>n1H4*O@Y9c z?SrN?%KM5TiA>cP;2LM^CUOGyC;%lx_aIKdxOi`I3=nFmT_~1|MWmduY92C$K%6Na zga#|iJ3LLal1D4M;SX}x&QU(DuRFsO{JtXj=*;p!-bS!Y&^H{y)ax@c7q&Q7LM#qc z{0dzn!MZ=SdXqI?uxYtjd#$aD%NzD;BIuw2hc6Zh=&yNLMXyudi?V-2tVjILt-lKG zHpEzx5c6|ev_;Q?ZbQPQt`UF)g;6GERRZ?uE!ckvj0TtjAv~7eN#X+#8IXuwW{SOi z70BF6FYtu@)1w2!rM#?QdpO%|Q(&<V4D&Q)28?_4ZJcF03}Un?77CRb5p(E#KxJD* zzMQfzJADH+=jPtcG&W6F0tqp8<Xzv9?IBfniXZ(I7$OyR8psH?>^bF6d{W6T9e>De z%f<q_?am|b8YB`6OM=%s<o`k}gT2AR)50U&t7WWGB>|$-`-!GcU|+{0PHLF@uwPMG z5mXsrBOnVZVDpQ99tj|f9ReFkFb&B(hh7ypcKHHC$+K#MRPkKUufR#a{_#hzJ$&`S z2kyE1jteWx^Rr`}#!xXYTqc+8Jmg_khG__^`EN&v%=%1g+|pb1)F!8qC1ou1foS0o z7NuK3q}7eWLdGBqh<cumU1R;r2!>D$W4NUlfX85=K^CzQ+3VBA-|;NEWjS!bq2+zG zYse#DJ^+p@czY~B!WI%jZKYG`U=V9k+*&xNM%#&e;*nMj^$*mlV@}cK2+_a5PEoCy z(*t|Qb&sifOM6wv5b-!e8(3ML%3#fpqP!be2VKxJlg^U+#EhvIv43l`?3M#mbOLeI z;HL1m48>i-nyp$Or2w<iqlZgH42%1^crmgkRyJ*ZH2;%*#6M=pg)yB*rH~6)>sKUX zu3P^I^aAD&e0t^S69_NM-B|-44<7Qnr%(E>gvUw$|4g3{$m4hE`^m4P<D11gu*Oit zE6Bz1uGyrlcNIBy@5N3}w1!#aj3vAp>+R;TGY10jimjR`3aU3ob_i||3_IES;(jQ| z<pd(7BIaR|17AqK9LtzCyEHURREJ^)4GOi21=13A><v5jn$4&g2#BhIHB5i<(Uum7 z2BhUhN`}o5ZD^`6I=P4`ED{?HRgRYxhcgiKo7kEA+@2i#RurGVgBqp-C2b<vBY_+Q z%ciIAUUj<?Rq%^h@J%2A31qg2i&$=fyp}NuW`>*N9aJSw*UIH`Db36Y;quL1yk#yj z{GD?T4r45D2ej-RTHRSKLg&{@`of`O-Pr@<ImFi#OR0QA!NfVGK&tuJLK#!gMMtEz zlJ$8#<j1PSII?v3g<KwsHR!QZ8hX|>@&?Z(XCyfh8`Xc3Dvrop_V8kcd7||7catyU zeT)mg*zW^I@(X0{3ThRAEhO;_3-kE9LPL<%2b@8q&(E-R5R#0k57s$+^GT}{_?4aw zRlrw$B37JdWs-4Wtc@i<$#^K}aj|e&wjv&wBId>+N>+}*jc~92w9CNYVP>>A^_wID zGk9(f&DOg$>>1ym@C2NS*XLK=llOTv-R2QLE?3q^yhFN*d0@j4Y-xZ;<a&zwmMZNF zv8Em{U5>B~`$9%5n6319O?;48tT}uHLnHy0s4(Os3k~@oG$bX|**sa44TG*Ae74d7 z?t^w|^Z-7)EEI5QLW-mq%+rS|SyNSmEfle=B=YLsPyM98^4jgcI(C;9df^V@O_fK& zPnESm!7<%Jh3&whQf0U`>WUsbQZ(Y)!F{p#*{3X-M%Y4?uo8Iqz#)>zddoxWjlBo_ zDD5)s{#SZCUVByOt!fQJ#UT{*3aphi?~OM=X_)nhz05TqTE#w{T`Cq4dxd+2MGIKX z`kA&fjxgP3pA3cEZ(G;DNPg{Cm2|<39XwC`0Z}POf^kAlNzK6UkiVzT_yhy0rU%{l zuo3d6w=02U)URU)r(LI}zpuFLeXtpfQ|NVH6K1-TRu=-|UWPy6?Vw$krK+smmMiS8 z<ZQM(T!X<10Q_7dYh2nOJ|jI_#4|5uiFPHcJS?zy#LQD~<k^DWm<{8CXT@3Q^jhA$ z+m0F~@9uxe?t@%v#97hk8Ev387o>I_NSxBhdVM*=<?kFXYS?;)NiA2=>WF>m!UJdN z-m=THzczQ)knA?Yj>d6kV$>cQ57(C~4-Wbvo2~05`WeJg6T&{>&aNYl)E;I<9!F}& zieD_6it==o)t|xX-r8&gpFQL<3610;+()HuI)UhW?{XK*5$c2ajN8Q}n!$MZw(Pl; z(lZ)zB?W@X-4{XxMpkC!*$@7nl<?L#_9!DQ!;L%bUuomxh|bukn&_Z`+t0dKD$%eW zzt3)qM>Za!-uVTh`rdm!QVbK_CRgIY82Li0T38L{ZJIqBTDm`A|MB-x;@UT^2jbDI z%wa30URl|b^ttK|nmW|@u$@R7tMSO8r@d@5$Knc!q$9AUKZDt*WNl&ydr|cEKm>A@ z!oHo4f}V$kU-|UD7B<jA)vZjk2wB@be9J}7LPuDpxT&(0XMWz9$lzkQmK%@ro-HP( zR-}5vE!eE^il^BI3;*_zke`<r*`UDkY<F^ea3B%GN_Hm}?jC0SbU{9-(kfcfUC)4m z4V+&b0ff`S^2TjGv9=iOe8!jMr(mNv=U5b1M9_y{#v_jJBO9WjOxEu)?Lh>^-jLxe ztUp?fM|>pNPP|4`9R^lVzy8Tssg5OvaXUa0e;6MOIFvM!PnL3V`QWic(*9cs)A4Nt zx)JrvSljRMJDsqkrXx7o$YE0tC5e&510WpWLREY0@u%ijy;8v@QkxmCYIMAFuXq2k zXp+rOgn$Wt9eL<E9=8C|$Jipv{&|Jhnoff;kY$KETgkC@^zgp*`PoXbIFbX{%(8(V zQniCq?NV*-wb|!qK>vg6GwgbsQg-ZsCHMV+7om(52CzgFb`Yd{Wa*}{@|jG~F(}d5 zh(dn~A&C>6*Z+y=<>LBK+Qw}|*&p<J3K8GQ$>kXhpA;j9Fe&8^5-~RP?2qJs-EH4B zN6tr0uEt#Io&cm5AHoT^`9;<);VtZ|<sIBw*zA?K(-xZOE{xxqF5Y$qvuW6)f9!-r z&1}!6{xWRpDx=^MThuRLV<H;`g*2jb0&{*WA>}wApGfnGYvF->Iaz|+j#dRWe}>V$ zzSuBh%JK<Nz?w|6lG9?5Q-)pGF&LKpL{+KL;ZQ5ts3a1qFOi8RgZ_ZwAW9|PTr9-x zvBN{5*nzTwk2o1^FW3}&Xv~Fv^t5xztF@1pkSiFZo(#mhcF}M+Y`$PH=2691)SXDT zI_2Wk<en2QZB+A`*{R`B-kBQQ+=otvl-qe=Eaa=yLsG0A3Bryt|MJ7AzTJVWY_$uN z2cQbVK#&%@?U8;lFLN1!#AD)}Ua6kDfel48|ImYXUpjqiWqD$3xK=8lu>#6ymD(IK zZ!uJdxL)zV2DD(3(icKpxB)I@u>s$7!i}nBC>cg=SzX*`#Yni#50D-awiO{U1*Z2p z0^lOPSSkwqnfeaY$}7Wn4WP3G3+Zl1<*`E|RT*9|XfTW(GiN%Vj28VN&0MIqZMLyo zBDgr%!5HYpPQ4H$`f|mj4jXyUz^YDwPOP5<h{)bImNLmwq8+wLXU@?ZfY;vQ377Nq z1=aLrQRPd<4lJKSlTR=^u$)XM+YX~Lez`u5F2~<GI+U!M@>tF{(?y=#gnoY#`aOnE zB;F8Cd}?_LgRA`(_ZTSd0!qSRJ_Vb6z#r;nPR-BCakso2>|F+ua_ne0P!5OEDmpW) zI3BcCFpj~<&btJWn=t5z=`lFfVGR{reA_d08Yw=k0XLsq;<KCq77GH+Ciz{_kF_&c zcc{emGgI^E=RWgeQb@!H?*ZmPBPVRF{u!(-5C7WZQUd*Hifo)zYX?Flml#fr?-Oa{ zT%{Ivj-jOS2{cP+PUl4Q0kt}`;gruV?$>U!=e-!RU{~nL6VB)Kki+S_a7`gsJ=Ji? zzV&BY??cfmF?8G+u7ne4g7D2P9j}DhJ~_&=J@Iph2S-5D<?aF$jjhSUW&x@Le}cOc zmCFDWfW7dNiI?}tU^LCjSNW%7?49k7b?^jDP^D5fSt<ls1=V^MusFhO;V#<k3JJG& zo@V9VPA_IO*vC3E@^SwIx^m%0_s$(KyLWZ5CZ^y<7av(X5sVC`2Igh|VBNc&50bmd zB_&-+Z+(1Va9}tU2#YU%k2bwxIi1bbR~(}0cO(6i$hr}81%n5l^c$`4FqE5a`jv2T z^~~*>9nFCK6p?C~c;TUunRFmO*a^b%EY8{-sf^oytZ764U%&$zuA)-UGR7(FbbH1s z4jYRo0-`MmA!)SR{{@{6z1ndW?J3Yl0bNDxGbIs_!Ep493C98b3<oS@(g<~&OOS0= zhJJ;!5aD9JIFPvm`;Xbo3Imh5|Azc>0qzNI8+*W5cQa!Kli(hX&l4<uj>>o9@gZ zf)ft$$21o{nPUD9%(1JI#-y3`W&xRr#FM4D!ww}BbQTUb*WD$3@!-bMCr&oZ!=>za z!CTbG9+t&YyP~$_wt;CMBuknS3fWU^gw<xDV`4bx$c*22-@v6tMknUc<%c(pHq4o9 zp&5F1MD;HqyVZtc_z-1b0Q2a-1$iA6>fM1XUInDp+F!?-Ao`d+!vhhI`Nm_Jc- zE6{7U)RA{#gCsrK+*aa#T?Q)8MU};(mgZ;t%EulS4VrFyVdEsR>M1mDd#zh;6kfZR zl$=expTJPlz*OU@)6^T0KdZm_98r=sSwi<sKyfV2`&^Dgv%`~UhtnJ(<Y&~r419yA zo+uhU!%PS9PkctW02{|Xl^vqVK9zmA)%2(FzYFx&FR*{sIWlmob4_;6`p0r3_U{5e zr~ESD8|%5)Q{W%FdQo@|e~bO2Ksjpo3>QIo!F)G=M8Ncq_4OHYmCn+yil304lMgFX z%170Pmef9`KWEGvKW`qg<?KoOKRbTedAmz+{jvK?o=3e2@8^9de81{{jsGtLp9_8> zbbpwHe>U>=s5|=g*kiG;#h*+ViKmm{<Ofn0Q{PJeZsv{I%ej5{`ltLtAyN3v(rD>> z<&Rb#sXjDt$Kdqf|E#^GUZ{U?=)$mb_`MCaalBb+{?f?$$X8mw*7mf2r2TK54~&x0 zi=+QC_MY*}6V8cuPM)69r#>=$Zu-AX|M~R4&fuNn9pQg7V_#W3<DC3If+_wTdyjwg zpWnmZJ^L?qt(2tCql-ZVlFB)O1K-DX5d0(S{AWSDC=80X3;%a(*B{%&b;sY`+0GBh z4+;rCOzCqj2_Zf^P6!Yn4T*ncAt@vzFq=Z_i+vE6#7P~8K&45Qwn?4WZJOF?)mjy{ zs#RNQ({m_NS-XviN^Li()ikx+f1A|5rfsSwwbLqP@;=|Yb8sMx4$X=E{l51;?|py1 zclO=+*{gK2eah>g?aV6|Ko?n$@-ep6EwUZ*B5PNEi~7%)*Kr<g*xgr&us!ncK@GMC zlh`X?WryUiu||c1zQXz(5%!>Rg|*5ru{PYW7M3r9uVOx|3vKcw_;%JV_ppB1gFwB2 z-E4n=>xq9TekPv+e~P*BiyvF$_wgKJJLP!sFY*rb*?{s!wqLr$8syi&?_*n(L!i$< z{t-|wYl3}D{yy~jB|E4j*<PiUY041mBU_XO7LhM8E*IJT@^7H)EITcKf$^VZ+tJ@C z<1!#*G)v1YAjdFX7v3Vi0J+c){o3SrSd%=!TG77Q)a!N76l;=RWggs-slvX^@YNRi zukg(Wkn>OQAK>{0p6{{U%7-R?So#DyeFHJTw~mm>W*p^@if!zq<2+&(aNIDXi-whl zfwLBh{5IbAGdT~+*wYr3{)|nwO0hNJPcrstJ^S0=OMOSrL{iMd_@_mM7kk)A<ij61 zW8ZrOc_Q7w_ZJxBraa0UdTzI+zk?EG*><c!glYxOftw9Du2??7E-TL}&neF<FDjRn zmy}nO*Od2_-zgs}|4=^vv{)<x&)EPzuUuB1DZ{<2ys8v{`^d!o8^BMBH;TU~KDYeJ z@=MD<UcR*a;_?g2&oBRI`I+UXm%p_<yF6WQ*!p0|yFDbF!XlOFVR~hiXQ<LL(FEM- z1*hdJDyyn-hPJk@e#3n@!PdBW%hqk~?YQNd9y=c3o+h=qrFCc9u6D2H^LGR~yLNZu zCJL+lUSG%2F;w2Ur@Zh#@PcVvu;Z~vob%x~S?$=caE+ggiEg)Oizm+T{PCEOTl8y{ zSQe5=b<*we2o@JCq=uK^p->{|6Otx);*3wo8c%U?eN;GFPcF4d)uBi-a_r%lNA<Y# zF)l_&V;<2TcXQE0Tu(gC3l>OEi8fT(B`yNg9w6lP(HMskd7aaqz6sQDYO5x0FL8Sl z?gY-Cx`pJ8$5p{bV@5pg6N<(oTsT^EDC7){#)MN13YQv$`f(v8e8PdBnpQnLRd7xQ zIki~A=~c*yNKz>69@K|;p64-kA>eF*S!1!ps9Qf4kEwCA_K(NV<R+tR$v)xKL`BHE zgeBB;jSEFJsKUi+P#5y#86hPhALm|u0vqO%lIudrHyvye5UAOoh!Z3cHkGW@mMXA6 zWhB_{S#friw%YmC)+mw}DuiHhf=BYIPJu8z#oXjg!QD`@q@_?=R6T5oSa*l+q8Yu= zdBwEyPU|UW)Zo&(Y9$i$xK&TQ-QyEAT0xd0BBh6YqE>?eoQw6L!(<m2H5eB)R62%I z4N5*yhhgeXmvDF>3AIISD8cgyE^6U4pQzV{Ct?LhDjaVXHHLb@CpKuqW3l0JtJ3X3 z{YJC?KCQs&LdRo;y1I~%^q{EoQj#KdgN60<QiB&EH6juUzRy>n%!RXpd4!k5wtG}` zEAeitow^|RsWlEu2BH680zq6AsyhU*fRl$RTpSXtZwa5q%xu`Gu>zAL6ERVz26;rR zLsC|&$hRO*K>SsF!=Kf%U@)I3+~@L&1+TjaZrTLfHhO)cK`Tf^8{uc7o3(;Mbc<GS z5Z$U3oJ6;21s74bR;VDlT`N=)y<aO-5#6P6?7MQ>C)!Qsai8#-Ox7oMXiU_2??J~0 zpyLjV&7mVv4|F8j1RaU0(2-~}bR^mW9f`I=N1{8SBhfbKNL15!uQ>&L8eCJK;332( zLGjc<g+}@2*M!e2e3(fcNa8_c+nQ5J)q7N0#{Me;spJ!ZmGDT7qNBawlo}#2EJGB8 z&T`M(-rS|}J*K|9fs-P)&uA<ZYpO@}tnm$V#SZtWJ%ui*0Ty+`eki<Vmjn`9@9~K} zntyYzPwc%L6iJu_d>=x>8e6!Z57Oj?D~Iy=L3I#|MGVV2mPO3yy^_?h3G#ce$~0nv z;NOIZs*u;n`&G_+^B8OY&1UYm#t;sS2^1Fzn(zH%u`4oHxciFSs%(n~X$`EzY6^Lf zs75jS5Y5$73G-g^T8q6LN~Bbwg!B}aAvvVG!6)LFySMhyp%NBmHLCZxRY-`!E)Y`+ z##=)O6rsh^fdv4*cOs#%wBMo$M%2-{#Z&^XIMUE6cT*NJ;sE)8L%Oro_JP_9*Bmsf zMI|OU=TUW#gi*A5O_z}Ywny1S%+GsqY$T2CN(^?><*pW#hS0Qf^tA$YdvYaIJ2KGG zCmysl2$e#Upu_X6CYD0kr>WdeUW;O3?v48kerXdX;GvajMDu1fK5CYuONCXK0ZsIH zOD(Gg4QgV)H;){mWXWS%-X<7f@e4oXhfH@-0+zf>$)#de_%TT=9m7~Ou!gT>YRTTa zr{dsRiE%I4M}DLArC057d&=VNiQ76x$QdQ4M#+8;d7f0X?N~8+5GFTRlM_dK%)^a- z(T%zIl{?fAVa=5`Z4`TeIjo6&Aj9Of2>i;UIINZYG@?;Dieb3*A#I7VFqk7?Bw~(g zOOjbL3dXD%BTNKM#|T5rIAMsHAPh0b2{QoZ1YwBzDq)C;5r&vJVM1U|5{8(E2}8^& z!Vq(sFi|j%5QdmX2}4YRFvRGD34)m<3^7T<5R)PdF@`1%tho6M6+|DZ&zjsJa8qVJ zp}HT1v?dO&pdX`xi9Tm?gq}7zg3f57cLkcEf(e~9IfBla96=w~#Dgo)EEP=XyvY$X zXL1Bx(5_VBmO1;)Q_w3a4WTrTUML-M@Y}L@GydK&yit+9i<Q}W`#o1+uHcmpx6Im! zyV_KVyY(wAUUO}6nS5pNt;*}lb-V$sLQ8e<E!K}ev!t+ap;>xr3~w`^iWQVpxX?<a zpI1JKTU+{{O5(j1AhcJ&)#l22>?_s&rd0f<aC`>`j&Q-53Y$l%JG^`y_iS~uZrmTt z<aedFi~qt|>IU$?!f&O%E4_oVkIFz<xSyfznsfv8eJi+YCeG{!WTS-p25o6$pcXIT z&aN?=m$7?0PH&kQg|*-sg~dB?x$)aJ@5C<nmu=ovR$n7^v7g%YwQQU8C!4P?8-D|S zarX=QWb3GcjGy4#qs2>Xll-#H<CrR6vw4LbmOr$42hM|RwRtDori5(XRaRdkr<Bun zeJ$&D{@Uj2%f{cpHaR~J&CXrSrq530cw2H8?+OI=`?><10UkEy(`Pe$Jef8!Nkij9 znWVq^R&ZxGfqVGyl%C-ONj+uETpZRXjM$?O>A9)k>~x9`<@D)vGCG^dMQ5{T4c_Gs z@B{oN$VVs(v}WZABRij-&G3Lf;P1XwzOAgbrnbDTcX4siKLbr3(=YfTy>Hi-vcT?m z4o2ygO;%^EdNG}w;>V16BYWORaWaY@(PxY@bNtoS6I1DVt8IMtOm0!n8XOgHf{~d= zuZ2v?$nxBj!N-S2_|Z8dV}VC3fW}J}clta1)?jvDuAkS_)B5DJ!A(VU9vv9tdhS5= zR4zAnprd0xnN82-=Kb^OY0|jkXmsSxEjRs+kNdN@-SHyJvNXQxImL2}W0UbD+XdQ% z+eHJoAmlT-PVgKX9T?cWoUj>`#(_+uCIf0<>lMz1Ox}-lzuU;2nAoL}d(d+j(sgsx z0gR^Ow3NYSpxH3^3Ggv|P46M_IpBiOdKw6lmqXn&v`DfjYBMMk%|b&1?OiwlOL`wL zCEPxeZ)L3Vk=ByAHu40dWKEBdYz|o@&kx(~X8&r>lJCB(Zz)2(IIT>7e)!1p$zz}w zP_}IELj?bSF<33}oE<5BRh-HtYmmK&m{6=ZF56Jfke|-um7-RP6vu5eIxL__t>tsd zqiRHd3S-T$>NgHM&tUvT^v|08ErgW`l#wKnWG#TFT*`tceMr_g@@53|C~}{$<r<Bc zxl|f~;&N+@JK<$|mTR_JE{9g<@k}E#bvB7tl6uo4x+!r0ha5uYke$`gEQh~2@E!P@ zhi_?4&Y^A|vS`jtuSB;4nnz*5z4R%~o$`Fgk=%R~zm5sB*26$0uAAUU(u^ZwE56gx zh6KZzdQ5sB)apReccSlZB>o<T{iJXOX+KOkh(vu5i5-EugSfIh#113SBbdlXV8SRI za16niz|Q+8aD_C6@0*>(vG)`<@5AME_A2f+!-XAeeOHOyEU;k?yCkibYNT4JPO6tS z;Af;a;v!Uo)X07)ZI-r3TiNr{Hpwk*H-GZx0f|c<sYy~L?0+t`N;|P3>n^FiVj+_b z1O@`mL49UMcTP+hIo&m)&rGItIhK}3)6Vhq*%`g!_#D>K*^Dwel~zXQ(@uSQZc2Ad z0_{9&_DmVmIlaQLV2&rypim>0_nhuX&w@Rt&&}zsX>07vf_x!eF*}n^W-)4ZYSx9L z?2O*&G>MYa7b+HPk#i84#1lp5?2K_%cbS8BI?&MRGHW_bGj>NybPtsy(P-GF5t~LS KZW7Lh*Zl{xmaf16 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Math-BoldItalic.woff b/katex/fonts/KaTeX_Math-BoldItalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..87d4f223eaad873324b3e0d42a9a0cf211929ed6 GIT binary patch literal 22324 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 S)VDhlcw(sl0RRF2{{RnpDA*?e literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Math-BoldItalic.woff2 b/katex/fonts/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..83b49962aa8353a7eb7cdea57fe843af4dc06f88 GIT binary patch literal 19720 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 bXssLhNj(c?!93G5;NEIzo9EzaliuzI?ubzb literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Math-Italic.ttf b/katex/fonts/KaTeX_Math-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9c38359cca652bf7fc7e7f9581df11e3267a375a GIT binary patch literal 40992 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 AJpcdz literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Math-Italic.woff b/katex/fonts/KaTeX_Math-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..959746ef56fb302f4f8381cd199acb54ab7db0ed GIT binary patch literal 22844 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 Ocw(sl0RRF2{{RmnPtGy` literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Math-Italic.woff2 b/katex/fonts/KaTeX_Math-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e3ea522a6a2da7b5bfcde8aa4cc4825593e3f857 GIT binary patch literal 20096 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_SansSerif-Bold.ttf b/katex/fonts/KaTeX_SansSerif-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ff108512453a58cdbfa2549249ee5f2562640f08 GIT binary patch literal 33688 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_SansSerif-Bold.woff b/katex/fonts/KaTeX_SansSerif-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..f0d6ea739b8405ce37eab96c71feb4b0091503f4 GIT binary patch literal 18516 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_SansSerif-Bold.woff2 b/katex/fonts/KaTeX_SansSerif-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4cf8f146967e1243ebfd1eab7ff9c596be939f2a GIT binary patch literal 15732 zcmV-)J&VG3Pew8T0RR9106la74gdfE0E83(06iH10RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_SansSerif-Italic.ttf b/katex/fonts/KaTeX_SansSerif-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3dd767131a57981bb2e065f4a34010ff3f3ad45f GIT binary patch literal 30960 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 W^w{Xw*!uc)w0<2USaW!<9se6ZpCuvy literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_SansSerif-Italic.woff b/katex/fonts/KaTeX_SansSerif-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..9da0dfe39632bb169458e6ed72c84803a6c058c1 GIT binary patch literal 17572 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 Z)y>TXO1na7HvshXLi7Lu00IC101r~0ithjb literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_SansSerif-Italic.woff2 b/katex/fonts/KaTeX_SansSerif-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ce19ae03d50fade531801d77634f35ed06f90681 GIT binary patch literal 15024 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 G0000sx++@$ literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_SansSerif-Regular.ttf b/katex/fonts/KaTeX_SansSerif-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f117cd619e99bf1d030446c40c725a1e79c57b71 GIT binary patch literal 29812 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�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 X9Hqzl2L}4G*Z%BvfN;&>#diKLsZO8M literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_SansSerif-Regular.woff b/katex/fonts/KaTeX_SansSerif-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..6ed98780a7a46c0c459d2f455fff7ee01954d3f4 GIT binary patch literal 16228 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%0AmJ9j#Q5RPd_e^lGxNtoUKL<R4&P{=H(Q<2H zi#&|%>~XB5B#oqTlN5~XRAg~f#0gY{39KB<JnV5i4Y?f56nrt9gd_=^xg03}CKo3s Y!6e!R&Da4C4}uRrdnusrZvevo2MbI9v;Y7A literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_SansSerif-Regular.woff2 b/katex/fonts/KaTeX_SansSerif-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..27611491a1fcae82b54021dcddf3de913573b065 GIT binary patch literal 13708 zcmV;7HFL^$Pew8T0RR9105yyN4gdfE0CeC005viI0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Script-Regular.ttf b/katex/fonts/KaTeX_Script-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e6f34542e296e006bd7f5b313ec59b1e42f12d8c GIT binary patch literal 24620 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Script-Regular.woff b/katex/fonts/KaTeX_Script-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..4a48e65f0de679fce0ca17c32f8b52bd3de33fca GIT binary patch literal 13428 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Script-Regular.woff2 b/katex/fonts/KaTeX_Script-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b0aed195ca3be06a66c66919dfd66564882bdd81 GIT binary patch literal 12064 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 zξ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 KZqM2T0002O@mFpD literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Size1-Regular.ttf b/katex/fonts/KaTeX_Size1-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..37faa0f9fe41ddb1c9a15725f8ad4856599193a1 GIT binary patch literal 12916 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Size1-Regular.woff b/katex/fonts/KaTeX_Size1-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..0832f7a468852ced3080993f4a826e8ef608befe GIT binary patch literal 6696 zcmY*;cQjmI)b{9Y2u2GTC5RrP1<||Fi7sI<%IKZw5hZ$$7NP}FLKvcj5xw``+Yr%1 z^!X;g_j~_%_gT-~=h^q1v!A=pUF)8`uCKPTG5`yJF?vn_**`Dn^*{Vy|Nok{KEEIU z@IVz4)xyA1!O8^7+8OGGiDhE=0RVta&!Aa^u=ep{1^{RRF)?BcfEWO5-RztJ0P<)6 z051*zAo(y&wRmg?^~B7jXU5zn{Qn@gbMm(Z0I(D>(>?$Ibd`rn(i-+Ks0{!>h5<nI zA3*kA`}UY1CNC$3Ghx7npNhR;@9gD=8JCOUm>hs19~z<(Cs%9CIMQ1TxBrJ2nWSK6 zs2?UT=@N!B|A#SPfD6<ahS7}Chm8aP@KLJ$YX~=2PcH!Ap$2BmBt}ziOZWG8ZXPhq zTpB7&?B9AJ8)K>xehUZ2cz%nJh8b}o`u@je-`K_9Tle}{y>K5h20E>0xDUQkb#dVr zQfR+u*%K7fzoE;>`p=4fJe(gn6Fhq(tt5Okiq7}kiL+%(<4$2~qj>dRHKtfPQ8&r$ zn>nJwrxuRlNqk-Ta_rST1TT+0?9bfVqg#e~j&AmgT)MD+kGdV<io6`1Oz>H^xJ5_r zO0aW`!)V~=9=+L>`_x(FlqBoRkRZ3CwP4pNF6fy6yL+W%Z}x`q)821*GdkGmfz>*$ z!VEr@#+)<s(_c^>Q_izlpJNs#^Q#Ns*^f?1kuOl?kN3Yun61ss{`v;l3HNpDvUMX9 zNub+~rdW#}D>Ib*phisM&VHHpMMZ-!LD%+F=$2>RDU<%He=k~WeDcxeaPIV-cx2}@ z*$q1PmR~zpCp$*c85O0YoOfFeCHZwF1vTkw$}xE5#%sz!+Vb%^mcnBA9sE?pX!=%T zp?E?m&8aeqtA2-d9DXs5wsz<E&>BOO7AorR0A`uEwBT=zibu$sR|6(Naeo(o-e|rX zpn}FVT2+l`->y~Zd=<$qobJ;7I{lO3up3gOS9Sduq5<9L%Gn4gY$93(aa_^~RTV@a z%ZO!Jq(6=WA*6glU{vEL<ya%}P}PT~8sO!E!4AO)u<{?{kz~0U-?%Tx5W%*PrG9BX zlU5C!%s$gJ!Jla`I7}RN2dInbuiNW-nT=KVNVrFTMnAs;k|qBDhO-&Ob@8s$wA>x% z<I}d5?<;z{A8eKU(x1z$6aRSYrJj_O>ISOrRNQo@`So+=2Rt%iWAtj(edsK<!p20@ zsEdA4*}&T?XPi>vyFjLu?9!gsTdY2<L*pqiY0j5V4z;N9iRVeo%RWjiQf8aLC>L3F zzG$dyO@15kYaihSaj6%Bq<)`hTbBPg!BQ4V<;zM3GRwW-MqV*lQ8->I^>0Fk1rj}k z`TGoWNVS%Wq-TwJfp16OGRY}Me6JI^Va8^R6(II-W6bwT1u2Zxr__-!DS-9yJwEpF zb>N7-J<5oAG*22t_vEwvG^CDeske?<!*u*qT#3S`X}rlnpE1|;1)Iu@%NVe2wEpnh z$i*9oBLS@HysNYHW!P046`Z0v)i2vHow{^CPsli!hlc&Uaf~K#+jpwrR$9_cdUpoD zy`(`FT@<YVQ0pXQbT-m#G7zcr5pe=++kH6MJ#Bxl(6vFo(h?U{f{Ut%3e0(&{_0ui zK`UP*D^q2SlA+I%nJA4<Hp~<CmW6-)FgkdWEn%X-S@~1vgLr2JFDjJ~vT^cgg{5j$ zAEQvBC5c8r#e!^rMBm?cO!#nyodjw(q`QbpAT47`q>_}2I~5tVFbT9o*AKj9_XJq4 zD)hwObA!VG@>dcjW}O0cKFh_2SzBsk=qnXfI?ol8f`o)_salyoD~^EGe|bD~5;ro+ zM+f?)CFfZGQk^G!8pSiEY}io1yWelkC*5)Ni0rCZf>`{co9fxy-z0;i1xDnQzzBP7 zfyk%WpN5@Xgytr@JtiZ+c2Xm^!8gZcC>e_?l*GlTxBjrGVw=opAK#_7LsFfZ{)qC$ z?U$S?BfP9i@KN)o<mq{34r+xZq4p>7YiH+#<TZ$K)05g^nyfm=&jHYv`j>^UXW<8A z7hWy{kSq(RcK#I1Uv;RdVA}#3J9+6pDHEjB`$&Vt6Og#OM7Sv9n&3I7Nn;onULUh~ zkKMRzUj8%QX-2zfG|GMV#A)Q5ZB?IHx2k^7C7s~|L6;keioY|q<37<X$8B%Tj$@{( z-<i-bXm8EzFMACI9Vz40k3=Q@oF-d@ZAM{5)tZ}IrT{j-Wbkb_KlUy6>*?pqqn5)3 ziso|6Nc^}OOMZYienQW;Z8SZWVua4^ak^3G)!7>jzu&*sc(1tfrSu-BQYVX3=h5it zPZ8463BG<9)5`r0^@P)H!zvU&9j>yc?wI!-D=ibbZly)@#`ku2-+~}}+AE5$eRpQ9 z<iXbRhY+}NTbpB3Nz_Ml#vi@b*ANeN$e>Isu)A|W-y$l)yI!|qnn{bm2Cy-Q3!p91 zH4o-iE;3~^bE%#eXoG6j<;JU05)1nUMvHbk4#<ARzT_d#Y40EEHJfcXbJT#h$GpF6 z_J8p-iNyglE0Vg?+zJV3FrciWU)+VKD^G){pEpu^>Ut<0X@L~42JcwQ*~-#(g?D;~ zi=ir2#{38K6RACAlFvR8TY%^hZR78ta6{gLtYGv@*Ei}5etsd3odH<5r18-PnSs57 zM}e_7WAEv3z6CF-BVM!iebL=--(BH<b)CO}XFaLrxo~jCMitXHD6jNj?MK_}h6X*_ z_zOOI<40J|qN_JNAmN<nJ}bq32)!vGdLD(V^!PEi$2V}gui661%BjU;!L3BPtdJgB zmwS@<<|zyA+CIpg1j{n-aujNM0z7NsG1_mDZZv#hLsL!rxwb#ig2C*5w5kNuUazCe zdyR%B%qk{IT0ecRL(3_0Z?X~je$7y9U=$_C3$cNB;#(L5{2kQI!M5kVJ>BgRnLhdz zEg@8B`a*9N2k^FNpCbye{XCAeER<K-xKamwMVHX#L-!uoRMl@T+9VU3_V$Tuenv=> zuL_e7HfyV^=<J>&cwjUQ<ZNdR2E=_toW#2;>oeR8&~|Ya1(`8!4a6X-&hHA72!mfi zVhx&%b#M4W8g{HlPa-(X@_(taMGW@_$!03G^$MN*&XdaYy6nchFT_8FhM3Oh;>xy? zyS(jn?mAH-a1O8s_LFs}%w6V&*CJ?DU5ayO%haBbJ|WssWC#!ewey$lsWrC0POzic zH3_-;l1!JKm)a#2FjBZ}+AJThLVCc2-!&`IFLt*Vl~0ylx-1IGE!ISghOm_BnWZDB zZbwU2TPYAO_?x+5c=GP{0|_U`p4e|S18S`rcaG_276+-4v$n9te`w$${g7PZ*c1w2 z2D7<99h^9u35i0)ua04c&qha66w<<Dqn6;IFY4OQv1E^yJ+=%*{9wnXGcs;?l6M}S ztJyeNQ%at;$KPCDTjv_Nz?60u-B<U4k+#F-u~95S<MOnK@2)decM@1}c|Te}?N=S# zB;y)Hg$u|7+6<c5*hM_GxB1i8TWc`n;4o`rmY?Ntu)a?JpSm>!k|%vJ!ATo#>T#32 zNR=7kJp?~$YK{4wx|P4|>3{ZMWqiS{34zeZww)^tDDAok)*)_G+YJiFOPFioiV%}& zLi|y8cS_Jlo9_`I&31z>gJW@PASr9|wGI1g(cWMSh_|8V8FJn&k#oG?zU-1nej|aQ z=V9%R*f9PQU9WzrcE0?gjUTF9-?vcyLL72jzLwe=1aSxAohBKwkotF%e}5r<sOfB8 z1ZHBS>s4cJIAvqx_zv2PT*9{b49;e*Bin@>*RD;%kN4KBW7av7!mw5ZQxv<5BsI^z z+g)bES-(d5nixHd!&z@#EZ_AWFlmWHI6`sYJSP2=JcEwOT?$qj2srDKn~l*+@Zj?0 zz#C+!`TF`<)KQb0<vm4&dG#@2Ad(=DoGYN@rgZ|VCUNCJ4(I3ac+UMIOs+7O@ez+J z@21)5CpJcp`NNj|?(UWmnbxFH&*+w?Paoxm__?jgNbiUKZoh{vC?5pVzRtFJb8X@a z1U`r(LwT~Yrm*=sFeJk#-c<8TI1UX9{{n6PoEPhBHz{T^bXrMsYE9x_n6KfSGZ|k# zE676lms;?g?#mvh6eXSlT)t1}z`kR(svHKWAIsJ>%rG`Htq>z|wpD)Y%@PIujFro2 zIlU4zS5QQuESh#okD?g1%o2wW$Je;C6y}dEO%T=-^bR>*#%0Ux)<3TYTq_J+MlG$t zuXtsPOgOm@cI9h(I-gseR-An3zIX~XrVFkjuuLU9Rcfg!5wgpuERwq(nwZGydjjfM zdY2f#W#{oRfamfs%iGK^e;<_kem~K)eT3&p--U#xtOG*^KlRv7GK2q<B|qFBrQv`B z$tD)Rg^2||yZZPig-yDtH5D`9t<{^w9Py4-#7ej0Fx-)(mOF6I(2Q&t)opS3a($xt z_`ubKZWQK{Or0(+l^w{V{${}m6wOo@h&^mFd;=b|9ot11X*)I#sha1!){OsAJYx8j z#Zb~ES)?Ls#o*|st2#B42=>`VeBZcCExMu3r!q+GadS(cx1JnZHVp_gOsFhqf+sV@ zQSp>j8%8rZ!8=Fk6h_-gVj|O?M_yrgAFk_gV&~iW`IkZCKw|gIQR5Lo$|c`vgI<sl z)5#$kP$Vwfi78ny6^amG0)U6{n8F4Fa)2-9%1nZ(t^P9_!2dK!01OZX$N~HSOkhE< z+A-}nHXpVrb`JJ8>_r@091WaQoH1N7TnF4d+-^K#JWqUS0yv=np*>+a;W?2Ukv<WO z$d~9nQ5I1*(Fw5y@eGM0$pMfVC=65u8vdsPqoo<S2D5k|c@7}K+5MM&?pqeo|N6V3 z`$9ZA96byt{7)&S<F{Ziz(Uw5OBHo;)W%m;$7{^*F!vCV`7{SFRxMz(GrPuy|00j9 z!czN!jX+_Ql!Gq#mWe5`3n+`7B>UJ-Xqr0SJbJatdsvz^tog4x82gU&IzacmeeW|K zZkli&O+&5Y?$mHxQ}6oI8tKO1!iR_3`Adc6z0+E)2Q%+H!kO;w!8X6waFlPjKz<9> zmNu4_WY>++EHNcVM_FiCC8aFIOG_XiFBabeqt)8d3J%Tf=oskenCh;N3JWVBkQb7+ z6tJ<elEo$k0*~<MR$3!Ya3;+4=^oKht)T4;FI|!3-H*EHN;^8nn0kS;g&iG)0LtzM zr~jVa+S1Z8(&{0;GCs2<71k*oGLR;cNp>Md4y!K(J0%-<4Xg!D0}()y%!FslP+LQC z{oFD!las;?7`q%h7dwpIfL*HO=fKhc?UV)lnM198Z5tYmmchZ%`HGLJ_EKIyVQah9 zX<L90q=|>Vv9Ny@dVY@w557f@p!d<Uw@2vJzcQ$=Hx@<ht$#yS9b0GJMz8WFr7l{~ zN5Snk2Zy~aM82>?#U;1a&q12|*`Gt7jS)}*ltq~%YqLUeLCx4YNpb)Zo=huNq@NF& zR_m!baLMMyEBQD%{GN<=I+ASmsO|7tz)Y`N%zt}bX|SEW*+<3~l?|l}l*`NhbC8oJ zHRROWe=HoF?>O#q-PU>o45k+!L|=?w^r?CN^-y?OqNk>!q8E|QVpyT(^#1i-@n>2K zck8RRcdpHnu9JKNMxbipx_p)CGE<9L$7)pVx5~%Mdps&i4!d>MnG<~ZJdvW&Atq}J zO96NOc9Jo(n<ali+5s+k<ovvBj53I)C$CJF5g9RIx(&!P9a7&eqwQO6-gRD<&_1D! zlL)qm$So&x!$z3*3vYeLszI$q(_uKveEkgS3(IA>h!Eh53JKAycONMj`v;8UyvbJB zZCqK`f<#RVAGw`sK>yVfu`S1>t0f*tYqYOfjL0k|acQstIlEtbi6fI^iyK&P%%4kA zB5uA2e)=3%MJ7@^0qsdg@cGP8<nQz4s{o1m-rL`mW}C8}bZG1IJaH(+6^CE5g1BRT zW;7~XWX@~f`|aV03IFL6D-oN0=nTx#tFGza!rl^vREv7gJbafawj*KD!xv$u@+w;x zCV%(-1fJ_xec?2C=08A{4jE!F=|wr<C_K)Kdp+RI>t*i`@ll`Cgrd%XOG6oH<aEX= z=6MNv1Ns{dNjqni{)iMRM0`TqkbcfJL%w#VQEY$3cG$%ECmDlZ+S&5MiWO?lgg~{a z5t5S`Pn7l}yNd%g*26#6WheE@>k<0*i4J*k|7?(qcU*MzbxYv6<QJjI`V-ntaB!~& z*6)xn*Qa+<s$~2N?&Wgy9w?JH*hqh8=cW2gdpD^U=}NB`bG$k_A^|szfacL~FgV|T zJ9v$)S(?09-Y{yXu^uf+lBbj>q-3z=uRo>uT0rU5mXf}(V)JJ@iYtEoxR~2Ut{%nv zRh^EJDCx$5?o#Q-!EQTgbT4Nf9E}%;#_K_MJjW_heL$!58e2J;9^>$plQk`=#0laa zqcK2*=@vixQ{yDE%KY02lH4Pj;vxGjIhX`^<9zW<%?PNQm{9(1<Ph%P6FiAswRJZA z@l?$23Q|$_!fs>h3m>S}P|)-DiMK){r1iNasw*novXlJQzD?rhV@m#rbx`B?!(2J# z=gBhX3CKb2fy3*-L0lB$b>PikjrsR8&|m^~UAr7Aoy7Evk>F&M)biv*cE`Sau*M(f zUU5(QlOy_1ouO-Ah1YA#+Oi0;ccEk!e|-|U=q}f?$+~02()~l4GXu>ExSLiDcfQa% zbGokCD>gl?@}`}Pf-}mhTUsB_85Mddc!~^&(oi}H((b=p`4sLes7WYQ+EP}a{O;-L zTh5|lub1R}y24s|s?|jWzoJ?@i)^NN<<>l*#{&mF^8H671h|?(E`4FagmA`a`lesx zcCVIGE%mCR3i&~Ff?o_%LK)$s5w>PTb}ebov*+68ZVp~>PU(UrE8{XmgM}5zoj*KD z|B4Fda`|vtJ5ELD_)2o<fwK<ohy!pf6@1?L`h4<kMrA=#D6lc8cyjEx%_pH_f>$<R z4j)D&7V1zx3AOYs#S<}=8uN`hl<*TijzmWo{=U;+<~Xiv2`xE!_q)8&E{e{Y#rg%h zdh2M91?&3oJ}p4?YRFRT2C{Sfvg7%)*wMuCc7X^Ft^5r$<96Xdf{pYVnsB3EJF+K^ ziRYn@<N&xj!aY)Y8Yt}Awgz#>8{=>i7qsq)_cYVw>hE^97ug{L(R0^%x{B0M%ug=X zv7&j%<lgQmBo||G(I<VzdYDbCl!3oxFPn!?WxqnDM6Xkb1*6v~xO(~0K{g(L%0V`K z$6&k|i;sTnGgf3~<GRD4KxX2X>Ix2nM4_L@l?oO^Ej5e+-_OaL&Iz0LjE8OnJ_>x_ zqiWg%Htm@YMG3sZFv_Mq;-)>*+`-hMHPqhuLaV^gX2s>x%g;-{u_&B0EivDo;}xXa zV@@kpR%?qb{GN}GfRBLvcnlBcazzCN?B(pqsNQhk;NWlw#%3X5Ma0%BmR<N!3DNOG zTu&LMWm{i8A_d0rl7ahKD45xkWowedR2&I5(KDpHZ46nV&BprXfJ{|32237V%%KGM z?|k65pfQ99lZTSyu3a6F`97${XYOGM5vMRDrvAj@LajsWowOP5^rwn6H2PR}&45Oh zL<~AkiMF30=BjsyXTGivW6-}ovOA;^uXK1oxuJLye0nz;h*xj`*xAq^QQS((IPSx# z8cR|!W##!=FDDP%ZO?BqyLg#=!R%^Sf5fqh?)$o8T2weQmBsuf?~G@sR^A+RQjo5f z^p&virK$R!*?hHropT&ZOLjy1eNOf3XC)qO9|ph8|Lo85w6!zZR)NuGl?qK3x}=!b zx2R>0iM(jxw72D@jkKnxR#sZ=b~sWG)Y{ab6&83iGMHHV1Jzrab+`2=fp*{A=%>MY zR0SM4Wk7VkCp*5P7W|3vyN8c~P9f#=iwW4Rb&i*h$t=PYp5OM%m%ZPpD%EtA`Ug=- z<4}WG0(@Vn*}8W+67|QMrFmRkx-}-I@Mfs_V08Xh_iVEj<>SUk5)RnD)d=-foP%ig zSpAk2Po5Lrv%6-GFI}2L7l`8L3p>~1cElg;>B(HwZi3VNEiPVw?YPa}l;#e%n;vRJ zrEZ2CGZ}K8gb~w_*c>zGB0sU)(Y~)FsmFo9K-EY$IkQlKaEhU~@qyM*Wh@@Wc5kim z#TWS`&uQYxs&VM#JOwiJWM~5UFDbNB>`u7Ey1~Zgvwa2ZP)-xPKrx<mahtL+cP6i{ zqGc~}-E%<3*KpD-wujumSC~cwrGv7OC`xZ*Vs(4JlaTZ?Fx(f#Q-8lcmGj>9MY{Bq zaEi5JVSNEVF~}3D#Za^BfR=y9U|+sd^tG^yi&7fYBf@R>_BHPGI=Bm3+P5tXb#eL7 zKqL9!ib`TbN2*hCglpiFlvkecBdf8$Mr1+#E?zT3?DkGJX6qt(+dNB14KLM4YoeBk z(vR2MD)rn{GQx?D3_D2-S)^9Ao5IVdwC_Lfgdm!X=l?syI3eY*uyg@{@vL?X4<*bk zAoSA3Huo+Bx~=>rylqPydS3@%BTp`sji+`L{Vhi4cPuOjok(*KvTe%T99nM0bD`lg zX|S5k_GS=uo^P<8%?lzR1B?4?OwE_tHi=p?$3OuK5mC=@TQ<czhs5qVc&3F^4@S>r z)AaS!nvZ_^x0x(I9rUBva1S^MTnWw(c;58mu39Q512r0S%(N*b@~)pMg4MW_c*a&O xsX%t0M{^yxQzO6w(fY+zZ?1*=koZxjd%a6G@l4H$qMI4!R|ggV3ylUm_<v^`dO!dG literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Size1-Regular.woff2 b/katex/fonts/KaTeX_Size1-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..483e7b66e0f49b65dcc2110d44886220bb2c3e51 GIT binary patch literal 5592 zcmV;}6({O<Pew8T0RR9102SB(4gdfE05YHe02P4%0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Size2-Regular.ttf b/katex/fonts/KaTeX_Size2-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..cf326236c0e940c533606031140a116d7ab707ec GIT binary patch literal 12172 zcmdT~349z^d4F$ac4qHGdr4YZJFAgavUYYQ?V*)z#j><I;wzRc+mW1W*OF|@mL(y{ zmea(<1QI}ygm46CxSK#r10C5h1R8$u1KNaMloBA}G?dnaLJ3!!!@KJL&8`&5aSlRT ze(Y-IeeZkUd*AuKcdQ5{gxJYx!jtT-!KQf6foncXNcq#iW=D?YrWd~De*+;ELxj+8 zkDQp3fybwQ2VT~L(}#|I!}Fb|2ni$!vAp|GZgv`YCm~JfLyU(eZanzO&wZW2KO@BV z*281DQP1GqlZ5!uhqN9B!gMpe75pAUz4q|2xs#{9!ilIip#H$b)JSgpYg0FY{ynG< z9m}1ZCXZSVqJ9!}c`|owY}?=c_*0Mv@`)Fwr)K9qJH5Y-kk}T;+ciBiHvOZ2zH%cW z;eP=AErcU+l#g;=Xe$xpIZ>d5YmOvb30Hl>rNr+UjmJ4}{y*Y$kx=qrex7R)UQ4Qo zc-G3%<_PsjN;q5}P9@W2>4eYgkwi)4MX$$S=J#<eV%5R-tWPHQe7#DvRm-0U8I9q8 zx8+as;?>XH^VjEp@Hv_|C-Q<l)bP{79XpSo*jd>9v>jp+B|lF;1U}W^V`F^W$<{=| z=kqfToTSu*Q?2P%cWWwH&((vyVzk*xoNRW9TK_$4G=@GQS6hV{qriCm@cW-D{Np*n zNbOJ4PwqT%d?%g#>3Uh`)drn@1ztAr5((o4ZAiM6X+tFODj#<T&%1p2S)K=_&mw+{ zH*-GoGYz~MlAed8kD#}N-c;}HN_Z7K=Px`6Ye`b#nHv(IOP9FVL1&`6<&>KGFsTo> zCgOe{;eO?Jg261M4vSUfxjXWAm74|e+Xjon%s;apBRKQ(<iAUtcs7DN1qb1AUbyg} zus!kgGYRp-pqmFL1$4W>sZQqvdod%0n>f5tCSkjDYX_HPMr03^P58YYxK0usoX3lT zJ(A@2`919M`tios=j9a9X0x6R3Y1dLAk~bU1;IRCBN;eK1?s&vvdL(%i@Y%$>~jFc zQ~%L~Xtv&44Ulq<zF^qM=TC`3$DFJ2tG}|8JN71csocmX_BtvozpUMGubrnmH&pmI z(QY&F4u8DQ{L99UJMEMXbye`ZxcLO7_B%TopR)AD{SMw>Tcz<fXk5D-EifwkA`(lI z7uADidW=dU3!>y^F5L?C%k+0T&CFBJ;+ef-{Jg<ovu%zIxD8ZFMN%f7H_4S(Td2W3 z5Zi3C*+oIH3dw#m<)}3lS>I$a%|zWMW*TblPohl_jyMbkUogGZ_tcY8cREro7_2sf z;P7<rm!5pew>2H~8AQ9u#0#8%AYr9X*y5eRYPTS?^i|2O#((;ilo;@H0&l{sSbC02 z@jv4Q;)9+>0TIB*A-v%ChzgUpzD5$^vzoAhKK^VS{f)uG1%tP2_$~kI4Yve?oQ1pQ z%00F}r@Ue^);Ka5M~%^>z<Pum;V*FiNt!UK-^C&`5oa^a?@Pp4Xtbu&KEEGB7o!N1 z4SaM?V95w*v#X(}UcI*28osLkie_HqINo5az50zin_8+;*Eg+2_qTU)Ket#NA(30> zEoV_-G&##6QJdsmi)!$A3BBm%Qbbs-Grhdd7u~;u(ipd#8(CWVeYDPB`G2Q1X)A0N z{)Yb)se?~s=4t9nB)p*%Jd$>WT<%ph7Ojes3VGocp~ii?x!^RPs^kk6x&m7&D#B^A zaEJNzzQR}bwzlpt37^j2m%qOVj#O1!9IdT;Sl(UcTMxcvm-1cBiH8)c>pJJ>W*O%q zH~JK~QTp3ewPoJR3?agO!b7XLrwf}66VQ4SxHsq-t~C_$S95-Zckx>n@)N&LqMn4z zA`jmLBHkeD3lIxcQlErav_9F+bNjjd8*Q?KZ;)V{hUtH3DSWN)T_gP}(o+7ZuhYM% zdGoe+40=5ceEY`y$MPRV+$uG<cTzL$x_d+6zbOA8_r~Ck8iRd3xOUrkYRSJ*<b?c3 zDJPZH9tcFm`|hP2Cvif3!+W>VCXNn2auq%1K-7|{{0aUda&Q2e=xYj%``KcmC{Tol z$YC~f((X#6AO1-fm;X_j<g#*x)Q25qvZ<`1p*H!?dkP=6io$ElglBf7C4=W-PA&7+ z8_TL&8r$<RD)C{uRKr%F^u>?xnxUU;2CtNdtqUHBO<tdFpECDm9_c-fBwoyT$Z;%U z^f`=q%t0D_kqqmx#KwIeOL2m`(q>Pjsv`Su_xWRqU?`Z_%&)8R%PF2W^NunDCx=1} z)fL&(vae2!Zi#kq)d9bp4@B%d@1eHDv$sCYm2nk&cHcJOEAMJq7m~{(c7Zo?W@@@- z|KGp;-u!p+g<CSy8#}t2t3opNAke|^1zm?z*n`Xsraah#{9bw({xC-1od5s!gK=M- z-Faqr>EV*yA13BcpM5*CJ^zQa{U4v>=*2%CpZ|WbqUV_ba*&)rtW1p`*mq_1C9&d0 zZoydqnK*$1fu5pYH23hxQfxCON(%P$tCJALwv1&c;Mn%fk9|mMU9w)3?3~0lB^dYl zJQZu+Sr?1R$1-NqzQ$;xKEWF=o3EO8gk!PbB*=D0qluNYMU7IWn={m^u}-Tfdam+O zj<2AxTTB%UFIdYn*V(vLx$R$QQ+QKmaG<wki>T7mZ+cf((nMdF<nAhbKfJMbU@+6t zDXN8g?tNExG1>7C1W#XM@cH`V{w@Bi6E?f+4UyZgti7xH)@ux+^Wc?EmeH~L2eA&a z)x%RfWg$V=hbdb@*se9*%FZY3*x>gG!75L+T_{Wxj`Fr@&pPa=zQkFBRd$a44Mz)8 z?&^Rj-1Xd)5LoAt1e3uhRFw12{+q<J_5KB%*f|U1qJ=F6%sV<y{h*Q#c!M^PzMa0C zI@WorC|B6T*{aq#xWW}Y<=@~AR$8AsA-t2TtaeMh^z6U!<(0g_Yvxz@oFg%4<Y1>H z>@ne3w$1dpop3akpRmhWAJ!KpxZSma)T4+q`jXbWr?=(o2JEf*s+s^c+2$YLx3zcj zEk+zX0yS0GNYe7Ro#xL`=ic-OhSv=iP8T)^F2Bzu(1+>g&3AvJvf;sLbD^`)Ex3Gs zU>~86TD~+tUbI7pZt-TwS3E(qGX2rn2?<Lf=W-(Qbfg}w%oh-tZA`+vvyBUsxvGj% zZR<U@S}IHZ_IDheSA+ZBzcK5D{QO-Q)Fl+U3!TeS(a+O|nN&_gVMC$KvVX^2TN4KB zV8@X+t{bGM=_5==cG6tJp27ebOD9ci`dsH}@Mpzyrpl;rN~BFCDwu?w5<@P<<)p!c zenu2=t#H|~aN_r#Pv}EEqp}n03rE78Kqz%FQTSp0<KkmDZnBZ4aoV(iUnQjSir|+{ zx#2QqJ;}?n^N8E+_35VKr_a1EAezipJ3ZTQgU@&NEOnS2mcaXdW2b*b=XxwAhgmA@ zI`HGx*22z0zhrTEdgvT@?1N71gzg6qtA56=34@J0$#JFQGkEZD%Cy-@&z?PVmZNry zQ=*?fcka_v%FjE^64mHgN*|yPN@kah7WxX??S*ZHK58Sl_h>707(U6LBkM>z*@n#4 z(-8~0C^8#`8Z1nUd5Wbdc)Yfl;nJ-JJy;o*9Wp_*d|tw}1O%g)N;oj<+phXB_rB`b zCd=!OeD~P4@RoPJ|IylM<!s@}9jLtPgY;@kqRF>-`^}rGcU}3L50<T~E}P69{6M36 z|7+(97g7zii9~&<$;cu7QhWT+x8HgH-1KK}dVQtAQ2y0>ij~`Xso<YEdf&C#58iR} zpV>Li9BumOk*V2_QP+;X{JDk%7q4%K*RQh@#Lx5kt|uEvAK6PBTdX^_ZrT`&2CH4v z@N$Z~T?&+jy}h0g4J-Aokeo_|!}x>NsCd25TR%e5WGLif%K-k;tuJMRr#Lly=3>x5 z-SqA<K}6xE)OPd8>k1bNKQH{8!K1f5z}?9z;?e71oeHbrr3{jP2Ujnc8VXN;zS>GT zOzQj-*sUA+Q%`Ka;kiRx{c>g0#nrJkvkHTC^i{91PZQ}N{bZEc=lVT;oma#g5g0FP z9|T5mf9=KEl};yF=4OZUVxS;ST46QJ48j&R+`xc<_l3j$8shcn(Wawc(p)TL+*aeq zZd-r#(Jy}Si|cPK{IF2CRcw&G>MnC-xo|6AWuikzzDT(evf`Nd$fE{YIF)qX`0ldy zvU_fFCSJ;Xy|8$;N*KcEUlOXW&3}dpuWL^xre;5Ihr3pJ9e2u#rozQ#T;$>p#IHOm z7H+0o*t`?*XWwZK<7xpb%yMQO#m;_bqLyPj``<OY(ozSnmrY20UBW`BDEgh1o`zE? zrAE&(DR#S+NTia#Lq?`w7Ao}YJwCxZ{Q+B0N_fYq!BMpi>&>_~Aq8y#T+dC6zlzjd z_z=tX=u7#4D`=DGk$qLB%1Tq!z9Uq!1ziE2j!&>my1W**zF-Z)S-Z6Kc&j*Hl^}XN zUUokhstebr+PQGM(3(u9+Dba`wQN0P3#1e@6jFuOYOIhY!Sf6Gw{XX~6Ig3}E{~`0 zx|65wzWwe~C$H=Cc!Cn8mcUvh^B_J{#T+Q!4;za2!!4<VH-Trg_<7}Y>~5W4G&Wvo z9b;o*7-j=PBII+Jf$YOLJIOrWvgO?jfse2B-9}E650bOwG4d0dqu-$4;0U*iyNUZd zUgUfDkMrk+E}<ZL#IJ}2DK6bAJtkd{o;6yHLF0h&b;f5*Z#FlXzie?@YAtP+UY##^ z-_rf--`?P8|1GibKVi%sKl5H(yA{ie?$SvKclbq{py65l?wrt_I!w5|<Uu?NA0ch@ zadIAI8l{uFm&~&V^o0M((sRYpFS-f2SS}Pu8+#1*ku>mAoJ!I{J4uUeB(1|&qrU3l zoa8(n=Sn$3rnwQa&u{@_l%8dJc#V0ESzEWQq5tAX$bPZyqPuXj^sufq8dg3L!tovS zZOr=I0{1ZRZ!MPeJZYhN94ynGCgc}R^0S{W*ZU9ljFK%x{>2h6FSU{VhJOBfnUK4# z$0oD%k#&Bo&Yr3g_s39UUaukoc?e}AkpY?UUXT08>&Q*y6!{SMx7>GmzQ$EkSre=I zl47ZUvXN^P8pU5MEiIvsOd3FY%_>^1#sS($%@-77{ZAT+PMZhuzb<`u>03(=EZwzq z=h8&JFCWj_zR!K{+3)@Id&A%JKEC0b$~SAi8FEHSvSH{~@}c-`hN-|lx|P;giXn?C zvv#2v+34|#Kax?8!55`B6U&RXy<CIaMZC*2o+5z#!7KjQ@bk&?M<c4Nk-bAb!?L{n zAz~lcu8D*DhqPosYZ%TRlo$36X<S|IGe%6GkrCxUAQaNbutqXU_Ze6ylkJLXRMq6{ z!KlWm@~EtRp<ffi`_D8`bEapcXZJNjAte-87?QRA{-KbzWjG*fZ47D~9+nr2M7dF| z0jN?<)|y#+Go$=M|BwtJ7ILy??jOnmBeOO$gIXEXnhj)!hlc|ijSLSf8tESz8y=2o zyejv|noyU6K!!~JkY-T2G*Rh-_`@2_Mm0fIAeTJ4XgJU%vz8)r_SQ(YXGG&0L%?U` z1$hBuFE$(Mpw_@pwm*>DJv^igqjk&R5Sju^sS@X?W>7UL6FGxaqnk!VRq0Y-Vx=pm zaR&}+bOii0Lt|8vRGA5B$&5TCkOLrrm|L>Lj3nEw3u#o(NEVXm>1qtE7~7<-HNLqx z3XMR73^dNlJqt>XIYPG-2{3DFasWauOR4d7O0K)e!tx^BwOaH-=M~jfce1jWQM%4p z%zV#KD4>Lf8$(gerY>?^k2ad?j%s!l3dpi%&1_?O0Z_VzH5;q#M$Lv=RC8b$r*0A% z78rrpnmv=17qYTuhtZ;%Q{BF2Xi*sL9<J4FW6H^>=2Ev03~e7QA_F1d-8#NZT_ldo z-l0W@Bcst=m*$ADAVuhQEn3;jhL=Wt@C0AiKeWgq7sl#ZfO{F+#*l(;%W$CB&blD> zS?e$~>4W@zSvYZxt6s!`i-fopm>AKt`3z3DdNjCIvPig|Jwuv9>5_Xi3xd)Nzh%4R zEZCoOIw^j??&?~|E|!TA?RX?m12cJ`n>!NKyy_xlr4M#yrC(j-Sy`?w3aqS97Y(ee zR2M~72Gm7~l~wAZk(KMzMH4I6t8z@E*G08P9e7Pti|D{iRI65rW{bQE8H13q8e_|l zk(D9H$jTbX$Vvq=va%L3va${`vN8-ASy>MmS=j&?S*faWyFLY?Doo?d${F}4%lw%` zsi`d9VyYI6Xi?0hCIoRGqV2L%Ny)V-ERDS+1wtvRHLtjb`n0CTMFaKr3?U6MC$y}# z%nO_2s+`j0O@NN}yl_S%QCwC$h9|xU^>p05S!r90Q!g}1LVpN+*)CZGcCIa|rPP?e zJ*u_794Ufu1mtPBg!t;@nB2!EFHE_0VWCgyL$Vk`T1Q&MjBcgW>jD2ZWEmeO2>x^u z&6J6ZEyNUAZePGy8=h~LW5qEv0b_zn*0OBAZy6Xm%gMYPILn3k%Hb}S1C7Y0;0KOM zFJ>RSxppdH-qT1i*>jofsG{+i+$hozm&pYHXNNI&FYS|qNJz{|Z>}w%fI~0zLZNfP zc$Z-UL0GaBkN{wN0|E-E{SrwqVh)|_bRqD@O2e|;^Slrd8<`Dca5scYHc;AOnoT-d zGh%|va<9_Im@#j)>n39glq^d248`Pjtc^_K5)y+wZ*s8?wXJAcS$&I+dSP&7m6B&5 zV^q7MBtd4`HCeViU#jA=D>ti(9Aj4NMPhCrjxENh2NSSk1r2XLkKVF^)~T1fuA%8v zwYJD|%bG#ERBc0K0WrjaWdYOj1&raAm=**7jBYL#fXmip!KGkU#4t&UGIk?rAcwC+ z>axBsABugK3yfD2eavnwzqBiDfzT>{hlWcs_Ap~C8?~3|A7YkgB9`=6QMnH)dyA73 zt3BqSJEkQu7q5H~{8r>#>Tzo+&}>t+G>YxaYCW*4+>2#x*-krD7LM9>n02RmhLCOm zR{@|5*rlGKI;J0hju~JyJ!sm^Xc#caXc(}E(J){yqv-^&kI^vTYDU9=Ax6W1VMdby zu%FQ|;2K85fNL2I1FmB<y#TIfGz_?b(J&y(Xc&-VG+h7=Fd7DoFd7DoG8zVqsoKUB zGaqCXZ8Ok^bf^Q+VLhIJ-h#@ws%=`KKEf(G^-&#S)Dt?yNRO#n`wHnKtLUUtI>bn) zb%>F^M%AuZA)R3rope@*80nl2G1BAeS(CsmZ=Sj$nsH3yYx_?wFF8>{uo-`JH#REt zPGsid_IrAfh+WuNG!{$an({MPLQFcQ1o5PMv6jAR0GrA;4K4Dc-HTyX`>gRap~99o zjbLX566~Fa7m2m;A-Z&%CftD~qI=OW+O4lgt6n~8XXhdPGk|vyrZ~e4lwc13Np)=r z=7~Z^O0YoO<n|J5!2fE!w*-r;@HUztA1&eSq>?^Sf}N|zcj@Ef)G4rY)ko;B*$EUd zB|h$5C72_2?k`I)PkOn}lwg5`xup_pAeDSw2^Lr3ZQMb=qlCAUq~ZP&>|8azi;bU| zn!a&n{LtY!xnX3z9B*#k5REstG|Sy%v*U**<-w8hvB{A!Ro*%|5;I>)+>&I(ZSwZR zxk<TmBsV&C?8fc6J!3;R437WFSbX=`q2m*|nck_%x!$RnLt}D0)+}$7S5ZVuB$q+$ z8=ILOpPH1LW6iPTrHo5bs+Sd0ZfKvMpN}2O%^g0HI~fD#&Ff#0=%tQFp-rx+OtG_S zo*$n(Ebkth9h*5ZHYziP<g4&6j;mFPnaz6+kIxnx2d56s&F5yuWFRKSN5&>+(e3!; z=-7-rcX&)5+`2>FH9a<2B;HXZP~~NnTVgG-;$Wq|a_&TKd?I&XVocU0$;rK)19EO| zqxtaM-1Nq#rrD91@#(qQ*zEWO6S-+u?~WI5AsI47rpb+DhK!R#<S>~d?DAp+mmM;$ zlA7_|K%zR-0$3*9WQ@$}w3Da}f^r;~Nt9zm1!k)b$8cftawE5p<jTlx=(!!-bLcIT zPK=hr710<u2FbPq-UE1u+yH*#<WB&{$!@$4k>g|ntuv$-T1-NAR?YxFhEd}9X^%;~ zQ6KwqV?-|*<?@^^rP_zlXLK7do-%kaJ~3$XavHC-C9~EmwI=gPJFe^4HwLTZpzC3B z1m#K8i#l(H&;IwUzLw+Bl5cWrJhPg!3f}YZ4wFmP?K-R5=>*=Rz$|-6CRah~W4ebf zZ*LYmW_bKCMw?yJa}b&y1c!Ou=gh}NiV2h~{w6_R<aQh|i=P?LFo_uLAYyX|%3X+e zM!Q<39cxBlp1IV^EwD3tR!g>)uMDY9;2GCr@&Mk9>+?3r=^Q(;tT4(s#HAUM&EY!@ zxC!4`Xu;;;G;p)v#pc<>ihr9Rc`r10HGObtqkooOk7;qaPXtK(mo-)f3$c<i{O48& z*+Q--S==8!PM*Lo_yYM;YQP$IKY1S&sYH#`g#SykP%E`jJ9SVeb<r~XLgt}f>Z5*I zPAh1obbNBWxw*4hFB8pi)7<#P=-9~Au>%YfkGJS8@pwE_tjD`cWlyopl-e^brFy(n zCiF7V+*T?#l*-Oh*`=51o??5tr`X=vTpX{nxj0^Db8)=R=A=&F+1$#?p59(v4wSka ND0_ALP~7f1{s)AlT$TU; literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Size2-Regular.woff b/katex/fonts/KaTeX_Size2-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..14f6485abb4e1483c0adf14e93c7d838efdcebfc GIT binary patch literal 6436 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Size2-Regular.woff2 b/katex/fonts/KaTeX_Size2-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5ff7060676d81f040dafd77ac0ac9e68eef20767 GIT binary patch literal 5392 zcmV+r74PbIPew8T0RR9102L4b4gdfE057Nj02H_Y0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Size3-Regular.ttf b/katex/fonts/KaTeX_Size3-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ff7e2b90106baf6920ef84d26890d21617a4730a GIT binary patch literal 8120 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 Vqdh&{L<fu(V2^1R#}`xg{{euBHq-zB literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Size3-Regular.woff b/katex/fonts/KaTeX_Size3-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..d3626cef39b774137c67500ed0bdf3fc93391fdc GIT binary patch literal 4568 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Size3-Regular.woff2 b/katex/fonts/KaTeX_Size3-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e45ca49db8c66ca43ce41bd15a219db59b0c9350 GIT binary patch literal 3728 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Size4-Regular.ttf b/katex/fonts/KaTeX_Size4-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3034091cdb7b1c98799073e1770eb57c24747d70 GIT binary patch literal 11016 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 be%&un-LKZRHeD~MJ}%HU#E9apa_0X72#Z!Y literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Size4-Regular.woff b/katex/fonts/KaTeX_Size4-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..93c57a6f97f529f7cbf7ff49678c423a54aa34c0 GIT binary patch literal 6184 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 A?f?J) literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Size4-Regular.woff2 b/katex/fonts/KaTeX_Size4-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..53b65afcff022dc8512e61cb25f7075715de8f7c GIT binary patch literal 5028 zcmV;V6I<+ePew8T0RR91028DD4gdfE04qQM0259C0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Typewriter-Regular.ttf b/katex/fonts/KaTeX_Typewriter-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2fd85294ab68105c5ae44fd65332fce36c49f8cd GIT binary patch literal 35924 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�IJY#%(bw266Z<^H&lC0fJYbhk5tYD#puXS_&ihfgILhP z#pZXn8oQUrlTA;Oy>QMPd%iC)Ik*`VbM^DSf^Y5I#NpdoGpDm*%BzsC=Gk}H)2I)a z65eXhHr#QV&}@jPL#8}a4V2wI>(XeyAQ{NS6EBk2x;K@WRc>TOd1WFON&!3e-E9no zus5?^bB&|IEgr)BPL3C{$S@1`T|d9D+q<?Z7f|5S&?~kTj^1qAAnMuj_S_n+#mcHl zX8ZJ+cuIj4!IcVoHh+GH9nYs$3n^FvCutk)M;&7N<SDLA&{Y0_X+L+(h!=(2)x4Mm z1p5KO$#%;JBUflLmBP?H=wN=aY8sU<MeU^xPGP<S(i$@Mi-mk~p=&*&D483OTvTsY zZTEyxqYh<+n^;{16`CkknaV?=<?cTqdgP^s9*CG;)fPN|X3HH>pIkg}zndL7*zoGp zh;^iIH=29Dc=Ck?oJOehcX+RS?wWkL^R!yMf4?4^JtDei{K@d}rna9r0yIffwLJ|< z^Hi53AZc4jAgIPU0!}ph1Q?PAxo02;pc5klkHYT=pOQk4@RY4+T{F$Ib~_1)c+b_a z4fEZuXtvvcBaoR7$04d*G>w$DYp(@spd~rRgt2VMEa!?<3e5&nN(dSc=L}ujiX1~W zPbRKG3rF;D2m3#QPm(IP7dPi3YQhZ0WL7oHqY7)!Aq#cu_ru}4Mn>QgdJ={-N*6Rk z4J=kYDDAg`lHv^R9#D79LQE4oj=6~Pu>%ZugZBRbw0}rA(mogq@l<Xse?y|$u21Q5 z0WffQJApg)(oRvBrN~6#%RIqB!GwLQiwiSTedSyx3PlWs7Kf;6yNLJ?v^85QH3^fT z<-j`UY!Nz*jX6LUAkno121+5OTeuEzU}uNsxMPgTKa~ydUN-MYmyd}FV+veeb5KG8 zRkeh{EQ7(3Mmpw>3~i(i`$ffj=kApuDm-%4&_*+&rjEp+<*BgW<#g$pJ=Jstcb$@k z-0aa2)Vshzq+`97klXNSJ|i`!`*lZXa4ZfJ-3%%-jQ}7k`xXfQqJZ7U#eR4kU)*-3 zBdD=K%7g~s*@^FnW(t@z0p%dF9OT#`trK2=!*my%0AnSGBJ}5nw;K}{-J%^|HlSG_ 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 E1ndY_VgLXD literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Typewriter-Regular.woff b/katex/fonts/KaTeX_Typewriter-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..e90fa2bc7ff9e2f81e57a567be2a8620ef9c8d27 GIT binary patch literal 20260 zcmY(JQ<Nr6u&%$hZQHhOOxw0?+qP{?+jjS~ZClf}_x$JVn;mOCl@+nxjHs)ul)JpR zH~<Ln&*Vt~@c*?jD*xaA@BROpyfOnb03c%VFRJ_x12I|6Tw_~9hkvnd004;YANQ8L zSck@LE`$Jp^y@zj!#}uz`QUZU9L#M20MWky09Z5t0F%Ckx_N7E==`s*JnlaY<o|+b zZsTe8FOMhyAkYQ?IIu(i<)5-JH8cSLgem`N*#84L(`CZqU+`aD$$vh<KS;qSfwC-Y zT|EBj4F372001y5lm`K<jlJ<dozTA;K(PN2olyR4Yv}Q>uHffC9pQffCBsVC8QPix z05bn-01p8G5G1j3NNEoC&MpAJuYcbR#Q2ZKm5FX72Pe~ieWm}^0r>qRDk<i3!eb-H z3(N;cV&jE3crr;1#z;E}tkq@=eH2lfh^GO~!V8Ro>S*Dz6v8rUSNF!$%*@QMZj6ED zKNH!uH!E$?^{V_H+0OMH?RxM(`{8AQEM^xzlW2&CM3(dxC=a+*s!qNr!Om4_`QnOi z-dywFXV|#4qxx8c96;O^hf0xn7}C@p3NU~GDzJtm@=pgQdc_`G8!9$o&Xhkn4T3&2 zq}jf559&t=dXVm!uP6`hfAMHhx^evw(47fYj(J!zN^)*Z%gmZFEuUyl&kd`5Ht(67 z7d_C;@9-C(H+5cAUjJkrJmYEy<OdQ+&{q|n8#<DwBdhpA0X<P+BHkM=O|j}uuv~20 zzOfH<B-q<5UB<rerHag^o|J)7WSx|<#X8(wr*9wrs!MpeTGgL~{)Mt`&5@J7O%gH> zD|~DIO74a0%lMvR=+qm*BveqW{bDRa!P9j^t=H?%X&z)p_=OK1vepHqjR@!-qZ;Mx zxU|3|I?MtK+s7*Ytgjp;!3x<=EN0Os@8qE6bv^Aczwx<MCipxfLEv||xun0&s|{_L zyUD91^K4){vr7;vU%h$hTn-EIox5>)2YFkB7m5GaIjUWRA8or*03xm8kH=37396>H z7YotsnNRgUKYl@;&|<APsYstT5TacRTKe>1KN^cuv@-D3E0463(8cb(+86EZXX&s4 zQ>yVq%s`1E8j7bgVnUL1>kMBV^Mq8+r7v0PBRB~o#74Zo3mAZQ0+wHH)!?=z+nI>d zGoriXLSc%+I*D2Q9md4(D;|0KGqz8*dQe`Etk#DpRL#(f;)m}K&=o=`9GkQ7@N=11 zq9o?<h978d(#e}(rs@htECikBi7*l_O*bIKv?B=$*b0XXw7v(X=X>1is0mf8B>Wn* z9~g!LhdW2}!vsgV(21F^WyR)uE1(A(tx7Bw!W=aY?p4w(k!G7s?>k1gQ6tHH)x&fd zwCgEM;W`_d#c&cDD6BMvA6-_P%NLMxnPz}u+<r6&zLa91BpZZhY6>m=<{KVeR2F3@ zVapA97XiDvAv#vEokxhN)3OS<UD*r2FEu(V6<r@j(4qK#d;fGZUkURWnF|sILP_j( zA90m6r<QyN0TKw$#M9Gh??M2^Rhx3gU@gumC+((rS*auOqPC~Na9Tk~-+UfI$R-<B zcp9+}6G(3FvcPtoNAJX`fs1E2VJdiF!Bp-R0T2~H+7VOV+=!$cT*g#Oq|+R;l&`3r zo=$8_w<)6VDi|8f;gcNy+VWGVTNx9CE4fRO4xx%lJdwN|z<e!s?u?DvbBY3P*~kD& zKKjzCDbXbBdnN>n$qo5Tckuy0*6))YjeO^$eBofTh|;`HXIdJfb)VoQ5BF=BU%V_d zz;N#sH2D6_5gI&M#3nzV2rBeT*Yo(}j#>5!p`oQ)kHOylF+a(}{rZ$U;*9=$!82{5 zXMge59S2F>{VIQZy725ar|JTui?h=QLwG%H2#b&-vxZ!t?VK^kW)N~k$up9&B_u3+ zz%i(yNk!_Os@!0WiwU!K78}3g>iIA{aW`{+;Nxpnr7_=8cdODb`<D$em5$m0JF%ro zLa|=~0Zjwh0IXWLVLpO53|YmQSQaPMicBdKTDWAVVi<i3pSPReA=s$&Ks|Y-5mIIt zP@v%)_tJ5BZ$rO617lleq{X5a^pyN<+`6u5|C=YQZWdMYHB(dAVPG_^w?e2kZ-l79 zdCg{NuY6XIB`4R--m^0+i_0F4J{lQdUfE0*!AUQ9d6-7$+nSK$)D!JlW1ZPk`sU<V zxvvJZ@_ej{gZ{W>q^_S;_;I79IkRB!EDDT{1pLS=I{?Cra5TSEj|d!>L>g9(IEu8u zj^EOVMvPMIjVh)WyWOdt2>G?-G9!Id&f~{th$-gp6&KJ?B-c`&*)iW~U5t6Az^KdP zS#=Bmeq>{o>(PIg!AcE#V<l9u7lXXcCbbYumo}x<4fI@=#uXt~6!7wYJgg)HzNw?A z$nE(EtbQu(mO^orRi?PC6m3}ZBAur(I<fVc)$YB$nq<Kr5}SZ?{x)fKytba<<6>R% zzE0M^ulP(No`Ch`B9uTBo@hqYu}XD3inH1dr>R>?t)>!C(Rb4)5t<s@UX_?UU69&c zzKW;3UD+xH`0GI_>-T;r=W({#bOcuFeoUONO!s)l@m%zn&#AsD{w}1L;}eM{f;}4s zpv0J-)J#s{C@Fx?2x@W?lP-v5{b9WvhY9*4A^}=2TRAh0gCSu}Gwrq4p|kGOS9f20 z%X|GsUHgo1z<j#E>S!)&jUC;tl?bf2_qK2{_U1Tu_1wjm$x5T-hWuPCz^HI=FQ*yw ziDFB&SmW;fv^zTB5@Wl#>LV1e=iNvp8|MmAJh{e4WWh%h92U#hfcGEH_5E%b^) zk?R&EMrWEGBB(};)!7^Aop2au=V>SD$pjFV<tasrj%<FBHk>};y0<!j{^IV0`35bY zN7cfdd83Mf62k=ADGa~@3_2(e_`o40i5J_IZq%f4&9+z_%9h(O7m@W)9=$^lftqcn z*bf~~^1{9yPa1qssqdID-=9o(Y^Bm@xPbLKk)?l7|87B}0e+mp$PdIhOICnS4JQjh z@}qVFPG#a{1x~346XE)!c-=CQ%Jdp8q!(7=_Xy(Ep-40B*5<{{fr35&zh)ZG)pD=$ zZ_?wjOcrNc0&8FvCWiT25ZDjtTIitv{zfsaFB~us+FVV$dj&t?WO$rP%&S9v<&S03 z**PEgdGdkSFX`73xiEAzY}_9>FDv#7cbI_6_VnZ8?Yv`j$;GyM>9@T6vNa^B{M$)H zd5P*$15_R;zyldXI39@EH6@HSkp^C$Y?&|PkueO<5Hv2{@CPKzv+YJ9cK?O5_XaVx z$AM{|B<4i#)BM%<Qw_=(Z#fK2>`gz74;b^USO3L2dfG|!JC*yeyLwL5A)GhvCMs#7 z;eum^{^)h$^J%Q^mWyAbyZ6a4c#*}qnp>NzW8KllM;&O&7{PC3b2mBU>|pft{A5hW z@8}b)p5OmwP=YIQ$DTOgCjG50%xlQaDFz4x6ce#G7@!gx#MBW5>G%h7PK7C3svMcU zN+?#wWMM&h%tq#0c{ewUasPgpoy6_wu677-wh+g4y4hL0Z*1G(2SYgh<z4WM)+g7H z#}D~%xHKfwcV9n(@<>+KEam1yPc{lt0R!l>>T`naaromS08>^v7>nK>QiPcTC1$)h zq5*OqQrinn@j?Ns#!6xYbD&LM)y_TxeCcw@4Eim`9I_eQ+NgW*4j64YU$i!&c5*&g zR)zm4U7ClP1E#chjCrIfHxnF-?-++g@8y+e=eDA&1SY1V>F2IB?tC`nQt0C1TnH-L z^L0z9weNDHc-rVqv~Nk*CnNB@v(ur>JYzcZkR0pBtZg@|sy0X0go;C10Xruh_Qd@t ziJs=UQG^j$%3up*FiQ|>dmaEqkC<+4o`NLR)&Uyalr0&72`XJo&Du{QXf9t@=bEnF z#DZ1{8c086>Ki1C+D#Fo0Lt_dS2;e+mJ%ul+q}RD9fcj?@x0b3z)73*c0Qt+<LNfu z#XOcy*Z;h!@BXvMO%MLv%<nwAjP*6e#I9{>nag#Y*Oo<X0~-~<1jr4#$(vE-QNv!l zetcYRfwjgzwG-!YzIt?w4o|Yc*_m?VcDBg{LKl-i1ywF49iZ<5079(N>JD^}fIefJ zA5B>W&BM#N#bh0T1NQJRAahp1$WZ}E9-xMQZ<qxmZY=vdh9s`og>5sFj*gC<YC6^J zu$j3LjIs#nO0c<Z3U0&$i%AM)@I);I+??hmD@|T8TH`uqE~n!^|Bwz5`h{<x!^fBj zPt8&tuygGGo;)Re-MW`Z(?>|;I*ZYPuxqlJ3Bj2HO<emCE_z~f%4M|V0Q({+*nK;v zCp;EmhX11OjTCQOa6<>ufM&D-L9Uu%FJYM`fd#Hl_(Ufn`ZtR;t5Pd4L8t`QQjYG6 z<3wn8sR|`IAe_7U(eks$1m^a=AJ#JWEM&vuPNScL6rX4Yzgp7+#W=J<23pe``Ev7C zl8&z0#m7|=s68@DKFk}w%a7ab(rHR6F00o`&qNKN!2I<dx*&T2BV-T;C3s6j04r|Y zqIhl_cqg<faFU@4{YeE!q4{)lo@z|t+GxW_3;Rx{FN+7>&q$VIsWSNSYf9e3p7Z#2 zTY`X=J{3C9S}CW5dXPbuw?4RaK6F10D1fCOQVloFKtWLgWE83k>rN9$@%A)FFIfZ3 zW$6-lL*vHorB%BrREL@f^FmNU2qgKj6ftuc4b3-1AdFZJSrI*Ma>peUCX=!V+vp(D zbxj8cjTt?6UyN^`E=~t;Y9EY)%fgLTCqoPKs7&eLM1&`sB6x-@iHi1eVRy)i`qujO z*-Ahe&^3dc<7B4ycb2hg+NgM)>li#5M;Qhl;?!E;U_jok<=NlW)X}cN-k9U}QyF$( ze$2t5z|f5}_q-C;C>So8W`TEvl6L5B#BK~9je;ym{$v=G_NoGm7Vkt4%8IUPRooQ` zaDh*|pBR(xcd|3@i;MDyvF@bTk_l#XmCAM~>HsZQ?l&>~pv5eM&kaTk+u}0Y6fJw7 z;8#g06pJBg8O!dS`__U1Hc~TT-@CiXN}hzT3wkbQ?F@hfUxB<u8nL*6xma{2aDg+K zfB=>Q+&n)2$~8Ui*cr{S<UU$J)z1}|hvtb>T>KZ?TlGqfdixF76~Co~qB1q##Ao%a zUe5dsUpH4g6wqM2?M1+qdEd1rPOxKVuxh0FH2q*^&1yc*wt&~>1elo}o_0rt`aVTC zM}K!GyFWJ&AfUm!aeP~W$NA|3i!LSbScMxK<9zyFwoTW*b@M~t&1znHIc<jaeTRL} z!qI5|;SAO5at^Uy6OU5SRam&xP&8$AR~VOQaDJNPT(t$WXsT$T9$DlN_Ho0>Tg13k zt$KPo6>PSRP?`a{bZ90hg6`W?(_HW(xrj4j+Mf_8BwpLs_tK-#R;bM5K9OdOVQ;C_ zcr1D`9VgT%gUX?4r8dWX^Vp29t@`rU?Cfl=oJ9Z~;pDo{NAn;0e9AoSo>w4&*Mxat zCAIdNdJX895Y4k~a7vyh8RcG%>hsv7LyAYDL1R7WSrU}cDD6?WT@#y|D4FT0DU~9( zOQf_cFSb$a9|C+F<<<9Z|504@;!`sFJ{m7&G_){HE@4K`v%OHps%8DRtVbdT=+X8h zUY}zF1sZm2n%Hit^G;<sD6iLhdnWaA?8`BFcx*Xh^9Yr7B19%n)&Tus7|Qt0n^|Ds zk$GTCT(hakMad1p`(w1{osSceG<}@0j?9X(%*e>rU@(|H3=nO|-k;bdR;sOO)@dl( z&&d2q!<o*kTgW#wt2Ehrnh-CjvB4Js*}hF-$YSnypjVVvrxGFr+pFGcY60?CMzEl9 z5J<pPEYgI`8X|Da9{6C$o_9*pGjRiqw}{NDtNhEmB}dUovQ`PcoYvq4$)(t9hLYV+ zrA|Xep}?m|2eOZ(oEl~4H<}lHwaDNkw#4nYln*oD43Mv(X{qqq{rf%sE;1N0b`1oN z0|1WWp-^2{g7?dzJzNWY`$wEU<SH9F_e-C>AyJmb<9Cple<)&|iTGItbS_-TUiqD| z1^m;TcGw9lA}%SDsGMzVE;b0c0|d~BpgqB(QA$&zbp%s<?0p^82?5$B&PDGj1Fah8 z><A6lS%K`uS9=>XdDMLaY@9SJroP=)@8$Tn&5)$NwDDY$;oiUBHGQEmF0U6m>d44J zc&f7#Ly2}!pB4dqN_zT4*1Fbexir)-&eE!v{xY*B((2H-EBVxCf@wJk9@0ff!_4Au zJU@9ON8GD|{aaCR&@jAVP)Kw-Sy32~AVWu%>);Tpz)$Q0-bsmdvr?*GZN+!OG`^%t zBS)Or84kGqNx8;_!H;|>O@vg$WF`HdV?BwRg+C3K)5kM$#wzHu=sFT6Fhc_?D>f1j zA8a%PbIsd)`H*<eqw*n}%e*YObR4SFi?DQpA9y#+f$I7`Zatn2>UMe-H<<X&-lzC| zzO|NnQGuc6+PcvJZ!=vt+suqDvs0}{KMj$LN{*NIcZX-7*o6c2JX`%)lpuuN!K|VQ z;(GBR3G4AjMN_FlD&F~<R!bL!>Nn)BP~x`8rd7$T90^o4im8ORa$PJ^!4Qc$YM8am zfe{<+LT5<p1hIho4ZcXYPY3qn1sM#Gsc9GC2zeA>NcKhYvF}ourC+9tj2c8!$77ii z;}d{hD8l?gcMEa>X>d=tXr-VmV8HF;(h}<^p==hVmBu8^=8t@VmaqXW^2WFSH-*6~ zJW$as)NCel{OQt+ICS9eWBVeo=BSzC<RLf=z$`%hcR*!l)NTO)5l#8I77+3$4_vWb z;%uri8E5<Xo{7tQ-=m}Q;nt!iAu2Pr6K1d!N@7n~7PAhqq_!&TyB#PY&4;Krog~)r zX)nBR7B0*chyN~_PLV55vgLGY#*@U+YhWshrJS8z)U>xZEPdkd=lT^4x!K5t5FL<! zP=-))ZBZ}iB}}Q4soSLKXiu<FZA+Q)-~AWh6`tdTgYR@Ub*xWPh5k`w;H4DUeFQQQ z%mU}3CVqvHdrn2y6TFf?NMV%IC{7OJ86|^E=gO)=HCj{Nwe)iU@GMe4TKaAh=ZF<N zo+;9|v2Rqe4=L$G+(!GiGlbr}C3fyAH{%6@9KoRs@}A#i<>lZ#p$`;k>=-NEgog{| z(*zzLJUiz5+y=xhtCCICs~Kc2h9{R4=&b^0ku|Bx(Y3jd;`ZX0WJvu4QeWwFxK?o4 z5-!ukx(^zw(_S^irP9GpzeK&RU5&}cuo2)n>K3*o(<|e2jQAv@nom2lkUfC;A4MJ) z$68y{<*@DXYHnwg+S>f^MX8Lbbu+Ojs+1gz9^NT@K6@_V!`^!0nGE_MW}G1vuz^0C zJ~z4wcwKDzE5JkS0_F~)>;nMGux$yWA#-*_L7XI?VNjS7<MV1-QB^5NwLrpW>WQ^H z@00>Fh-2}x=2`6zeVO^m59*^2=ea*$1eox8*7QXYmMPo3_Z)FETbr9Wo$2&3ZZkRX zN_w?f_f7eRcSW!pjy;vA&X~#GeCI}oY7dEb9<PKNvEG78*MgJh0nU92_Vl3w$;6l} z$<hxfukLw{Ec6_jyhQ>J^7m1*q9R-C0t61p;hD03lwU=q0_fH@Ge+vk|5i?XBo)dW zZBvMmcx8M>cBFNaTKzrDm~JszIGJEZ-GxN#&zHH%mmuI_HM$xb_hnMsMp_CHo#qt% z1wquzS7I4Qe#eh~_$83jz#(gw&*w}X!^Hj*kC|Q{6}X%(h(l=+{dD4Vf)OYD0b%ct z)oj1Z%(;4%uascs)G<{p^v=f+{^-s1YmFJW7j&{S#?Bw-3fb@ax{Eog*;FZGP*afk z{uJTb#j}kA-GZnP$XposX=7hLelTD7r7wBK)t(ou5(`=P^t1KG-7Hw#x7J3|#yVWq z7?*kIdGgTokg_YI`Me6*ujK<%lrlaOv%A#M=`wS!F^B^;d1HbJKFg3GOaTssqVIRZ z6O8qw-rNM(NKuXT3<v0VGa0TxGfZqb{@L$Zm+Ow=L+oFqhZ$8+Z8};&56L$jkNcX% zO&Z_^ZrjLiD>4VCc+;YgMUWr)3s!Z-4?{IvfRQ0eW+XOyNbyk$0YNaG$vH^j_dMgn zKMhDp&b58l6T0aPx}4r+yxCOcW@Lv_w+E9=e@W5PZ$rGO4tZpIB}SFQZC@|u%kum= zYZvGjLpQdNsp5OC?Sh?=;e7gV=T(Wn--8P+LjELrEWC`7AV;`F#j(_<<sxff83s)T zzVxcklv+hU8CdjDgnI~YSnys__%q`R1<Viy5Trn|&;PBL6C^@6rG$oLg2Fe3SGHhN zY~o#|Sp}PwL-fMppL#JuEo$L6!J!vu=<p2c;{V#H8{jq!I7I3Izb?7gY7X*|0-R(x z2Tvw`<>5Ng6<QTk#5<t0%-=gSaK%z3UXTd}&hfyKlV$og6X;e;<vn0k**F}YAyvy! z&m7k6_+L-1&A;9SAk&;fcz#gn-lm|N1eD@$t!=P45<SW^Z*5UBTD09QbpmEk%BHFW z9-jET9iP^4<;|i;6x?$(eb24^xU1~9E0leleX5LJKF^;~quFI3)kp)x#VZ|S64qE; zXhTRyCzRf=js0qv^e<Db%Nj@2f$@f;@7NuGhkJwygDQIrCM`Ev+%(Pa4d%B$+hi!Y z5YZ_S#kl#7;2GTXrX1ea*tS?%nwqy&Ib&?I%777=UAlD+I`>jOJ~+uO2n>=%VQX-C zJ{*N&c^tqy^Hz33QG0u5WAH-(vNMC|ZD-^YT%9}Y=<HSV;>d{wHAD8~Nv8Gu{Q(*M zr1L3=Kr!QV@POp|#Bm@mJjIL3o=hq-0O+nK9Mn2IHOK6-35)dYr-`+VQ98q9pD=dN zMFHM8sw)-KEWUT~MZUUqUm><1%TyHe)hvJS#(^v%@#DFTn-&Hrj1LG(O&zUU?MNzS zQ~N|UAOqS~3kBFu_z#R3k>EXnxYNi>LGJ#u6ofNc6(@N{GEZ5cDi$nasTf*2WKWq; z^K{6+y~5ec>)v|j=c#wCay|hb<(ia-^}JH8P!tdg`8C6}xXFVxnB&f1DN`;ejU)(( z&_~W;=Ux8}!74mbz7>IeN3DD?PJBkQEF8XT@?cS7$<D_m%c@$T6zeUmHjf(Gy)zKp zgAjexwZ`Faza)vklRn!`cF=UcD~ek`dH!i@ObPeCp9iDsJA_phtgj)0d=!D74~hH% zc|t*a;oG`-{^3yvTW~-=tpTX+UIZ?;vJU^9b!QmYOM8%Qh<FoAQ|5Zsh6Po(l?DOF z$Tp*FkC*5vv0UgvblmXEip=5briQ`ZCy(qwIa{vb^jnc5;_5=L*{x2bnF~I@dF5Cg zeqTe%+V;<ZG5Kdd%^`=Jlu+8Q{1BYUlkaz-zoTdEf4P5%{b-yNWuD;TAC({@ai(g_ zT4g=W4xky%Nt)h|2<PU}E2xw4YkKzWtXtaKGuFQ&uBM1xes`>|=rG$y`7kA)x4I@X z@lpr>q5oXgXLwCJX83&4PhCJ?Nmky?@v<va*=wHD@wl$M=N(kkz3Wm6p0p5odQ21q zg>niWTUN-iZsuJ5U4wfgmTf}8-=(wa$sQHNpr}*6ece{N+{WXmI6Q_OeW;^C%tn5E z^Or~po|R63?-E_U#bC+Oz<L1Yfz9t(g&ehVFE?1z&&c-+G#{^@D1R~yG=Os%uPjH| zIWN=T7EDx({k5vYRb<5-FzQtjZBC-AG6&h?nX#5R7Lx-!Q3gbrDcZ(t6r$t?LnJ6) zIIg)<@c_0uwlRS~BOS)*b=neY;%!5wpH<yKJ<Ei4v3xgr_ClO?Hk=g~00p8{2MIC8 zeJ#oZ(V$Wgu?wyyoqmPvO$kbmx=F!u*=u_^5{dOHSFGYycI$G+iK)y%OQ#?UdqH;V z5*cKlk)e_1b^p84I8a?ZFw?mMqILFjd2mgfS-){Zx~677o=L=<b*nvN^KS;aaqrF% z6f|g-WjvWX$BIN~EWDEIL-bDwoF!BGyvUh(_zbIqF$yICAgbVzG^HuRDdddKgisF7 zPeforf(VnyZF|YVrITLZI@|3h8)`!pg>^d8y!dX*Q2W;*>b7T#Ct>+jY&ntefmEZ( z6p_m=UtJe5hQr&|%DS>O&Gw9s%!15i>aQG<s)*ULiOKPJZXh&@n(<LRl7nLjDN}Ct z$MNrN8RNz5-87!o;|RedI)enJqQ5C7sEjPHu<{4TqaakU!(5~2Cq_Z*%O~13o;8eh z(K9sTW&Z|T=;&o7EdXN<U8(%<i#L_D%oN0Zy1eevCvdIBfSXtmG&$o}{Qlp6DHd3+ z?ym0z#3)#=CAx;3<HDde&J3w<<(BBdGIHD_=?}N%!BfDyBqPSj@O0O<`Mrhn_$$I= zqtNZOBsB)5fMb9~w%#M-dBp{gHtz0Rzz#6ChIES~FeWTxnIt?8<$hhN$!?-+RT#!( zuB^BucI;qca#oh3q_?)5WZ5QNmWy7TQ2#RE!?MV5;LA>Q%I8hbv?aHF-*+(u74W%$ zGXOQpN@o4Q9<8i}8IselmA5n_caR<Wg=F5MS79qqA(Cs9G~|_~Yq^4=v&!}|?{c1) zB;^Q|<Be2+3;gPRPDOJDC*rI%D4P^OM88>1X&@M2&jiT$+vu#2f+7~eB9N0OS-?|A z)X2dqqM6{YN0+KLec>mHSjA*?cnDpmSym2z@o%`fYHDl9_}dh8;((8O*)*A{&#RTR zi?6=dXIy@nb|jZdr7hZ3OTn)6SnB%fXRqYW60$dfVbU!rjoPYc-hKomQqOYDoXq#j zpoMf;BL@*F$!T-CL%eRq;>>FHww@m`XN>Q4XMTaf4<An)YIOSf&px@*J@hx<!K@+p ztDC>o`)4w6Q3%ND^8o~E^9XVN$%t62@M8)T)(QFVH=KNo?7ElVo9@x4eU3S<<On;d z+1|{7g^j;G=AFnizqj1SPg{qUHx%DT{Db|Itp!T0N>l~c08#ZN;(~}#)%v2AX>shU zAKN2u;x!2fpLcRi6zZyj6UJU&diqxgsx&CbqNA|^)B_MEiHL8Hh$;FqAy78uYtTT1 zG)pax#F7>>7?9+QCvF?tTf>8fI8#U-&Lp|5T=08?l2w@bkSI3w$=~H^LQt6>67KGy zWP{CQl*@E{LUav32j4JLhM1H3f`AY)6lkO@1?yJ5&$bAe-S9XB?-yW+#Zuq_+#A9; z#sdxPrVYaafWZxNKWDT=7Z1*5@U@New0sphjfxR)g%#PLr%wi{mO(0k4UT#-qF@z- z<A!<xl?ddQ5N-|$=<+WFe$I5Kw{VBH5>*&%d4pZ^H1S7nL0yWh5g!7IcC~*Q^5IR% zawgu~Hp~PUpv-JFX%or&k09Yu4E0DvC)LNlVfvO(xDCvrJKUF9=Pqt?P}qkGqIVbq zRiZ=0p~IlOp0#(otvj+2{%-Wz-|*L;YjxRwuQZ_oQOjP;^EEU7)#vp08TIkx!{+I& z9XYN*-MO5YeyY^#!B;%X2(L8dz?R?@)sz{DCcY`amckPx3*iVoq?R2=AkBkYR)-$V zb}g!T)kLg)27P=ltQ-IBx*yb7RFvk9yEuNa*y(IItjj^rn$8h!NXT$L5-lVZ?!|r8 zsXC!6(MC~nh39VLbh*N*E(Wej)=u%^Il^CAW<v*ju|oI01rb=aQ%|W1)n6L+d4mj) z^P&ouaD@={V^i|T&8f?NM6B&8cCbV&CWC?RFmBwr0SnG7n_-bq?h(BO)CFfKVG-C_ z(<pQ<zjG!GA8VvKJCaWJjjcGUD1xd7_v5sEFzC&J<*!f)gtyUdw`4N*{$W-cL@1e~ ziHfb$fA2l^KoJa0g9aP=WX@06gK@IjrY?e{AS0Q%f1&gJ63Pq&&=CdfCTrLfF%WPQ z5&i`#KqF+`!K#oZirPaj3Yn8Y5>6&hG7?j#;4AUzmiHlyqU`v>ZXDXsh}n5#I3`_o zLQL9i!9wM)OXFL}77iY;HmyX)BN#`M-~qOhwBg|f&oExGC-|irQ`(ejHTk1vV+4=+ z?4POW@7xT7z`RC=6?}7YEu)N%F3Q68X7PjSetLSi^RZ56<{Wy-FzNj1A0QA=Hg`}T z8fdVViA&dxg-6$Z^JgA7q-0IS)30C#E#yg@nv03lvE=3?vQHX%%I5j?@D7VTUBCCT zc5(}@RsmrL*1ixb3IV<f4b*dAxfBEQjO;X98Cq3Po;YAEE0tsnN&%CAQ6%==iu*hp z*p2ZSxwrDlAHeu6>zeTv8ZBFVPaL>A#2Nyao^X9W)`wT{_Mn9e;3Krs#w;GMbQLaQ zft}Y<Y+eC?_1sT+)YP2?gi_Im8Fn+v*FOKWy`TZ?wzfLC7a+}K5AOojt@X?pf-!=! z*|$C|-yyO}1k(SzFJpWs<emBdtZ<XUlD9RP)px25&V#kF$(a=Iv)6d6;M^G+I3}OC zTjOA@Ss%xFiK~~sI_^jBdK>({6CPafHbxq|P`Nl+6}hPVs~{$v`m#kWx8WVp#paxi zc$ldx7if}|Zh$hFLhw6@Aq1O<Al}}<0&*7EOxrCB+XSaILTK?mYTuYU`OWmUsqSYW zdw=Dt%i$6swBA*)ZqT+pN?({v<tEOAO@$oF;nU7UmPvmI>9}TFo!1w(@!wKkbgsr+ zxnb~+ACrBA2Q^ZI-o@?68+5F#e79>K=1_vP7T=DH>WJ~b)GTpB90jW9Twm6!dEiki zN|-Y4eDIKRAwX)IprmBPmWrs3vTwhJGoCvdA%Ici#v!Y7LlL9-HnQdNKWAt2lO9fY zUHn3l7Z_Z@7|R<&o9yq&m;4csiM^t$UXBG<c1$&x1h^FIPC&-cVQU7f&<3-@huBO9 z!W?jF+~VCELzmfO6{?`;@m-ek^Kecy_}3V`Q=_YmzLEl%)K1EbS;-}A2M0EIdtPpb zBO%DglwGRqRxZF<B=0we!)v@`YASV6hI~dCI?(Fl=oct<M1(XlgZhcZK<h_KW4+1` zFhfqnxdLWk2<8c=O*(nC7?@k)!iH-;D|um(E#Q3j2dY)6)Hq-=Py?`Y#ilAknT$rq z2YZGH!x_TuE5(y=QnZ_>g+<f@j6<9xD{nY*KoVdnoaP?r-T4HoC!JZAqfSW=bBd%g zV6ES-Bwdr64;JCc*oyv|xfrcC0(V}tYf52cc}I&{-*ARXlR+9->z-RS?aZX1n|;0l zYos2$6-%gDTT2b)Vd?Wull#&$E|N0r9VY=wOY3xv`ORBgydI?I&*Iw3{cXRLn)(F{ z8lClW+jOZW^TX^#S<Wi`z<Fw}aL7{(S`J}@`N_o)uQ-MT;~67BSy^Kh4(~Yf%DKRe zZ6j-DJLR@SSr~^}Jc<r$l>3lYyB2GoXxw0io_H$+KACb;Wx&T~q*tF%Bi4h0ut+gF z<J~ZD)9#tYN3+Zbe7>e;>|hD=?xg)n|0)7-y&Y^nwu~l*w_-cuD|A&7Hw6FaE(z0| zeTbZ-7pHK8#F+)&Mx7v`USr|z2z}v7i^fgiQ!<KTuG1ikzjmO!<VPIweklcyI!%~k zdKa%(2w*XxPp6jivQs0e)S5&?9j{qEpu2>%X?YbQuwOh1Zye|8r1L1+Hs2qW)_AgP zn5C^ff7RFyF{Qh0ESGM>NT5IChzfeK<i*Xe=jwNVCX)O$E~ZQ4ACA<SA0}peYtQw5 zxoeRb(+umr=@t>pIX~BZmFgH1pYNXVV*!9u6azy-gat6R2U5o7xfXnkj*gy;op5Z} z_3%-kM%i%<%2!TE6vRo-zF?7?{z)uAGratnZ(JL}!TtSu>W?qQ*WGY!l|L5gsjddU zBapwPTlwSNv~IHA;l>ZXOSlM|?!lXTWH4=0J4{JLZ0vdHZ2n?ptbIdOrk|C;UYM&~ zTl5L1PjTmbdB)R~hJe`^z<B+Z)Dm%8f(aCclr-@d1U{v4Qj&>^SiMnz#iJ>+@@H`N zli`ii6#rm3P2W~}%5hYM5bU_2ns1S%MJuVWF&@)Rgl+x;FLV)#5hcE9X}N|<K=(ce zxs_XLZBuc%Jh$hGO_hxAGp^*kzUAqd?4+Nf#JFh7ja*HV9mPXzm;J0=k=~N|YM&rf zRXNQ;MU{;Z+DYB32T(V_QLO6%&llEPg2RYN383vnlYQmR82wc*yHRXUUp3V|F#d}) zM6NrOhuW)BuFMlG)9f0cnI_JBlDc*hzKec6B$@EyojkmxlT3$-&*}PC(qSe);m=71 z^-5^C0$$&r$=@tg<2z#7)h(q4dd$YeM%FcBq&h37t$26}zkCzyO*1L4I8?UQ+FgyR zQW?uBE?B_Y5{NNjufgN-W7vKTNjXASMtSq@@@?}vd6a;WMwnM5&eZQ6{5@0Bqm4lh zq%p3Gps;>Z=`Y)DaoHYjg_!wXhBbdnOwyik1}Nt5^w=rOl)wZ4#k_ux+F0A$yVy0J ztc6jsH61prczC<9AI8l9XY+sh?Nt_-jHG3YiGxt!gb8TPUem<nzy+)VL8TJ0g$NBN zgP3BxF=*=Yh(_?)gvJ#2Y}ZVmR9voVN2^MtC!3xh(R){EwD!QPJ_zS>ptgp^0M96K zcAA4~i<qHNxF?(4sR;^I_1YsShSnmKXlUAzbE*{!pfy7?y(R{l_Bhsr-W^YMD4l$z z{yX*wk>{6*UZ<k4*6pbZ;}X^=M)AYl6=q_sa`FZv94#P{E=cV%3R~+0$IVsh>ri;Y zW>W>=hczTKy004#Sm_%%(EGQiJzcgCs((4K+(C8m^dfN7mO|}p&6VGJ63l`gN1duu zhii?1^>eVYo^_lKI**C?>V~|Gv?YYDpy8V$!**sZfm*_^5rUIjErUB4cws44RW8hr zCy>5|-dR=dtu;Kob~4L-gPxf~5(x1}V}w+7L1<gJh8Ze>6nSg6zyehfOwKO%(o#lR z<v~!JLQ}}U@)I?fj82d4maWlWA3R3Bv1N-W3Y@-59=FI>yuvcR@KUrqrV2n8p$ZrJ z{n&RKKVd(^RGQd{z6n8r-ZD6)>j|27BIJM@<|R{!r(e9vLHa(UK&%ZyK4}p+M5RiZ z6&6CcTnyW}dpno1aIh$igP*4uoB``ZP;o2Ua`p_X3J)U$-B#_~*cBv685WTiQEb8G zE|CGrmz5C~Cpp`DhfmOXE?d1<G#R?CJ}vjX*pgu7#~!E9{f?^uT{O05!3~d9Sw=%= zGIos|fd$6Nc2F)qaj~l;CG1J(Pi|l9QUXB1*603)Qp8(d!6K*qfefUl%2L=%&A7X$ z#<7<6f`QyiFMX`4*tR9@7liIJd32!jWtCGx*Y*{7I8Qmg799zNdPbC9+uVW)PIZl$ zW#xK65SS?6dWY>e!=5$U2-hg}k1C_AOo`{s1Rl8bj|Q0UTh9-jQHVGvP@OW7r?+N- z9)bHAAc5pio+&!6o*m!9rDpU`T$Y2A5A#b7|1zVDi7PD%B8>v>a8zZyoE5fzkF(SM z1>Z9$H0*XGdpu`~lqB#ugfUAX(Avea|Mn!_bm1*k`sCBsXPlBSSg&Uf)57(B#96ry ze!&2}oATEF6B`e0bAuAh>bhVVUKZS-m{tI@oQjLHY4Z*QAvp<klgt>6%fg~-i}M1X zGbp8hl}#821l)gDfJj2Cn^|VuVX*TWfiVAKxloyGZWm9cR9*bHCVkfeR*YSw)(E2q zkv?i9un4Ok+GDMc@os!43r$vGhr~i&f-$%v1f`GU)~;v()+FmCd#gr*EzO1#ZktEu z^s<#hcQsv&YO_j{XhPX~-$00A$iD&WBBV?<lccg3h`p6UCV9LUt7xUiOcICwm6J+u zfBsH%u44!kYo&+0LMK89pw-48t^bKp%5Ysg%D6(jIi_{Ar(*2$iT_)yBDq<uXoBvX z0w{0W+rjS94gB<E$C6?dW444TZs_{%c;>E{rnJ-qYR7(4+rxfSGrKo&pk-w2Z<z1J z^F;^DWVU+sKuO%m<!$+`tA(^y_AE>~%V=P6DLi|Jj-4ynVD-0GJc*H!vN!^@HD7bp zM)Ds##xpE3iPhfXamfe^Q&%0=ACB=SU2RJhU5;d|E@xjh2v-eqE1{k)_2eC-$#83H z`kQ!s4{Dp;c1_AfOJ@%@0c*;*RhdcMiHj>G%x3*&hvNy7uhLJRy?idn1E#7Ty)jj) z0Y|EVmg`1aBPu?FDp))z3LZ$Dp%w6WLSbAdY2xSXSTE-~3_kkVaG(<AWsnuOzQa+Y zU*=)N5UQR<c&a1jzn}9KIW2L|At^3PHU8Z)=4$5A_<fb{Cl5T6e_k>yz8*3ma<VY4 z-+u2$9@CI<s8PA<=VhQ@t80pK<Ee1eHgh;^)`>c`vxh((n;-`8C(L&Q@^zIb(FjmP zf~=q`qHph<<0&Dwj}M_WiR@SA(Q&|i|K6C#hM%rR(ti6!=|UNDexK(VHJl&D&#O@h zrlX)O2(7wov7Uxf?yxt#n5Zc>!5LAbW?G7`72f1<u<{2E*Sz_{+0;~fWcCCh?|$YD zy=Hgr9wLAZk~lpH0_XvOr!d+voBI=Ey-fIp&1syxqHeAe7Zofy^1}mF^r4EY<$V#P zng7so@A4(Pvw37wLr@6ohiegfjeD+bP?b|%^{hUk7C^v1zp($?JZwqS*(06T<gC`% zoc1i;DKc?h6Q#i{@($%O&wyQ#czFyWZCMN(XE5+FVB_>#^0qGZg~FJA3WC~d^iKHO z5A?_6gge!Tn8&%thd$QwV&l%3CCUReKgGE{^8xg5VE%~^FMed?Ph{joMK=z~*2LT! z7xw90424l;dp4u3UG}kUB6=E6k3vC;CsyaWV~GizxBOLKPRh3Xfn#$Re+5pR2@_Kq z-BjtV@Se9aU=Ww2)<XcRhv$!J3xf^Wm}EnhPo_{z`A6~%i+mfLhE`5)?P`?g?xL>6 ziUD1U6ROH{^ar;K!lH>*!Pg3q-5gKpEf?3v$&OajjDcMkmjSsQpiNg>jKA)=3$*)~ zu77pK*dVG--h(GS`-$#(sVkDQ)Y!<6$gnEG+|I6@tDk3A#9fX@$0GXcz0UxsuE6v$ zaDPC08iR=(jgfKHqg>cOB%CCXepWH}*-Q&k$D9`6<)`fWs#nsSOnrhGL4CrJWvjWf zj8$KTlh*gK7rRf%bekd=1`;P}#E(wBpIUITb=?IL^^sU8Bxr+oG?-WeM^<m!r^?DC zv-o+Za;ZyzJsLcL^&K?JFgqfhz6&NTMPteLq9bfsyZVFnttMSo{EioE2~B%d$ju3p zD*;dk;pVO&At-HGQmCYd<e|BE=c`-3xI)Bt=g1=Yt@^T$(|7&x_IZHJt~)8Mm1ccV zI^sj`aQ^my4WD;cR@VJD<<x2kyt^m{n)ju9UjcA|IV%966DHXnzWy2_zvi`v5~hIN z>XYW5I_m^-<?cR{k8j(NV$Ikko%iR;#$Zv9@*=mi**H!n^zK$$4)@Y-e8%A+Rf(F2 zvJ;3S>=IFN?(lqB<HA)H`_W5*H8XC;`w_S}5C53{GWo!@CW1vimXVB>ZBFancDCIi z%~Hl>4jOO=#vT+ibU0|B>8X3Pq0?~6#@wzkNK4Pm|B!J`!$;Y!{)d}3mD;I2^O;pt zXhi5O(f*loSbXLvQWBYDrUwQtkclLjAwJ0=4j8%|D9?L7f+@(8`^6&7*(e2Hh7>HL zAsT_NoSi#lTO&n<#O}B>`YEeW%SaWlC;F#NIWQ`YJ6x+lr_1YkYGAx4w<UG_E;X&X zBb7TSsVE8fEI1Hi4V)nX&5Mgw$0=2~`V9@Y!;9$Ju(udQsgHm;1+&R5om<GTmwn+- zD^H-@Xogrn<JdGjmyf^_ne1|%i}E!6SY^5E*i;}f@)x;hsjw&cc~1_bc4W$cTuy+K zahrVa-#}age*(!K!aok4?&c8jD{;ZVBor#cryH1Vy4G&!sN&iRx@XgUdP@{nM4?1g z0EzNu6j3PhD#^;DiWbR~Qj2Dap4f&F@v~1#lOaA@tZOj8ki^6!nBY4}C$^dTyyY9% z6Dh;6oM{2wwI-N1!hi@|k_GtDGRF`kXSQq8kgGn<1a)?V$HTibN384VG@rV^20?E| zGk<`59;;Cbqs~bxfiPiy+gHu6J^I@O1K(*46%9V`i#)o?(KZJu4UnW5cNRtn2UtPw zsh9Y;&8x%SBH-|Sid^)*LVVbL27CK|2K)Md4t<@9$t}`v=%$u`JL7or!!pKt6>LQZ z6y#+u(G)Nt4$V(Q0UKivSbxiBi5T!@jjQ7%@3c`PBY*?KrsMrzhHo;=Rw5Y@S<ksr z>i1@S>M)<BGjmlDA-P74wi+QRP9(N+C{^fe5ixl9V28U!@jj!5!EK5Wt~Y2NVzttY zI#Xkk>xmglOQWfZkc%tkfKXAqk^}9$`wMno1Y7UnLJ6kD_LsC@<d(%+Ix-#CWjT`3 zQEi7>>8qY9PL<SHIR64we@BQ`wx3<Zzx6I0>kPTJoB<Pj8xM@nCC)E&>A;e@8qgZb z?61;xo8Xo}w&&OBP#I<wy?Q`9*r-IzV}^xDe>lO0`3`q}Vb){_252lvDa-T%ng;Cz z+(Lsb<Fd?-pMSCEmeTT&;rFlw0lsR7Rb!;qGpk_orQk}sSa-LP2jOspFYK%*ls|Qs z_huO>4qss&-d4#q$jes@Yun(*R3w6@*`jd-(*Z-WrIN7Qz8H#vk7YSgaQz%D&8qSm zsYy(K&U3GxJ^X%8XwZkKR4mrzEWh#Bb48|>UpV#LfcwIuj_E_Or?{EVLH><Uv`t@W zl?`~sQkpOhmoz+)IT|1Zxb3Rq(vi0#pLQvWMlLdz@Jd~5i%}Ve^`QqF%Ehkmm#wfe zfvYukl+p&SCy1;dX$LyX&Z3zG?s%!lnqrZ!Te>~8Dl&#%X2Mb-@x$mtpt8-|xKo1# zSY;ta_Y*omfh<rcPk{VEt5Umq^eJZ3SEj=dF%0L!S%Q%la6B4XT?V19{!~V<!9WqW zT9Lz4V+I<S5hdT}^dhwzUiw3h$eWf~pNtHF@fVT)etv{|@a!sM$oUmLsu&r%^SXe~ zUAPg)Dc6rA9WqM&Qmo1_9oBQ(%bUr;vgzpIm;lN~7U*F89{NS5{m`69&G}*RJm-Dw zw}7tTkM{RSU2tFGf**!-!CzfmjDY%8vYaZ8Z1=B8>0u&zL38b1JHL|L)L31K;KvUz zDxQ4#GAEBtjp?#nBerz614|zJO~^TnZhk2J*pqosE7wc3vo;S=$k4oy;M6{@z|rVX z#b8gA0apC$qt!g};1XvrgnK-FTSv2d6XWUyo0FOh13{ZCDJUGm)&r=&0*X3cn$pTp z>JG5|VjF4}cKCHGQc*@mZ%jj(_0E=#q_w;w^~}V!N{Xg&%0v%n1?D6w$IQ^bRoO^I z(3r2MF9^nV+yBmY$~S-vYK4Ekn5(u`QyVb<Vx-(-B80^pNXG68^Rnx#l|NSP^!I5# z;9)PfKsR&ktNocs8m;*m6dq0e8GIl4!FsKi*zeji?GA3FTz#s%wtx+&57{&PjI&|+ zRm7h^;Go{6H~(!pd8CblgTp%zD?0HBd1`Dy9hY8Xg9sXwLYI%NycqIsh6Th8<PWnO z?5?2X%7iambS|O(r;AkDP4W+&4T4YSr6Y{a`=>McA^#`cud-@bXREO&=)&jiTkqSB zSF;G*kb0b|i_j>D!YC!+uQap1?1_@8c#vdHzb#UV_@NuNzp&=U0ZneQ^c4gZsh(<n z7gBGP^o_kh<Fh%SC)?|0yudaBm!v`ovt{?jHHQ>ZIoKX-$2g2ao}+f4{Do4rOis7) zw^#QlG81|iqjwH)I2sHb1^wxl0}4>mDlZGlTG_w$@)Cx?aeHi`^EZJhHn-)-+uEGv zM(G%n9Qb#o5UrSen$S&nC-0fLD5R9Y*^lZtiGFk``+t_bZjnD(eR5M&Q25qbz*`wY zuEG8=dTIRx2s3<bUp~NYpz7gFF{0{T`G=Vfb6i_v-8`9nPiIGBt~N#Z{sJ;k<6G?s z$?bLi2%9>~e;+q&ovCBJr2h2(TL|12j^T@;DIxKcu_G2Gj=B8A;l&%+SP?qBx*Wwm za8IF~vFhl)$0NN&A{`JXO8)Dx6a6dbbN@SG0hPfp+L4f9?e&(rRiDrdf-&rkWK>|# z0z&}4AI=Q3?n`3=889fl4@U9?E0sa|bfKU5isBDM<OC7^+`Pof3~)OXG}}#J#9^XR z#c>3?Uvj0wH}pRtp>M@-#jO%so9n`A>EO?H@@n8qMG@`!<j!)`T^ug^;{`R4tfv-& zQR%(jdJ-UgK8BN={04#Mc^?`Ar8J1?Ouy?-LsbM*c=*{kkuGU@GtRe1m=Oz!SCyJ} zcs8ZjPK7Ihv=>y^Sn1Q6z){6xLq+r``%pw|UxKHhNj6xxbYeQ&Z%wneMttROX>hMY zevOG25Vt?f!e#f)mjw<ENT`-18jl_F=i&wZ?b%|+WDM0`??L~?U<>}+GlRbkQiDX7 zuEhwN@0G%dBEC5JtW~E$0-jqLic}qTV)#jy<05$bTqX7O#uiCNc;Yv{qFh2ZMs7$a zH`rEs@iNaln?xGEUle5M=26s-`<gwjv`3I)-JH!d=va{2M*o^*TTncK*PBg3m{wor z!!#*Lzl{$Hi!2;^wC4RIjNyjxn&B<2vb7X&xPESAB&To4s2Hut`R$0h;6ikz-|R)m zzlWomH6|3(7MfU%vv|$Jmv+`xpKD}RR<HeK((dciPc1*$&@ZVXs$ixk*kZ^%ceGPc z{vl%Z_ls{{5p^Dm9EL}?2Z!j=`Y%muRPU6I5ijqJpKn95X9S+gERYz#TYUrmKW4c6 z$Ht%Q`QdkNLR(V2!}gPO=?=u-(Jf9%m$IWDGW*$i1+V&*cL=gC=Mb;H<F?x=0-m}* zM@nQNwr*kd2Zrv}*P+!4H$<G=bYOJLZ5n@uKelFKz`)_<XmNin%F>56TxCT)g2+H` z-QhuR&JPp~;9el*WVLaW-FiQBz@=|<w`8z65@S{-ETz8F=rh5-zecIYyrddM%)X6> z2)L_MIG64<^^uVIVe5+Bq@7-@JW0&VFniYKL^u!tId+E%2Hw7J1z{gXC2m2SR6ta& z9<zw6IA1kY4!F&oliWAs5FQs0S!kvD1<7Y-*Ob{=O3HP_FqL^6YXKh)FRRKPABXim zko0D1q^pDLEpyb>7>Vem$y{<aS!MC|7-7Apea7apg_paIr9sv>qY2u?Wl?Fz*g^+X z`)<i`k1zMcIvSQwHNd$d`1#YBj~t|>w*6T&vE@4@KeBG&$*!uRHg#34y;H1f8@2lb zr@G6?l!FK-BTeL>QF{1M5+k%3)a5Qz(KM*j?K1=tOFgtUUIs^b<V#SiuPUQY32<zL zAN{=n88Qw#1~`bzVW-01!CvC!JD|4BjypvCl<o+FSy}3~^}VME7gB7e+e;Q$Z#*rl z0j^CI%BURzlj+c|@lDqu*x_7_?AqO!K$5dvl_3%&f!vcnw(BD%V+t~So?)mxf9WN_ zt_la_2u<+<EUTQi@)uWDRKO|~eO(?!YLB2P>~M^V3^eV^64^WW$0_7Uv06(JtTVSe zJc^vRh|5%6Y`WZ6%>t%%wx>1J4C8=(PL2_ZE6r!jf=49UCX|{R#Mjsa<d|Y{&L<kq z$4RclJ>U9=H=80|I_CMA*&6hJRYOhLwN`9KNL8k{<!v0D`3s1g`fqX^e8TcVRxjk= zsw`a$;_0hFl;00cHQXYJNJxLbXC~=4z>P|tp;VDF?cB<cB}VA?CBfyU{Y{1GBzW~6 zurKl#Rh}?c{D`)4-n#yu0Hh9E@oeBF$wrS9z63}ro4tY6*m6YbgWnX1!}m!s0Kf#y zM9egRKo<zcX4Yf?@0~Vy^5siT&Wp#W0T@iv$c!|8|M#7&8xs`dJd>HJqsmv6|G^}> z)%zwt8h(@CTxY>skiTz*|NWQG12qrbQuE}K0fKOjy7!*|+-~0*00031004ymegFjk z000000stTYFaUP|0040dmjD0&000007629i7629iS^%a2kpfKu=L4z(<pe4OW(6e$ zYXzqT#s%dD7zSqsx(7%H=LlR02?>}9^9p(k5(`HQj0@Ea91LU(>J4=b{tk-{{ts0U zR1o?RuM$uao)Y{MixdPDpcO6^ffe)?niq>0FBq~JFd3>EL>k;1VjK<}RUCpGz#Rh} zAsu2KMjq@RX&@dTiXlEC9U`A1_9Jj44<uA2HznjIEhf$<KqulTfGH3uohkz=t}9Y2 z;w+FYE-h3o-7YRJXD(+hpf1-hEH7*?&@dA)NHB6RoiN5R1~DWtTQR#bL^6*u&@)Ce zsWdt?oHY40RW<82a5nNcGdFHGpf}|=`8W+Y8vp?S000310Fpn=o?j0<^#BV4=l}o! z0NApb3IG5A0NApb3jg%~8v-E$wg3PC2mk^A000000C?JB_{Ctv00fM_3=B-XV0;dU zs{l>Sr9rk~6adiomxjB$ySqCi;umolfNkhB90q_9un8D}h@Ehea2~lzJ)_i7&M8Nv zn5U5wMz~>=R<`J;oeKKtpgr!+s6S<d#<(YGr<@#`$tI6N8sopr2)UGyPCmn^b*rPF z(!UuWZxK(YJZignVw4uv8R3j>{xeHe{OhQQ_;SQD=rjK%;{9>gQp_?X5i2H}3QD7< zmuGrNu}>2BHHW`;t+UArw;Zs_2-l?Op@ceysicN%nrWnk2C6yZlzZC$v?mEkvYjNK zO>iuN0C?JCU}Rum+V)?XA&QCj|Cj%7m=u8`sGt=9oWusi0C?JCU}EBBoWQ`!z`)eS zw1<I#p$9@UK436pWMV)94GawL1sLAEh4BN@TvHev7!=<BXIA)c!4So?jp3;R14Dlt zGf?+>revTJ1qMa{0*?`S0C?I|OG84%aS;CgGaaB^cKck%>kiqr?NzR4+smg5%<tLb z`2c{+-3bkaNPvr1Cz@aeFpS>()r@Iu;RsiF(ne^Cen>}N3h*2+@hWfd7Vq)_ANRKP zjt&l_v)L?w-Ui1v{gIpeJX`13=cC@%qC@2^vFu0oEqkB6$WCTP)UMi53u<1%5)hww z#4S#7h&`NJ+5^8kaRRMCH<An(*?<_vW&#pS=n8;A!NSVM&cVsW&BM#bFCZu+EFvl< zE+Hu;Eh8%@ub`-;tfH!>uA!-=t)r`_Z(wL-Y+`C=ZeeL<ZDVU^@8Ia<?BeR??&0a> z?c?j`9}pN691<E99uXN89TOWDpOBbD(2=PKW(vAoEixw=&Z?^?U}kz|Awyn%L0S<* z763(sVO0PC0C?K0RppxNMhqQ?mf<qEAm6#!ZsV~pGuv^}%ZuM<7wx6r<@Oo;G;+%S z`e;3JvP`9gXhx%vj*g@WD?_Z7<0v6|`Ma8&f60x-k7K@R^K6oCP`(^<rJ4OPtcKO< zs$Q`jhgHHV)a{<KRG0=HTZSp!@VH`Vjrh+wuFZVho3%#6Xf;~+BzCl8=P~izT<q}E z#3sHgtGh`;Mc*h}<5{Q%JL0QyeifE*785|^8S&^`oI*o#HY%&zvbvqxX_6#1TW*qQ zR&()sl6YJ-1V6QA20-<2F6O!pxS<2UPuNO5t{Dwnv{uwt0+N${aQVb}w93_%1ARz2 z<?vlxtv8X@e4NhN*+LTQ1gB3IV;tF%)F86Qb;CoU+f$W3H4SWaph2+?GOny_u(b;R zTyJ?iWJo}cg{!~U)C!3Qewrp?lD12b!=^Vhrot#_Ia_3pnBC-$_PtoHh8`KG6y-Xj zwE<Jg7B-n|fZRmM)uztc{Sae^T<6QUrEu$@OXH?Ys5drRjbg{vPSSEbo-jqF67gEr z_IT33kch{_7jhj79V9#<y9Mkfu=98dZl+602n?(uE>DIj<tgzbNb`8wyj+Tl+FCog z%oFSSM~_dKm-F$<#lF&Zpg&dWPntqah0Ad<HHG?R0Z+Noq-fos7?+O;e6V#^6Y`jg z3n35L26;|p*p{PlZF6n+&v6C+r6xfpUEuFRySr3}6tGb0lm=TNtH(XdvdUVWGOAFO zXes6?9Z<w$I^a<RP6J92{+H=#OHHaE$kXCv!{zT>`x0n6joePT9-lFVCGsqI7J1GT zRgvdSQ4@K=6m^joP0<i(n_@`hJEj;G`K~EOM1E+<XX`VMTjk;_kKJ<dwa4!n#S`wo z!1z8ez6aj~j3OOi6nP04MQUIac^Mc*Hi1#(3^0oP02oEi0;5P{=waDvo<Z2@ltO_J zN;x3eNWb}pJ(oR9(iKD0r9&#Av%6ZJu_G<eN*-U`Dvx!Rue6G~bta0hCS`)xN@fl{ zzHaDNiT4KVtZ07_Oc;V6tXF4$R`Sz+tnU`rtux5zCh`a1gYmKov%4POGXA-T9^XFB z6iv7a^E)VsI@=_lx-z_=@_C+jbr;hfuONT6FwwUy>&$7yziWUB1A@QOghxVmJ@+-y z!yLZuZ6A~0_rWzCh!t@v^Zs-`{;5J$vVW?~R4*ohyn(|Z2CTH!9ZVmpxd$zQjs9a_ z3DY&r)i7I|i?PXUtW$Y|_TI@fA@q#ypoSU|I>-y6jFQqpL9|5CI7uP7j)to5^9qlW zQL_Yr&$<39w;c;5zb_mRH1(MQ2l^qXc_3=!sso&LbXS5&wH}JTOklvMT8e#os2v-c zO(mRdQ{HG|_k8EKZ@*9nb?~4vTH5&0071A}npD1?_old6%Ev~NFRXR&Fh5NE!naOi z0H18B=XR=}?zTSA=9%HU?txAN!}r`Afu&i1cE1hE;<FFaaI3?>?p6zGw7ReF4&1fz zXy6V17p>U+zq(K0XLkWh;|bYOZzmaGjD(EM{5z7rqXz`&ySr2FBIPsv;p{1y!&5%r z#4LVvi2k`Lly&+P-@^KZ;X4p7g|!I0QYQzBLD*MD+L2#k`P%gG&S3Ed3riMnP0uPd zfAv_`W)1^D6oikVkBbBi9CIu)vt?#3OVFTqR*=o}_a_!R68cL9^CywT5IGEy#}Ea~ zmqZamlrTgYLsT$75>*UQ!w_{0(ZKvmG%-XAL$onO2lFk_#SlFV(Z>+3<vpi|dBE`A zrG{D`QX{>dWPHjPTi#2mCk)k7O7)CVI=8&nlr9)bmz2^KrF3n1Zz<g{ly0@4J1ywm z3LkH-l8>iv(|d5e>nG=wyi@EmD{)O@0C?JC@ZQ02A}C@bBV%9W2F9Hn3>*x}1sfUI zoHj`?GH8Jqo4Gj{IUp=iHZY6bX%{mC10w?`kj>$=i@^cHW@d2NsKVG07_q^jBVr?S zipxed5N{Vp0|O(ALq~E*1V~9F5Nzh<VC2!-!T7&*1558lCZImn6c+$@StQE<0C?JC zzyu*c=)>T{l+3`$l+3uEf$_gGlPCiNQ{MltOeu^z{{Q+f1L6Y!v6~8{0C?I=%pD9u zQ5c8u=Y8M%vEZDYE3IA13WFeb=u(`8<?cB~<;yvTIA5-9?GML(d*A`)mN5We0@)}` zveR>vgEc3)VZl{yN!;bG>dAII<;-Ybxm5q*{|~I00XOeuW9bjs$^Mdqy}#v#O|0aW zF%EK9_2lQc$eC^XkxTU-eyveaPwGq%J<t6W^C(GK3gJPCF(Dcf0+A@h_-58J($!L$ z?n33?f8)TX7uBdYH=AZoPS2b<I}7nYUzOX+EwVsIX@fdRa?<Q1?SwAayG23M)Nzq= zOv55I(R*>b`yxK3QDzJ3r*_WE?a0pf_HMQ<xvpH`>Y5kp+*X5C5eBPj!PGGc_2|8< zxz~Ng-*DyKs-VOqru#+c_|w#MbXwQ7S=x|2+Gisf&Kf_u$-ePPD7#~J&2dz_kkK`J zt~NZUm#fjGUGj%ZnJAiN&hHe{)kCOl#Uw=TQZBsou8TQW6f&mia7>eui=BA96U6lY zz1ya3#O$q??8ds>-semj$I_sGMK<)JEQGSxYWcKsW$?zk{3Um5G8ljT2j^I!#1<7C z7RV4lI6{hs)D99kCuk~a%SX5X!>hIcVTx2Rqmasog&8U~h`x1hqx<T7EZj&mR$co@ z1<k=&O8-dkOz<u4q;63PuGKYwrCx)@e~nyp6$Uc3K+swV&pOR$_8#b4x8|YWuk|;| zdN|ENGS}$W{pF_PpYK|IPEqSISi&NR|D)7rnEf8k(D;XMayap6ud;t?4kpKlMCmja z>BhY7X#*BLy}laZ5>~qT2QOt1$(bP&#vgc01w9C=^+g!8SL9Mt-JsvkT??M88)-Jy z?jgofCpxh>a2_8x#GnuF-G<RmlYKguV6l<U32$+aT)DUHSe@9%mEwRNBH@FaQgBO- zN2+@$5d<5Zp1<z9g^Bc!|EA|Zn*?jA0C?JL!Gi$;0RRBN>$7d!=6qr9TA(`t@O?S? z=Yx<ySVUAzTtZSxT1Hk*UO`bwSw&S%T|-k#TSr$<-@wqw*u>P#+``hz+Q!z--oeqy z*~Qh(-NTO{csM`+0KhQ%{n>7qY}?i>-CLn+6VxV|oAh3UC^6zBNRlE=hAcVq6ev=n zOob{n>NIH5qD_Y`J^Bn7GGfexDKq9QSh8ZxMg|$#vE|K0Ca(NsmPJ+`Jb7{BBO3?V z<&aY@x#f{pKK2|r$*+Kd3Mu?=S)LIX2m$~A#(7SxF1Fns*4F#OtEQT2kfdJk&Hs+- zKbx)I-^n0zlsPUhA|ayk6$2ktwvmX_sPH6(BPm}95>fT09pOqAkC+sXj#LDZ!GrH^ cwwtZ5v-y0QIm?{C0ql!OFaQAn0ssF157FeRS^xk5 literal 0 HcmV?d00001 diff --git a/katex/fonts/KaTeX_Typewriter-Regular.woff2 b/katex/fonts/KaTeX_Typewriter-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e40ab151617cb25fce5b4e739aab4f44ff3a652d GIT binary patch literal 17272 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 X7IHyB_z7@g-T~&)gHWZ(YH|VqvZ`!^ literal 0 HcmV?d00001 diff --git a/katex/katex.min.css b/katex/katex.min.css new file mode 100644 index 00000000..c0cd1451 --- /dev/null +++ b/katex/katex.min.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Math;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:KaTeX_Math;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"KaTeX_SansSerif";src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"KaTeX_SansSerif";src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"KaTeX_SansSerif";src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Script;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size1;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size2;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size3;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size4;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Typewriter;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype");font-weight:400;font-style:normal}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.11.1"}.katex .katex-mathml{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathdefault{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-weight:700;font-style:italic}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;vertical-align:bottom;position:relative}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;vertical-align:bottom;font-size:1px;width:2px;min-width:2px}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{display:inline-block;border:0 solid;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{display:inline-block;width:100%;border-bottom-style:solid}.katex .hdashline{display:inline-block;width:100%;border-bottom-style:dashed}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .op-limits>.vlist-t{text-align:center}.katex .accent>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{display:block;position:absolute;width:100%;height:inherit;fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex svg path{stroke:none}.katex img{border-style:none;min-width:0;min-height:0;max-width:none;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{position:absolute;left:0;width:50.2%;overflow:hidden}.katex .halfarrow-right{position:absolute;right:0;width:50.2%;overflow:hidden}.katex .brace-left{position:absolute;left:0;width:25.1%;overflow:hidden}.katex .brace-center{position:absolute;left:25%;width:50%;overflow:hidden}.katex .brace-right{position:absolute;right:0;width:25.1%;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left} diff --git a/katex/katex.min.js b/katex/katex.min.js new file mode 100644 index 00000000..906ce128 --- /dev/null +++ b/katex/katex.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.katex=e():t.katex=e()}("undefined"!=typeof self?self:this,function(){return function(t){var e={};function r(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(a,n,function(e){return t[e]}.bind(null,n));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e,r){},function(t,e,r){"use strict";r.r(e);r(0);var a=function(){function t(t,e,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=t,this.start=e,this.end=r}return t.range=function(e,r){return r?e&&e.loc&&r.loc&&e.loc.lexer===r.loc.lexer?new t(e.loc.lexer,e.loc.start,r.loc.end):null:e&&e.loc},t}(),n=function(){function t(t,e){this.text=void 0,this.loc=void 0,this.text=t,this.loc=e}return t.prototype.range=function(e,r){return new t(r,a.range(this,e))},t}(),i=function t(e,r){this.position=void 0;var a,n="KaTeX parse error: "+e,i=r&&r.loc;if(i&&i.start<=i.end){var o=i.lexer.input;a=i.start;var s=i.end;a===o.length?n+=" at end of input: ":n+=" at position "+(a+1)+": ";var h=o.slice(a,s).replace(/[^]/g,"$&\u0332");n+=(a>15?"\u2026"+o.slice(a-15,a):o.slice(0,a))+h+(s+15<o.length?o.slice(s,s+15)+"\u2026":o.slice(s))}var l=new Error(n);return l.name="ParseError",l.__proto__=t.prototype,l.position=a,l};i.prototype.__proto__=Error.prototype;var o=i,s=/([A-Z])/g,h={"&":"&",">":">","<":"<",'"':""","'":"'"},l=/[&><"']/g;var m=function t(e){return"ordgroup"===e.type?1===e.body.length?t(e.body[0]):e:"color"===e.type?1===e.body.length?t(e.body[0]):e:"font"===e.type?t(e.body):e},c={contains:function(t,e){return-1!==t.indexOf(e)},deflt:function(t,e){return void 0===t?e:t},escape:function(t){return String(t).replace(l,function(t){return h[t]})},hyphenate:function(t){return t.replace(s,"-$1").toLowerCase()},getBaseElem:m,isCharacterBox:function(t){var e=m(t);return"mathord"===e.type||"textord"===e.type||"atom"===e.type},protocolFromUrl:function(t){var e=/^\s*([^\\\/#]*?)(?::|�*58|�*3a)/i.exec(t);return null!=e?e[1]:"_relative"}},u=function(){function t(t){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,t=t||{},this.displayMode=c.deflt(t.displayMode,!1),this.output=c.deflt(t.output,"htmlAndMathml"),this.leqno=c.deflt(t.leqno,!1),this.fleqn=c.deflt(t.fleqn,!1),this.throwOnError=c.deflt(t.throwOnError,!0),this.errorColor=c.deflt(t.errorColor,"#cc0000"),this.macros=t.macros||{},this.minRuleThickness=Math.max(0,c.deflt(t.minRuleThickness,0)),this.colorIsTextColor=c.deflt(t.colorIsTextColor,!1),this.strict=c.deflt(t.strict,"warn"),this.trust=c.deflt(t.trust,!1),this.maxSize=Math.max(0,c.deflt(t.maxSize,1/0)),this.maxExpand=Math.max(0,c.deflt(t.maxExpand,1e3))}var e=t.prototype;return e.reportNonstrict=function(t,e,r){var a=this.strict;if("function"==typeof a&&(a=a(t,e,r)),a&&"ignore"!==a){if(!0===a||"error"===a)throw new o("LaTeX-incompatible input and strict mode is set to 'error': "+e+" ["+t+"]",r);"warn"===a?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+e+" ["+t+"]")}},e.useStrictBehavior=function(t,e,r){var a=this.strict;if("function"==typeof a)try{a=a(t,e,r)}catch(t){a="error"}return!(!a||"ignore"===a)&&(!0===a||"error"===a||("warn"===a?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+a+"': "+e+" ["+t+"]"),!1)))},e.isTrusted=function(t){t.url&&!t.protocol&&(t.protocol=c.protocolFromUrl(t.url));var e="function"==typeof this.trust?this.trust(t):this.trust;return Boolean(e)},t}(),p=function(){function t(t,e,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=e,this.cramped=r}var e=t.prototype;return e.sup=function(){return d[f[this.id]]},e.sub=function(){return d[g[this.id]]},e.fracNum=function(){return d[x[this.id]]},e.fracDen=function(){return d[v[this.id]]},e.cramp=function(){return d[b[this.id]]},e.text=function(){return d[y[this.id]]},e.isTight=function(){return this.size>=2},t}(),d=[new p(0,0,!1),new p(1,0,!0),new p(2,1,!1),new p(3,1,!0),new p(4,2,!1),new p(5,2,!0),new p(6,3,!1),new p(7,3,!0)],f=[4,5,4,5,6,7,6,7],g=[5,5,5,5,7,7,7,7],x=[2,3,4,5,6,7,6,7],v=[3,3,5,5,7,7,7,7],b=[1,1,3,3,5,5,7,7],y=[0,1,2,3,2,3,2,3],w={DISPLAY:d[0],TEXT:d[2],SCRIPT:d[4],SCRIPTSCRIPT:d[6]},k=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];var S=[];function M(t){for(var e=0;e<S.length;e+=2)if(t>=S[e]&&t<=S[e+1])return!0;return!1}k.forEach(function(t){return t.blocks.forEach(function(t){return S.push.apply(S,t)})});var z={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},A=function(){function t(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){for(var t=document.createDocumentFragment(),e=0;e<this.children.length;e++)t.appendChild(this.children[e].toNode());return t},e.toMarkup=function(){for(var t="",e=0;e<this.children.length;e++)t+=this.children[e].toMarkup();return t},e.toText=function(){var t=function(t){return t.toText()};return this.children.map(t).join("")},t}(),T=function(t){return t.filter(function(t){return t}).join(" ")},B=function(t,e,r){if(this.classes=t||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},e){e.style.isTight()&&this.classes.push("mtight");var a=e.getColor();a&&(this.style.color=a)}},C=function(t){var e=document.createElement(t);for(var r in e.className=T(this.classes),this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);for(var a in this.attributes)this.attributes.hasOwnProperty(a)&&e.setAttribute(a,this.attributes[a]);for(var n=0;n<this.children.length;n++)e.appendChild(this.children[n].toNode());return e},q=function(t){var e="<"+t;this.classes.length&&(e+=' class="'+c.escape(T(this.classes))+'"');var r="";for(var a in this.style)this.style.hasOwnProperty(a)&&(r+=c.hyphenate(a)+":"+this.style[a]+";");for(var n in r&&(e+=' style="'+c.escape(r)+'"'),this.attributes)this.attributes.hasOwnProperty(n)&&(e+=" "+n+'="'+c.escape(this.attributes[n])+'"');e+=">";for(var i=0;i<this.children.length;i++)e+=this.children[i].toMarkup();return e+="</"+t+">"},N=function(){function t(t,e,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,B.call(this,t,r,a),this.children=e||[]}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){return C.call(this,"span")},e.toMarkup=function(){return q.call(this,"span")},t}(),I=function(){function t(t,e,r,a){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,B.call(this,e,a),this.children=r||[],this.setAttribute("href",t)}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){return C.call(this,"a")},e.toMarkup=function(){return q.call(this,"a")},t}(),R=function(){function t(t,e,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=e,this.src=t,this.classes=["mord"],this.style=r}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){var t=document.createElement("img");for(var e in t.src=this.src,t.alt=this.alt,t.className="mord",this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);return t},e.toMarkup=function(){var t="<img src='"+this.src+" 'alt='"+this.alt+"' ",e="";for(var r in this.style)this.style.hasOwnProperty(r)&&(e+=c.hyphenate(r)+":"+this.style[r]+";");return e&&(t+=' style="'+c.escape(e)+'"'),t+="'/>"},t}(),O={"\xee":"\u0131\u0302","\xef":"\u0131\u0308","\xed":"\u0131\u0301","\xec":"\u0131\u0300"},E=function(){function t(t,e,r,a,n,i,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=t,this.height=e||0,this.depth=r||0,this.italic=a||0,this.skew=n||0,this.width=i||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var h=function(t){for(var e=0;e<k.length;e++)for(var r=k[e],a=0;a<r.blocks.length;a++){var n=r.blocks[a];if(t>=n[0]&&t<=n[1])return r.name}return null}(this.text.charCodeAt(0));h&&this.classes.push(h+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=O[this.text])}var e=t.prototype;return e.hasClass=function(t){return c.contains(this.classes,t)},e.toNode=function(){var t=document.createTextNode(this.text),e=null;for(var r in this.italic>0&&((e=document.createElement("span")).style.marginRight=this.italic+"em"),this.classes.length>0&&((e=e||document.createElement("span")).className=T(this.classes)),this.style)this.style.hasOwnProperty(r)&&((e=e||document.createElement("span")).style[r]=this.style[r]);return e?(e.appendChild(t),e):t},e.toMarkup=function(){var t=!1,e="<span";this.classes.length&&(t=!0,e+=' class="',e+=c.escape(T(this.classes)),e+='"');var r="";for(var a in this.italic>0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(a)&&(r+=c.hyphenate(a)+":"+this.style[a]+";");r&&(t=!0,e+=' style="'+c.escape(r)+'"');var n=c.escape(this.text);return t?(e+=">",e+=n,e+="</span>"):n},t}(),L=function(){function t(t,e){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=e||{}}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},e.toMarkup=function(){var t="<svg";for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+"='"+this.attributes[e]+"'");t+=">";for(var r=0;r<this.children.length;r++)t+=this.children[r].toMarkup();return t+="</svg>"},t}(),H=function(){function t(t,e){this.pathName=void 0,this.alternate=void 0,this.pathName=t,this.alternate=e}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?t.setAttribute("d",this.alternate):t.setAttribute("d",z[this.pathName]),t},e.toMarkup=function(){return this.alternate?"<path d='"+this.alternate+"'/>":"<path d='"+z[this.pathName]+"'/>"},t}(),P=function(){function t(t){this.attributes=void 0,this.attributes=t||{}}var e=t.prototype;return e.toNode=function(){var t=document.createElementNS("http://www.w3.org/2000/svg","line");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);return t},e.toMarkup=function(){var t="<line";for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+"='"+this.attributes[e]+"'");return t+="/>"},t}();function D(t){if(t instanceof E)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}var F={"AMS-Regular":{65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473]},"Fraktur-Regular":{33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],163:[0,.69444,0,0,.86853],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],163:[0,.69444,0,0,.76909],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],305:[0,.43056,0,.02778,.32246],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],567:[.19444,.43056,0,.08334,.38403],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.12,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,1],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.67,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.9,0,0,.278],8943:[-.19,.31,0,0,1.172],8945:[-.1,.82,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.744,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.744,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333]},"Math-Italic":{65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059]},"Math-Regular":{65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059]},"SansSerif-Bold":{33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212]},"Size1-Regular":{40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},V={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},U={"\xc5":"A","\xc7":"C","\xd0":"D","\xde":"o","\xe5":"a","\xe7":"c","\xf0":"d","\xfe":"o","\u0410":"A","\u0411":"B","\u0412":"B","\u0413":"F","\u0414":"A","\u0415":"E","\u0416":"K","\u0417":"3","\u0418":"N","\u0419":"N","\u041a":"K","\u041b":"N","\u041c":"M","\u041d":"H","\u041e":"O","\u041f":"N","\u0420":"P","\u0421":"C","\u0422":"T","\u0423":"y","\u0424":"O","\u0425":"X","\u0426":"U","\u0427":"h","\u0428":"W","\u0429":"W","\u042a":"B","\u042b":"X","\u042c":"B","\u042d":"3","\u042e":"X","\u042f":"R","\u0430":"a","\u0431":"b","\u0432":"a","\u0433":"r","\u0434":"y","\u0435":"e","\u0436":"m","\u0437":"e","\u0438":"n","\u0439":"n","\u043a":"n","\u043b":"n","\u043c":"m","\u043d":"n","\u043e":"o","\u043f":"n","\u0440":"p","\u0441":"c","\u0442":"o","\u0443":"y","\u0444":"b","\u0445":"x","\u0446":"n","\u0447":"n","\u0448":"w","\u0449":"w","\u044a":"a","\u044b":"m","\u044c":"a","\u044d":"e","\u044e":"m","\u044f":"r"};function G(t,e,r){if(!F[e])throw new Error("Font metrics not found for font: "+e+".");var a=t.charCodeAt(0),n=F[e][a];if(!n&&t[0]in U&&(a=U[t[0]].charCodeAt(0),n=F[e][a]),n||"text"!==r||M(a)&&(n=F[e][77]),n)return{depth:n[0],height:n[1],italic:n[2],skew:n[3],width:n[4]}}var Y={};var W={bin:1,close:1,inner:1,open:1,punct:1,rel:1},X={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},_={math:{},text:{}},j=_;function $(t,e,r,a,n,i){_[t][n]={font:e,group:r,replace:a},i&&a&&(_[t][a]=_[t][n])}var Z="main",K="ams",J="bin",Q="mathord",tt="op-token",et="rel";$("math",Z,et,"\u2261","\\equiv",!0),$("math",Z,et,"\u227a","\\prec",!0),$("math",Z,et,"\u227b","\\succ",!0),$("math",Z,et,"\u223c","\\sim",!0),$("math",Z,et,"\u22a5","\\perp"),$("math",Z,et,"\u2aaf","\\preceq",!0),$("math",Z,et,"\u2ab0","\\succeq",!0),$("math",Z,et,"\u2243","\\simeq",!0),$("math",Z,et,"\u2223","\\mid",!0),$("math",Z,et,"\u226a","\\ll",!0),$("math",Z,et,"\u226b","\\gg",!0),$("math",Z,et,"\u224d","\\asymp",!0),$("math",Z,et,"\u2225","\\parallel"),$("math",Z,et,"\u22c8","\\bowtie",!0),$("math",Z,et,"\u2323","\\smile",!0),$("math",Z,et,"\u2291","\\sqsubseteq",!0),$("math",Z,et,"\u2292","\\sqsupseteq",!0),$("math",Z,et,"\u2250","\\doteq",!0),$("math",Z,et,"\u2322","\\frown",!0),$("math",Z,et,"\u220b","\\ni",!0),$("math",Z,et,"\u221d","\\propto",!0),$("math",Z,et,"\u22a2","\\vdash",!0),$("math",Z,et,"\u22a3","\\dashv",!0),$("math",Z,et,"\u220b","\\owns"),$("math",Z,"punct",".","\\ldotp"),$("math",Z,"punct","\u22c5","\\cdotp"),$("math",Z,"textord","#","\\#"),$("text",Z,"textord","#","\\#"),$("math",Z,"textord","&","\\&"),$("text",Z,"textord","&","\\&"),$("math",Z,"textord","\u2135","\\aleph",!0),$("math",Z,"textord","\u2200","\\forall",!0),$("math",Z,"textord","\u210f","\\hbar",!0),$("math",Z,"textord","\u2203","\\exists",!0),$("math",Z,"textord","\u2207","\\nabla",!0),$("math",Z,"textord","\u266d","\\flat",!0),$("math",Z,"textord","\u2113","\\ell",!0),$("math",Z,"textord","\u266e","\\natural",!0),$("math",Z,"textord","\u2663","\\clubsuit",!0),$("math",Z,"textord","\u2118","\\wp",!0),$("math",Z,"textord","\u266f","\\sharp",!0),$("math",Z,"textord","\u2662","\\diamondsuit",!0),$("math",Z,"textord","\u211c","\\Re",!0),$("math",Z,"textord","\u2661","\\heartsuit",!0),$("math",Z,"textord","\u2111","\\Im",!0),$("math",Z,"textord","\u2660","\\spadesuit",!0),$("text",Z,"textord","\xa7","\\S",!0),$("text",Z,"textord","\xb6","\\P",!0),$("math",Z,"textord","\u2020","\\dag"),$("text",Z,"textord","\u2020","\\dag"),$("text",Z,"textord","\u2020","\\textdagger"),$("math",Z,"textord","\u2021","\\ddag"),$("text",Z,"textord","\u2021","\\ddag"),$("text",Z,"textord","\u2021","\\textdaggerdbl"),$("math",Z,"close","\u23b1","\\rmoustache",!0),$("math",Z,"open","\u23b0","\\lmoustache",!0),$("math",Z,"close","\u27ef","\\rgroup",!0),$("math",Z,"open","\u27ee","\\lgroup",!0),$("math",Z,J,"\u2213","\\mp",!0),$("math",Z,J,"\u2296","\\ominus",!0),$("math",Z,J,"\u228e","\\uplus",!0),$("math",Z,J,"\u2293","\\sqcap",!0),$("math",Z,J,"\u2217","\\ast"),$("math",Z,J,"\u2294","\\sqcup",!0),$("math",Z,J,"\u25ef","\\bigcirc"),$("math",Z,J,"\u2219","\\bullet"),$("math",Z,J,"\u2021","\\ddagger"),$("math",Z,J,"\u2240","\\wr",!0),$("math",Z,J,"\u2a3f","\\amalg"),$("math",Z,J,"&","\\And"),$("math",Z,et,"\u27f5","\\longleftarrow",!0),$("math",Z,et,"\u21d0","\\Leftarrow",!0),$("math",Z,et,"\u27f8","\\Longleftarrow",!0),$("math",Z,et,"\u27f6","\\longrightarrow",!0),$("math",Z,et,"\u21d2","\\Rightarrow",!0),$("math",Z,et,"\u27f9","\\Longrightarrow",!0),$("math",Z,et,"\u2194","\\leftrightarrow",!0),$("math",Z,et,"\u27f7","\\longleftrightarrow",!0),$("math",Z,et,"\u21d4","\\Leftrightarrow",!0),$("math",Z,et,"\u27fa","\\Longleftrightarrow",!0),$("math",Z,et,"\u21a6","\\mapsto",!0),$("math",Z,et,"\u27fc","\\longmapsto",!0),$("math",Z,et,"\u2197","\\nearrow",!0),$("math",Z,et,"\u21a9","\\hookleftarrow",!0),$("math",Z,et,"\u21aa","\\hookrightarrow",!0),$("math",Z,et,"\u2198","\\searrow",!0),$("math",Z,et,"\u21bc","\\leftharpoonup",!0),$("math",Z,et,"\u21c0","\\rightharpoonup",!0),$("math",Z,et,"\u2199","\\swarrow",!0),$("math",Z,et,"\u21bd","\\leftharpoondown",!0),$("math",Z,et,"\u21c1","\\rightharpoondown",!0),$("math",Z,et,"\u2196","\\nwarrow",!0),$("math",Z,et,"\u21cc","\\rightleftharpoons",!0),$("math",K,et,"\u226e","\\nless",!0),$("math",K,et,"\ue010","\\@nleqslant"),$("math",K,et,"\ue011","\\@nleqq"),$("math",K,et,"\u2a87","\\lneq",!0),$("math",K,et,"\u2268","\\lneqq",!0),$("math",K,et,"\ue00c","\\@lvertneqq"),$("math",K,et,"\u22e6","\\lnsim",!0),$("math",K,et,"\u2a89","\\lnapprox",!0),$("math",K,et,"\u2280","\\nprec",!0),$("math",K,et,"\u22e0","\\npreceq",!0),$("math",K,et,"\u22e8","\\precnsim",!0),$("math",K,et,"\u2ab9","\\precnapprox",!0),$("math",K,et,"\u2241","\\nsim",!0),$("math",K,et,"\ue006","\\@nshortmid"),$("math",K,et,"\u2224","\\nmid",!0),$("math",K,et,"\u22ac","\\nvdash",!0),$("math",K,et,"\u22ad","\\nvDash",!0),$("math",K,et,"\u22ea","\\ntriangleleft"),$("math",K,et,"\u22ec","\\ntrianglelefteq",!0),$("math",K,et,"\u228a","\\subsetneq",!0),$("math",K,et,"\ue01a","\\@varsubsetneq"),$("math",K,et,"\u2acb","\\subsetneqq",!0),$("math",K,et,"\ue017","\\@varsubsetneqq"),$("math",K,et,"\u226f","\\ngtr",!0),$("math",K,et,"\ue00f","\\@ngeqslant"),$("math",K,et,"\ue00e","\\@ngeqq"),$("math",K,et,"\u2a88","\\gneq",!0),$("math",K,et,"\u2269","\\gneqq",!0),$("math",K,et,"\ue00d","\\@gvertneqq"),$("math",K,et,"\u22e7","\\gnsim",!0),$("math",K,et,"\u2a8a","\\gnapprox",!0),$("math",K,et,"\u2281","\\nsucc",!0),$("math",K,et,"\u22e1","\\nsucceq",!0),$("math",K,et,"\u22e9","\\succnsim",!0),$("math",K,et,"\u2aba","\\succnapprox",!0),$("math",K,et,"\u2246","\\ncong",!0),$("math",K,et,"\ue007","\\@nshortparallel"),$("math",K,et,"\u2226","\\nparallel",!0),$("math",K,et,"\u22af","\\nVDash",!0),$("math",K,et,"\u22eb","\\ntriangleright"),$("math",K,et,"\u22ed","\\ntrianglerighteq",!0),$("math",K,et,"\ue018","\\@nsupseteqq"),$("math",K,et,"\u228b","\\supsetneq",!0),$("math",K,et,"\ue01b","\\@varsupsetneq"),$("math",K,et,"\u2acc","\\supsetneqq",!0),$("math",K,et,"\ue019","\\@varsupsetneqq"),$("math",K,et,"\u22ae","\\nVdash",!0),$("math",K,et,"\u2ab5","\\precneqq",!0),$("math",K,et,"\u2ab6","\\succneqq",!0),$("math",K,et,"\ue016","\\@nsubseteqq"),$("math",K,J,"\u22b4","\\unlhd"),$("math",K,J,"\u22b5","\\unrhd"),$("math",K,et,"\u219a","\\nleftarrow",!0),$("math",K,et,"\u219b","\\nrightarrow",!0),$("math",K,et,"\u21cd","\\nLeftarrow",!0),$("math",K,et,"\u21cf","\\nRightarrow",!0),$("math",K,et,"\u21ae","\\nleftrightarrow",!0),$("math",K,et,"\u21ce","\\nLeftrightarrow",!0),$("math",K,et,"\u25b3","\\vartriangle"),$("math",K,"textord","\u210f","\\hslash"),$("math",K,"textord","\u25bd","\\triangledown"),$("math",K,"textord","\u25ca","\\lozenge"),$("math",K,"textord","\u24c8","\\circledS"),$("math",K,"textord","\xae","\\circledR"),$("text",K,"textord","\xae","\\circledR"),$("math",K,"textord","\u2221","\\measuredangle",!0),$("math",K,"textord","\u2204","\\nexists"),$("math",K,"textord","\u2127","\\mho"),$("math",K,"textord","\u2132","\\Finv",!0),$("math",K,"textord","\u2141","\\Game",!0),$("math",K,"textord","\u2035","\\backprime"),$("math",K,"textord","\u25b2","\\blacktriangle"),$("math",K,"textord","\u25bc","\\blacktriangledown"),$("math",K,"textord","\u25a0","\\blacksquare"),$("math",K,"textord","\u29eb","\\blacklozenge"),$("math",K,"textord","\u2605","\\bigstar"),$("math",K,"textord","\u2222","\\sphericalangle",!0),$("math",K,"textord","\u2201","\\complement",!0),$("math",K,"textord","\xf0","\\eth",!0),$("math",K,"textord","\u2571","\\diagup"),$("math",K,"textord","\u2572","\\diagdown"),$("math",K,"textord","\u25a1","\\square"),$("math",K,"textord","\u25a1","\\Box"),$("math",K,"textord","\u25ca","\\Diamond"),$("math",K,"textord","\xa5","\\yen",!0),$("text",K,"textord","\xa5","\\yen",!0),$("math",K,"textord","\u2713","\\checkmark",!0),$("text",K,"textord","\u2713","\\checkmark"),$("math",K,"textord","\u2136","\\beth",!0),$("math",K,"textord","\u2138","\\daleth",!0),$("math",K,"textord","\u2137","\\gimel",!0),$("math",K,"textord","\u03dd","\\digamma",!0),$("math",K,"textord","\u03f0","\\varkappa"),$("math",K,"open","\u250c","\\ulcorner",!0),$("math",K,"close","\u2510","\\urcorner",!0),$("math",K,"open","\u2514","\\llcorner",!0),$("math",K,"close","\u2518","\\lrcorner",!0),$("math",K,et,"\u2266","\\leqq",!0),$("math",K,et,"\u2a7d","\\leqslant",!0),$("math",K,et,"\u2a95","\\eqslantless",!0),$("math",K,et,"\u2272","\\lesssim",!0),$("math",K,et,"\u2a85","\\lessapprox",!0),$("math",K,et,"\u224a","\\approxeq",!0),$("math",K,J,"\u22d6","\\lessdot"),$("math",K,et,"\u22d8","\\lll",!0),$("math",K,et,"\u2276","\\lessgtr",!0),$("math",K,et,"\u22da","\\lesseqgtr",!0),$("math",K,et,"\u2a8b","\\lesseqqgtr",!0),$("math",K,et,"\u2251","\\doteqdot"),$("math",K,et,"\u2253","\\risingdotseq",!0),$("math",K,et,"\u2252","\\fallingdotseq",!0),$("math",K,et,"\u223d","\\backsim",!0),$("math",K,et,"\u22cd","\\backsimeq",!0),$("math",K,et,"\u2ac5","\\subseteqq",!0),$("math",K,et,"\u22d0","\\Subset",!0),$("math",K,et,"\u228f","\\sqsubset",!0),$("math",K,et,"\u227c","\\preccurlyeq",!0),$("math",K,et,"\u22de","\\curlyeqprec",!0),$("math",K,et,"\u227e","\\precsim",!0),$("math",K,et,"\u2ab7","\\precapprox",!0),$("math",K,et,"\u22b2","\\vartriangleleft"),$("math",K,et,"\u22b4","\\trianglelefteq"),$("math",K,et,"\u22a8","\\vDash",!0),$("math",K,et,"\u22aa","\\Vvdash",!0),$("math",K,et,"\u2323","\\smallsmile"),$("math",K,et,"\u2322","\\smallfrown"),$("math",K,et,"\u224f","\\bumpeq",!0),$("math",K,et,"\u224e","\\Bumpeq",!0),$("math",K,et,"\u2267","\\geqq",!0),$("math",K,et,"\u2a7e","\\geqslant",!0),$("math",K,et,"\u2a96","\\eqslantgtr",!0),$("math",K,et,"\u2273","\\gtrsim",!0),$("math",K,et,"\u2a86","\\gtrapprox",!0),$("math",K,J,"\u22d7","\\gtrdot"),$("math",K,et,"\u22d9","\\ggg",!0),$("math",K,et,"\u2277","\\gtrless",!0),$("math",K,et,"\u22db","\\gtreqless",!0),$("math",K,et,"\u2a8c","\\gtreqqless",!0),$("math",K,et,"\u2256","\\eqcirc",!0),$("math",K,et,"\u2257","\\circeq",!0),$("math",K,et,"\u225c","\\triangleq",!0),$("math",K,et,"\u223c","\\thicksim"),$("math",K,et,"\u2248","\\thickapprox"),$("math",K,et,"\u2ac6","\\supseteqq",!0),$("math",K,et,"\u22d1","\\Supset",!0),$("math",K,et,"\u2290","\\sqsupset",!0),$("math",K,et,"\u227d","\\succcurlyeq",!0),$("math",K,et,"\u22df","\\curlyeqsucc",!0),$("math",K,et,"\u227f","\\succsim",!0),$("math",K,et,"\u2ab8","\\succapprox",!0),$("math",K,et,"\u22b3","\\vartriangleright"),$("math",K,et,"\u22b5","\\trianglerighteq"),$("math",K,et,"\u22a9","\\Vdash",!0),$("math",K,et,"\u2223","\\shortmid"),$("math",K,et,"\u2225","\\shortparallel"),$("math",K,et,"\u226c","\\between",!0),$("math",K,et,"\u22d4","\\pitchfork",!0),$("math",K,et,"\u221d","\\varpropto"),$("math",K,et,"\u25c0","\\blacktriangleleft"),$("math",K,et,"\u2234","\\therefore",!0),$("math",K,et,"\u220d","\\backepsilon"),$("math",K,et,"\u25b6","\\blacktriangleright"),$("math",K,et,"\u2235","\\because",!0),$("math",K,et,"\u22d8","\\llless"),$("math",K,et,"\u22d9","\\gggtr"),$("math",K,J,"\u22b2","\\lhd"),$("math",K,J,"\u22b3","\\rhd"),$("math",K,et,"\u2242","\\eqsim",!0),$("math",Z,et,"\u22c8","\\Join"),$("math",K,et,"\u2251","\\Doteq",!0),$("math",K,J,"\u2214","\\dotplus",!0),$("math",K,J,"\u2216","\\smallsetminus"),$("math",K,J,"\u22d2","\\Cap",!0),$("math",K,J,"\u22d3","\\Cup",!0),$("math",K,J,"\u2a5e","\\doublebarwedge",!0),$("math",K,J,"\u229f","\\boxminus",!0),$("math",K,J,"\u229e","\\boxplus",!0),$("math",K,J,"\u22c7","\\divideontimes",!0),$("math",K,J,"\u22c9","\\ltimes",!0),$("math",K,J,"\u22ca","\\rtimes",!0),$("math",K,J,"\u22cb","\\leftthreetimes",!0),$("math",K,J,"\u22cc","\\rightthreetimes",!0),$("math",K,J,"\u22cf","\\curlywedge",!0),$("math",K,J,"\u22ce","\\curlyvee",!0),$("math",K,J,"\u229d","\\circleddash",!0),$("math",K,J,"\u229b","\\circledast",!0),$("math",K,J,"\u22c5","\\centerdot"),$("math",K,J,"\u22ba","\\intercal",!0),$("math",K,J,"\u22d2","\\doublecap"),$("math",K,J,"\u22d3","\\doublecup"),$("math",K,J,"\u22a0","\\boxtimes",!0),$("math",K,et,"\u21e2","\\dashrightarrow",!0),$("math",K,et,"\u21e0","\\dashleftarrow",!0),$("math",K,et,"\u21c7","\\leftleftarrows",!0),$("math",K,et,"\u21c6","\\leftrightarrows",!0),$("math",K,et,"\u21da","\\Lleftarrow",!0),$("math",K,et,"\u219e","\\twoheadleftarrow",!0),$("math",K,et,"\u21a2","\\leftarrowtail",!0),$("math",K,et,"\u21ab","\\looparrowleft",!0),$("math",K,et,"\u21cb","\\leftrightharpoons",!0),$("math",K,et,"\u21b6","\\curvearrowleft",!0),$("math",K,et,"\u21ba","\\circlearrowleft",!0),$("math",K,et,"\u21b0","\\Lsh",!0),$("math",K,et,"\u21c8","\\upuparrows",!0),$("math",K,et,"\u21bf","\\upharpoonleft",!0),$("math",K,et,"\u21c3","\\downharpoonleft",!0),$("math",K,et,"\u22b8","\\multimap",!0),$("math",K,et,"\u21ad","\\leftrightsquigarrow",!0),$("math",K,et,"\u21c9","\\rightrightarrows",!0),$("math",K,et,"\u21c4","\\rightleftarrows",!0),$("math",K,et,"\u21a0","\\twoheadrightarrow",!0),$("math",K,et,"\u21a3","\\rightarrowtail",!0),$("math",K,et,"\u21ac","\\looparrowright",!0),$("math",K,et,"\u21b7","\\curvearrowright",!0),$("math",K,et,"\u21bb","\\circlearrowright",!0),$("math",K,et,"\u21b1","\\Rsh",!0),$("math",K,et,"\u21ca","\\downdownarrows",!0),$("math",K,et,"\u21be","\\upharpoonright",!0),$("math",K,et,"\u21c2","\\downharpoonright",!0),$("math",K,et,"\u21dd","\\rightsquigarrow",!0),$("math",K,et,"\u21dd","\\leadsto"),$("math",K,et,"\u21db","\\Rrightarrow",!0),$("math",K,et,"\u21be","\\restriction"),$("math",Z,"textord","\u2018","`"),$("math",Z,"textord","$","\\$"),$("text",Z,"textord","$","\\$"),$("text",Z,"textord","$","\\textdollar"),$("math",Z,"textord","%","\\%"),$("text",Z,"textord","%","\\%"),$("math",Z,"textord","_","\\_"),$("text",Z,"textord","_","\\_"),$("text",Z,"textord","_","\\textunderscore"),$("math",Z,"textord","\u2220","\\angle",!0),$("math",Z,"textord","\u221e","\\infty",!0),$("math",Z,"textord","\u2032","\\prime"),$("math",Z,"textord","\u25b3","\\triangle"),$("math",Z,"textord","\u0393","\\Gamma",!0),$("math",Z,"textord","\u0394","\\Delta",!0),$("math",Z,"textord","\u0398","\\Theta",!0),$("math",Z,"textord","\u039b","\\Lambda",!0),$("math",Z,"textord","\u039e","\\Xi",!0),$("math",Z,"textord","\u03a0","\\Pi",!0),$("math",Z,"textord","\u03a3","\\Sigma",!0),$("math",Z,"textord","\u03a5","\\Upsilon",!0),$("math",Z,"textord","\u03a6","\\Phi",!0),$("math",Z,"textord","\u03a8","\\Psi",!0),$("math",Z,"textord","\u03a9","\\Omega",!0),$("math",Z,"textord","A","\u0391"),$("math",Z,"textord","B","\u0392"),$("math",Z,"textord","E","\u0395"),$("math",Z,"textord","Z","\u0396"),$("math",Z,"textord","H","\u0397"),$("math",Z,"textord","I","\u0399"),$("math",Z,"textord","K","\u039a"),$("math",Z,"textord","M","\u039c"),$("math",Z,"textord","N","\u039d"),$("math",Z,"textord","O","\u039f"),$("math",Z,"textord","P","\u03a1"),$("math",Z,"textord","T","\u03a4"),$("math",Z,"textord","X","\u03a7"),$("math",Z,"textord","\xac","\\neg",!0),$("math",Z,"textord","\xac","\\lnot"),$("math",Z,"textord","\u22a4","\\top"),$("math",Z,"textord","\u22a5","\\bot"),$("math",Z,"textord","\u2205","\\emptyset"),$("math",K,"textord","\u2205","\\varnothing"),$("math",Z,Q,"\u03b1","\\alpha",!0),$("math",Z,Q,"\u03b2","\\beta",!0),$("math",Z,Q,"\u03b3","\\gamma",!0),$("math",Z,Q,"\u03b4","\\delta",!0),$("math",Z,Q,"\u03f5","\\epsilon",!0),$("math",Z,Q,"\u03b6","\\zeta",!0),$("math",Z,Q,"\u03b7","\\eta",!0),$("math",Z,Q,"\u03b8","\\theta",!0),$("math",Z,Q,"\u03b9","\\iota",!0),$("math",Z,Q,"\u03ba","\\kappa",!0),$("math",Z,Q,"\u03bb","\\lambda",!0),$("math",Z,Q,"\u03bc","\\mu",!0),$("math",Z,Q,"\u03bd","\\nu",!0),$("math",Z,Q,"\u03be","\\xi",!0),$("math",Z,Q,"\u03bf","\\omicron",!0),$("math",Z,Q,"\u03c0","\\pi",!0),$("math",Z,Q,"\u03c1","\\rho",!0),$("math",Z,Q,"\u03c3","\\sigma",!0),$("math",Z,Q,"\u03c4","\\tau",!0),$("math",Z,Q,"\u03c5","\\upsilon",!0),$("math",Z,Q,"\u03d5","\\phi",!0),$("math",Z,Q,"\u03c7","\\chi",!0),$("math",Z,Q,"\u03c8","\\psi",!0),$("math",Z,Q,"\u03c9","\\omega",!0),$("math",Z,Q,"\u03b5","\\varepsilon",!0),$("math",Z,Q,"\u03d1","\\vartheta",!0),$("math",Z,Q,"\u03d6","\\varpi",!0),$("math",Z,Q,"\u03f1","\\varrho",!0),$("math",Z,Q,"\u03c2","\\varsigma",!0),$("math",Z,Q,"\u03c6","\\varphi",!0),$("math",Z,J,"\u2217","*"),$("math",Z,J,"+","+"),$("math",Z,J,"\u2212","-"),$("math",Z,J,"\u22c5","\\cdot",!0),$("math",Z,J,"\u2218","\\circ"),$("math",Z,J,"\xf7","\\div",!0),$("math",Z,J,"\xb1","\\pm",!0),$("math",Z,J,"\xd7","\\times",!0),$("math",Z,J,"\u2229","\\cap",!0),$("math",Z,J,"\u222a","\\cup",!0),$("math",Z,J,"\u2216","\\setminus"),$("math",Z,J,"\u2227","\\land"),$("math",Z,J,"\u2228","\\lor"),$("math",Z,J,"\u2227","\\wedge",!0),$("math",Z,J,"\u2228","\\vee",!0),$("math",Z,"textord","\u221a","\\surd"),$("math",Z,"open","(","("),$("math",Z,"open","[","["),$("math",Z,"open","\u27e8","\\langle",!0),$("math",Z,"open","\u2223","\\lvert"),$("math",Z,"open","\u2225","\\lVert"),$("math",Z,"close",")",")"),$("math",Z,"close","]","]"),$("math",Z,"close","?","?"),$("math",Z,"close","!","!"),$("math",Z,"close","\u27e9","\\rangle",!0),$("math",Z,"close","\u2223","\\rvert"),$("math",Z,"close","\u2225","\\rVert"),$("math",Z,et,"=","="),$("math",Z,et,"<","<"),$("math",Z,et,">",">"),$("math",Z,et,":",":"),$("math",Z,et,"\u2248","\\approx",!0),$("math",Z,et,"\u2245","\\cong",!0),$("math",Z,et,"\u2265","\\ge"),$("math",Z,et,"\u2265","\\geq",!0),$("math",Z,et,"\u2190","\\gets"),$("math",Z,et,">","\\gt"),$("math",Z,et,"\u2208","\\in",!0),$("math",Z,et,"\ue020","\\@not"),$("math",Z,et,"\u2282","\\subset",!0),$("math",Z,et,"\u2283","\\supset",!0),$("math",Z,et,"\u2286","\\subseteq",!0),$("math",Z,et,"\u2287","\\supseteq",!0),$("math",K,et,"\u2288","\\nsubseteq",!0),$("math",K,et,"\u2289","\\nsupseteq",!0),$("math",Z,et,"\u22a8","\\models"),$("math",Z,et,"\u2190","\\leftarrow",!0),$("math",Z,et,"\u2264","\\le"),$("math",Z,et,"\u2264","\\leq",!0),$("math",Z,et,"<","\\lt"),$("math",Z,et,"\u2192","\\rightarrow",!0),$("math",Z,et,"\u2192","\\to"),$("math",K,et,"\u2271","\\ngeq",!0),$("math",K,et,"\u2270","\\nleq",!0),$("math",Z,"spacing","\xa0","\\ "),$("math",Z,"spacing","\xa0","~"),$("math",Z,"spacing","\xa0","\\space"),$("math",Z,"spacing","\xa0","\\nobreakspace"),$("text",Z,"spacing","\xa0","\\ "),$("text",Z,"spacing","\xa0","~"),$("text",Z,"spacing","\xa0","\\space"),$("text",Z,"spacing","\xa0","\\nobreakspace"),$("math",Z,"spacing",null,"\\nobreak"),$("math",Z,"spacing",null,"\\allowbreak"),$("math",Z,"punct",",",","),$("math",Z,"punct",";",";"),$("math",K,J,"\u22bc","\\barwedge",!0),$("math",K,J,"\u22bb","\\veebar",!0),$("math",Z,J,"\u2299","\\odot",!0),$("math",Z,J,"\u2295","\\oplus",!0),$("math",Z,J,"\u2297","\\otimes",!0),$("math",Z,"textord","\u2202","\\partial",!0),$("math",Z,J,"\u2298","\\oslash",!0),$("math",K,J,"\u229a","\\circledcirc",!0),$("math",K,J,"\u22a1","\\boxdot",!0),$("math",Z,J,"\u25b3","\\bigtriangleup"),$("math",Z,J,"\u25bd","\\bigtriangledown"),$("math",Z,J,"\u2020","\\dagger"),$("math",Z,J,"\u22c4","\\diamond"),$("math",Z,J,"\u22c6","\\star"),$("math",Z,J,"\u25c3","\\triangleleft"),$("math",Z,J,"\u25b9","\\triangleright"),$("math",Z,"open","{","\\{"),$("text",Z,"textord","{","\\{"),$("text",Z,"textord","{","\\textbraceleft"),$("math",Z,"close","}","\\}"),$("text",Z,"textord","}","\\}"),$("text",Z,"textord","}","\\textbraceright"),$("math",Z,"open","{","\\lbrace"),$("math",Z,"close","}","\\rbrace"),$("math",Z,"open","[","\\lbrack"),$("text",Z,"textord","[","\\lbrack"),$("math",Z,"close","]","\\rbrack"),$("text",Z,"textord","]","\\rbrack"),$("math",Z,"open","(","\\lparen"),$("math",Z,"close",")","\\rparen"),$("text",Z,"textord","<","\\textless"),$("text",Z,"textord",">","\\textgreater"),$("math",Z,"open","\u230a","\\lfloor",!0),$("math",Z,"close","\u230b","\\rfloor",!0),$("math",Z,"open","\u2308","\\lceil",!0),$("math",Z,"close","\u2309","\\rceil",!0),$("math",Z,"textord","\\","\\backslash"),$("math",Z,"textord","\u2223","|"),$("math",Z,"textord","\u2223","\\vert"),$("text",Z,"textord","|","\\textbar"),$("math",Z,"textord","\u2225","\\|"),$("math",Z,"textord","\u2225","\\Vert"),$("text",Z,"textord","\u2225","\\textbardbl"),$("text",Z,"textord","~","\\textasciitilde"),$("text",Z,"textord","\\","\\textbackslash"),$("text",Z,"textord","^","\\textasciicircum"),$("math",Z,et,"\u2191","\\uparrow",!0),$("math",Z,et,"\u21d1","\\Uparrow",!0),$("math",Z,et,"\u2193","\\downarrow",!0),$("math",Z,et,"\u21d3","\\Downarrow",!0),$("math",Z,et,"\u2195","\\updownarrow",!0),$("math",Z,et,"\u21d5","\\Updownarrow",!0),$("math",Z,tt,"\u2210","\\coprod"),$("math",Z,tt,"\u22c1","\\bigvee"),$("math",Z,tt,"\u22c0","\\bigwedge"),$("math",Z,tt,"\u2a04","\\biguplus"),$("math",Z,tt,"\u22c2","\\bigcap"),$("math",Z,tt,"\u22c3","\\bigcup"),$("math",Z,tt,"\u222b","\\int"),$("math",Z,tt,"\u222b","\\intop"),$("math",Z,tt,"\u222c","\\iint"),$("math",Z,tt,"\u222d","\\iiint"),$("math",Z,tt,"\u220f","\\prod"),$("math",Z,tt,"\u2211","\\sum"),$("math",Z,tt,"\u2a02","\\bigotimes"),$("math",Z,tt,"\u2a01","\\bigoplus"),$("math",Z,tt,"\u2a00","\\bigodot"),$("math",Z,tt,"\u222e","\\oint"),$("math",Z,tt,"\u222f","\\oiint"),$("math",Z,tt,"\u2230","\\oiiint"),$("math",Z,tt,"\u2a06","\\bigsqcup"),$("math",Z,tt,"\u222b","\\smallint"),$("text",Z,"inner","\u2026","\\textellipsis"),$("math",Z,"inner","\u2026","\\mathellipsis"),$("text",Z,"inner","\u2026","\\ldots",!0),$("math",Z,"inner","\u2026","\\ldots",!0),$("math",Z,"inner","\u22ef","\\@cdots",!0),$("math",Z,"inner","\u22f1","\\ddots",!0),$("math",Z,"textord","\u22ee","\\varvdots"),$("math",Z,"accent-token","\u02ca","\\acute"),$("math",Z,"accent-token","\u02cb","\\grave"),$("math",Z,"accent-token","\xa8","\\ddot"),$("math",Z,"accent-token","~","\\tilde"),$("math",Z,"accent-token","\u02c9","\\bar"),$("math",Z,"accent-token","\u02d8","\\breve"),$("math",Z,"accent-token","\u02c7","\\check"),$("math",Z,"accent-token","^","\\hat"),$("math",Z,"accent-token","\u20d7","\\vec"),$("math",Z,"accent-token","\u02d9","\\dot"),$("math",Z,"accent-token","\u02da","\\mathring"),$("math",Z,Q,"\u0131","\\imath",!0),$("math",Z,Q,"\u0237","\\jmath",!0),$("text",Z,"textord","\u0131","\\i",!0),$("text",Z,"textord","\u0237","\\j",!0),$("text",Z,"textord","\xdf","\\ss",!0),$("text",Z,"textord","\xe6","\\ae",!0),$("text",Z,"textord","\xe6","\\ae",!0),$("text",Z,"textord","\u0153","\\oe",!0),$("text",Z,"textord","\xf8","\\o",!0),$("text",Z,"textord","\xc6","\\AE",!0),$("text",Z,"textord","\u0152","\\OE",!0),$("text",Z,"textord","\xd8","\\O",!0),$("text",Z,"accent-token","\u02ca","\\'"),$("text",Z,"accent-token","\u02cb","\\`"),$("text",Z,"accent-token","\u02c6","\\^"),$("text",Z,"accent-token","\u02dc","\\~"),$("text",Z,"accent-token","\u02c9","\\="),$("text",Z,"accent-token","\u02d8","\\u"),$("text",Z,"accent-token","\u02d9","\\."),$("text",Z,"accent-token","\u02da","\\r"),$("text",Z,"accent-token","\u02c7","\\v"),$("text",Z,"accent-token","\xa8",'\\"'),$("text",Z,"accent-token","\u02dd","\\H"),$("text",Z,"accent-token","\u25ef","\\textcircled");var rt={"--":!0,"---":!0,"``":!0,"''":!0};$("text",Z,"textord","\u2013","--"),$("text",Z,"textord","\u2013","\\textendash"),$("text",Z,"textord","\u2014","---"),$("text",Z,"textord","\u2014","\\textemdash"),$("text",Z,"textord","\u2018","`"),$("text",Z,"textord","\u2018","\\textquoteleft"),$("text",Z,"textord","\u2019","'"),$("text",Z,"textord","\u2019","\\textquoteright"),$("text",Z,"textord","\u201c","``"),$("text",Z,"textord","\u201c","\\textquotedblleft"),$("text",Z,"textord","\u201d","''"),$("text",Z,"textord","\u201d","\\textquotedblright"),$("math",Z,"textord","\xb0","\\degree",!0),$("text",Z,"textord","\xb0","\\degree"),$("text",Z,"textord","\xb0","\\textdegree",!0),$("math",Z,Q,"\xa3","\\pounds"),$("math",Z,Q,"\xa3","\\mathsterling",!0),$("text",Z,Q,"\xa3","\\pounds"),$("text",Z,Q,"\xa3","\\textsterling",!0),$("math",K,"textord","\u2720","\\maltese"),$("text",K,"textord","\u2720","\\maltese"),$("text",Z,"spacing","\xa0","\\ "),$("text",Z,"spacing","\xa0"," "),$("text",Z,"spacing","\xa0","~");for(var at=0;at<'0123456789/@."'.length;at++){var nt='0123456789/@."'.charAt(at);$("math",Z,"textord",nt,nt)}for(var it=0;it<'0123456789!@*()-=+[]<>|";:?/.,'.length;it++){var ot='0123456789!@*()-=+[]<>|";:?/.,'.charAt(it);$("text",Z,"textord",ot,ot)}for(var st="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",ht=0;ht<st.length;ht++){var lt=st.charAt(ht);$("math",Z,Q,lt,lt),$("text",Z,"textord",lt,lt)}$("math",K,"textord","C","\u2102"),$("text",K,"textord","C","\u2102"),$("math",K,"textord","H","\u210d"),$("text",K,"textord","H","\u210d"),$("math",K,"textord","N","\u2115"),$("text",K,"textord","N","\u2115"),$("math",K,"textord","P","\u2119"),$("text",K,"textord","P","\u2119"),$("math",K,"textord","Q","\u211a"),$("text",K,"textord","Q","\u211a"),$("math",K,"textord","R","\u211d"),$("text",K,"textord","R","\u211d"),$("math",K,"textord","Z","\u2124"),$("text",K,"textord","Z","\u2124"),$("math",Z,Q,"h","\u210e"),$("text",Z,Q,"h","\u210e");for(var mt="",ct=0;ct<st.length;ct++){var ut=st.charAt(ct);$("math",Z,Q,ut,mt=String.fromCharCode(55349,56320+ct)),$("text",Z,"textord",ut,mt),$("math",Z,Q,ut,mt=String.fromCharCode(55349,56372+ct)),$("text",Z,"textord",ut,mt),$("math",Z,Q,ut,mt=String.fromCharCode(55349,56424+ct)),$("text",Z,"textord",ut,mt),$("math",Z,Q,ut,mt=String.fromCharCode(55349,56580+ct)),$("text",Z,"textord",ut,mt),$("math",Z,Q,ut,mt=String.fromCharCode(55349,56736+ct)),$("text",Z,"textord",ut,mt),$("math",Z,Q,ut,mt=String.fromCharCode(55349,56788+ct)),$("text",Z,"textord",ut,mt),$("math",Z,Q,ut,mt=String.fromCharCode(55349,56840+ct)),$("text",Z,"textord",ut,mt),$("math",Z,Q,ut,mt=String.fromCharCode(55349,56944+ct)),$("text",Z,"textord",ut,mt),ct<26&&($("math",Z,Q,ut,mt=String.fromCharCode(55349,56632+ct)),$("text",Z,"textord",ut,mt),$("math",Z,Q,ut,mt=String.fromCharCode(55349,56476+ct)),$("text",Z,"textord",ut,mt))}$("math",Z,Q,"k",mt=String.fromCharCode(55349,56668)),$("text",Z,"textord","k",mt);for(var pt=0;pt<10;pt++){var dt=pt.toString();$("math",Z,Q,dt,mt=String.fromCharCode(55349,57294+pt)),$("text",Z,"textord",dt,mt),$("math",Z,Q,dt,mt=String.fromCharCode(55349,57314+pt)),$("text",Z,"textord",dt,mt),$("math",Z,Q,dt,mt=String.fromCharCode(55349,57324+pt)),$("text",Z,"textord",dt,mt),$("math",Z,Q,dt,mt=String.fromCharCode(55349,57334+pt)),$("text",Z,"textord",dt,mt)}for(var ft=0;ft<"\xc7\xd0\xde\xe7\xfe".length;ft++){var gt="\xc7\xd0\xde\xe7\xfe".charAt(ft);$("math",Z,Q,gt,gt),$("text",Z,"textord",gt,gt)}$("text",Z,"textord","\xf0","\xf0"),$("text",Z,"textord","\u2013","\u2013"),$("text",Z,"textord","\u2014","\u2014"),$("text",Z,"textord","\u2018","\u2018"),$("text",Z,"textord","\u2019","\u2019"),$("text",Z,"textord","\u201c","\u201c"),$("text",Z,"textord","\u201d","\u201d");var xt=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathdefault","textit","Math-Italic"],["mathdefault","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["","",""],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],vt=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],bt=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],yt=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],wt=function(t,e){return e.size<2?t:bt[t-1][e.size-1]},kt=function(){function t(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=yt[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}var e=t.prototype;return e.extend=function(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var a in e)e.hasOwnProperty(a)&&(r[a]=e[a]);return new t(r)},e.havingStyle=function(t){return this.style===t?this:this.extend({style:t,size:wt(this.textSize,t)})},e.havingCrampedStyle=function(){return this.havingStyle(this.style.cramp())},e.havingSize=function(t){return this.size===t&&this.textSize===t?this:this.extend({style:this.style.text(),size:t,textSize:t,sizeMultiplier:yt[t-1]})},e.havingBaseStyle=function(e){e=e||this.style.text();var r=wt(t.BASESIZE,e);return this.size===r&&this.textSize===t.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})},e.havingBaseSizing=function(){var t;switch(this.style.id){case 4:case 5:t=3;break;case 6:case 7:t=1;break;default:t=6}return this.extend({style:this.style.text(),size:t})},e.withColor=function(t){return this.extend({color:t})},e.withPhantom=function(){return this.extend({phantom:!0})},e.withFont=function(t){return this.extend({font:t})},e.withTextFontFamily=function(t){return this.extend({fontFamily:t,font:""})},e.withTextFontWeight=function(t){return this.extend({fontWeight:t,font:""})},e.withTextFontShape=function(t){return this.extend({fontShape:t,font:""})},e.sizingClasses=function(t){return t.size!==this.size?["sizing","reset-size"+t.size,"size"+this.size]:[]},e.baseSizingClasses=function(){return this.size!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]},e.fontMetrics=function(){return this._fontMetrics||(this._fontMetrics=function(t){var e;if(!Y[e=t>=5?0:t>=3?1:2]){var r=Y[e]={cssEmPerMu:V.quad[e]/18};for(var a in V)V.hasOwnProperty(a)&&(r[a]=V[a][e])}return Y[e]}(this.size)),this._fontMetrics},e.getColor=function(){return this.phantom?"transparent":this.color},t}();kt.BASESIZE=6;var St=kt,Mt={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},zt={ex:!0,em:!0,mu:!0},At=function(t){return"string"!=typeof t&&(t=t.unit),t in Mt||t in zt||"ex"===t},Tt=function(t,e){var r;if(t.unit in Mt)r=Mt[t.unit]/e.fontMetrics().ptPerEm/e.sizeMultiplier;else if("mu"===t.unit)r=e.fontMetrics().cssEmPerMu;else{var a;if(a=e.style.isTight()?e.havingStyle(e.style.text()):e,"ex"===t.unit)r=a.fontMetrics().xHeight;else{if("em"!==t.unit)throw new o("Invalid unit: '"+t.unit+"'");r=a.fontMetrics().quad}a!==e&&(r*=a.sizeMultiplier/e.sizeMultiplier)}return Math.min(t.number*r,e.maxSize)},Bt=["\\imath","\u0131","\\jmath","\u0237","\\pounds","\\mathsterling","\\textsterling","\xa3"],Ct=function(t,e,r){return j[r][t]&&j[r][t].replace&&(t=j[r][t].replace),{value:t,metrics:G(t,e,r)}},qt=function(t,e,r,a,n){var i,o=Ct(t,e,r),s=o.metrics;if(t=o.value,s){var h=s.italic;("text"===r||a&&"mathit"===a.font)&&(h=0),i=new E(t,s.height,s.depth,h,s.skew,s.width,n)}else"undefined"!=typeof console&&console.warn("No character metrics for '"+t+"' in style '"+e+"' and mode '"+r+"'"),i=new E(t,0,0,0,0,0,n);if(a){i.maxFontSize=a.sizeMultiplier,a.style.isTight()&&i.classes.push("mtight");var l=a.getColor();l&&(i.style.color=l)}return i},Nt=function(t,e){if(T(t.classes)!==T(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;for(var r in t.style)if(t.style.hasOwnProperty(r)&&t.style[r]!==e.style[r])return!1;for(var a in e.style)if(e.style.hasOwnProperty(a)&&t.style[a]!==e.style[a])return!1;return!0},It=function(t){for(var e=0,r=0,a=0,n=0;n<t.children.length;n++){var i=t.children[n];i.height>e&&(e=i.height),i.depth>r&&(r=i.depth),i.maxFontSize>a&&(a=i.maxFontSize)}t.height=e,t.depth=r,t.maxFontSize=a},Rt=function(t,e,r,a){var n=new N(t,e,r,a);return It(n),n},Ot=function(t,e,r,a){return new N(t,e,r,a)},Et=function(t){var e=new A(t);return It(e),e},Lt=function(t,e,r){var a="";switch(t){case"amsrm":a="AMS";break;case"textrm":a="Main";break;case"textsf":a="SansSerif";break;case"texttt":a="Typewriter";break;default:a=t}return a+"-"+("textbf"===e&&"textit"===r?"BoldItalic":"textbf"===e?"Bold":"textit"===e?"Italic":"Regular")},Ht={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Pt={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Dt={fontMap:Ht,makeSymbol:qt,mathsym:function(t,e,r,a){return void 0===a&&(a=[]),"boldsymbol"===r.font&&Ct(t,"Main-Bold",e).metrics?qt(t,"Main-Bold",e,r,a.concat(["mathbf"])):"\\"===t||"main"===j[e][t].font?qt(t,"Main-Regular",e,r,a):qt(t,"AMS-Regular",e,r,a.concat(["amsrm"]))},makeSpan:Rt,makeSvgSpan:Ot,makeLineSpan:function(t,e,r){var a=Rt([t],[],e);return a.height=Math.max(r||e.fontMetrics().defaultRuleThickness,e.minRuleThickness),a.style.borderBottomWidth=a.height+"em",a.maxFontSize=1,a},makeAnchor:function(t,e,r,a){var n=new I(t,e,r,a);return It(n),n},makeFragment:Et,wrapFragment:function(t,e){return t instanceof A?Rt([],[t],e):t},makeVList:function(t,e){for(var r=function(t){if("individualShift"===t.positionType){for(var e=t.children,r=[e[0]],a=-e[0].shift-e[0].elem.depth,n=a,i=1;i<e.length;i++){var o=-e[i].shift-n-e[i].elem.depth,s=o-(e[i-1].elem.height+e[i-1].elem.depth);n+=o,r.push({type:"kern",size:s}),r.push(e[i])}return{children:r,depth:a}}var h;if("top"===t.positionType){for(var l=t.positionData,m=0;m<t.children.length;m++){var c=t.children[m];l-="kern"===c.type?c.size:c.elem.height+c.elem.depth}h=l}else if("bottom"===t.positionType)h=-t.positionData;else{var u=t.children[0];if("elem"!==u.type)throw new Error('First child must have type "elem".');if("shift"===t.positionType)h=-u.elem.depth-t.positionData;else{if("firstBaseline"!==t.positionType)throw new Error("Invalid positionType "+t.positionType+".");h=-u.elem.depth}}return{children:t.children,depth:h}}(t),a=r.children,n=r.depth,i=0,o=0;o<a.length;o++){var s=a[o];if("elem"===s.type){var h=s.elem;i=Math.max(i,h.maxFontSize,h.height)}}i+=2;var l=Rt(["pstrut"],[]);l.style.height=i+"em";for(var m=[],c=n,u=n,p=n,d=0;d<a.length;d++){var f=a[d];if("kern"===f.type)p+=f.size;else{var g=f.elem,x=f.wrapperClasses||[],v=f.wrapperStyle||{},b=Rt(x,[l,g],void 0,v);b.style.top=-i-p-g.depth+"em",f.marginLeft&&(b.style.marginLeft=f.marginLeft),f.marginRight&&(b.style.marginRight=f.marginRight),m.push(b),p+=g.height+g.depth}c=Math.min(c,p),u=Math.max(u,p)}var y,w=Rt(["vlist"],m);if(w.style.height=u+"em",c<0){var k=Rt([],[]),S=Rt(["vlist"],[k]);S.style.height=-c+"em";var M=Rt(["vlist-s"],[new E("\u200b")]);y=[Rt(["vlist-r"],[w,M]),Rt(["vlist-r"],[S])]}else y=[Rt(["vlist-r"],[w])];var z=Rt(["vlist-t"],y);return 2===y.length&&z.classes.push("vlist-t2"),z.height=u,z.depth=-c,z},makeOrd:function(t,e,r){var a,n=t.mode,i=t.text,s=["mord"],h="math"===n||"text"===n&&e.font,l=h?e.font:e.fontFamily;if(55349===i.charCodeAt(0)){var m=function(t,e){var r=1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536,a="math"===e?0:1;if(119808<=r&&r<120484){var n=Math.floor((r-119808)/26);return[xt[n][2],xt[n][a]]}if(120782<=r&&r<=120831){var i=Math.floor((r-120782)/10);return[vt[i][2],vt[i][a]]}if(120485===r||120486===r)return[xt[0][2],xt[0][a]];if(120486<r&&r<120782)return["",""];throw new o("Unsupported character: "+t)}(i,n),u=m[0],p=m[1];return qt(i,u,n,e,s.concat(p))}if(l){var d,f;if("boldsymbol"===l||"mathnormal"===l){var g="boldsymbol"===l?function(t,e,r,a){return Ct(t,"Math-BoldItalic",e).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(i,n):(a=i,c.contains(Bt,a)?{fontName:"Main-Italic",fontClass:"mathit"}:/[0-9]/.test(a.charAt(0))?{fontName:"Caligraphic-Regular",fontClass:"mathcal"}:{fontName:"Math-Italic",fontClass:"mathdefault"});d=g.fontName,f=[g.fontClass]}else c.contains(Bt,i)?(d="Main-Italic",f=["mathit"]):h?(d=Ht[l].fontName,f=[l]):(d=Lt(l,e.fontWeight,e.fontShape),f=[l,e.fontWeight,e.fontShape]);if(Ct(i,d,n).metrics)return qt(i,d,n,e,s.concat(f));if(rt.hasOwnProperty(i)&&"Typewriter"===d.substr(0,10)){for(var x=[],v=0;v<i.length;v++)x.push(qt(i[v],d,n,e,s.concat(f)));return Et(x)}}if("mathord"===r){var b=function(t,e,r,a){return/[0-9]/.test(t.charAt(0))||c.contains(Bt,t)?{fontName:"Main-Italic",fontClass:"mathit"}:{fontName:"Math-Italic",fontClass:"mathdefault"}}(i);return qt(i,b.fontName,n,e,s.concat([b.fontClass]))}if("textord"===r){var y=j[n][i]&&j[n][i].font;if("ams"===y){var w=Lt("amsrm",e.fontWeight,e.fontShape);return qt(i,w,n,e,s.concat("amsrm",e.fontWeight,e.fontShape))}if("main"!==y&&y){var k=Lt(y,e.fontWeight,e.fontShape);return qt(i,k,n,e,s.concat(k,e.fontWeight,e.fontShape))}var S=Lt("textrm",e.fontWeight,e.fontShape);return qt(i,S,n,e,s.concat(e.fontWeight,e.fontShape))}throw new Error("unexpected type: "+r+" in makeOrd")},makeGlue:function(t,e){var r=Rt(["mspace"],[],e),a=Tt(t,e);return r.style.marginRight=a+"em",r},staticSvg:function(t,e){var r=Pt[t],a=r[0],n=r[1],i=r[2],o=new H(a),s=new L([o],{width:n+"em",height:i+"em",style:"width:"+n+"em",viewBox:"0 0 "+1e3*n+" "+1e3*i,preserveAspectRatio:"xMinYMin"}),h=Ot(["overlay"],[s],e);return h.height=i,h.style.height=i+"em",h.style.width=n+"em",h},svgData:Pt,tryCombineChars:function(t){for(var e=0;e<t.length-1;e++){var r=t[e],a=t[e+1];r instanceof E&&a instanceof E&&Nt(r,a)&&(r.text+=a.text,r.height=Math.max(r.height,a.height),r.depth=Math.max(r.depth,a.depth),r.italic=a.italic,t.splice(e+1,1),e--)}return t}};function Ft(t,e){var r=Vt(t,e);if(!r)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return r}function Vt(t,e){return t&&t.type===e?t:null}function Ut(t,e){var r=function(t,e){return t&&"atom"===t.type&&t.family===e?t:null}(t,e);if(!r)throw new Error('Expected node of type "atom" and family "'+e+'", but got '+(t?"atom"===t.type?"atom of family "+t.family:"node of type "+t.type:String(t)));return r}function Gt(t){var e=Yt(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function Yt(t){return t&&("atom"===t.type||X.hasOwnProperty(t.type))?t:null}var Wt={number:3,unit:"mu"},Xt={number:4,unit:"mu"},_t={number:5,unit:"mu"},jt={mord:{mop:Wt,mbin:Xt,mrel:_t,minner:Wt},mop:{mord:Wt,mop:Wt,mrel:_t,minner:Wt},mbin:{mord:Xt,mop:Xt,mopen:Xt,minner:Xt},mrel:{mord:_t,mop:_t,mopen:_t,minner:_t},mopen:{},mclose:{mop:Wt,mbin:Xt,mrel:_t,minner:Wt},mpunct:{mord:Wt,mop:Wt,mrel:_t,mopen:Wt,mclose:Wt,mpunct:Wt,minner:Wt},minner:{mord:Wt,mop:Wt,mbin:Xt,mrel:_t,mopen:Wt,mpunct:Wt,minner:Wt}},$t={mord:{mop:Wt},mop:{mord:Wt,mop:Wt},mbin:{},mrel:{},mopen:{},mclose:{mop:Wt},mpunct:{},minner:{mop:Wt}},Zt={},Kt={},Jt={};function Qt(t){for(var e=t.type,r=t.names,a=t.props,n=t.handler,i=t.htmlBuilder,o=t.mathmlBuilder,s={type:e,numArgs:a.numArgs,argTypes:a.argTypes,greediness:void 0===a.greediness?1:a.greediness,allowedInText:!!a.allowedInText,allowedInMath:void 0===a.allowedInMath||a.allowedInMath,numOptionalArgs:a.numOptionalArgs||0,infix:!!a.infix,handler:n},h=0;h<r.length;++h)Zt[r[h]]=s;e&&(i&&(Kt[e]=i),o&&(Jt[e]=o))}function te(t){Qt({type:t.type,names:[],props:{numArgs:0},handler:function(){throw new Error("Should never be called.")},htmlBuilder:t.htmlBuilder,mathmlBuilder:t.mathmlBuilder})}var ee=function(t){var e=Vt(t,"ordgroup");return e?e.body:[t]},re=Dt.makeSpan,ae=["leftmost","mbin","mopen","mrel","mop","mpunct"],ne=["rightmost","mrel","mclose","mpunct"],ie={display:w.DISPLAY,text:w.TEXT,script:w.SCRIPT,scriptscript:w.SCRIPTSCRIPT},oe={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},se=function(t,e,r,a){void 0===a&&(a=[null,null]);for(var n=[],i=0;i<t.length;i++){var o=ue(t[i],e);if(o instanceof A){var s=o.children;n.push.apply(n,s)}else n.push(o)}if(!r)return n;var h=e;if(1===t.length){var l=Vt(t[0],"sizing")||Vt(t[0],"styling");l&&("sizing"===l.type?h=e.havingSize(l.size):"styling"===l.type&&(h=e.havingStyle(ie[l.style])))}var m=re([a[0]||"leftmost"],[],e),u=re([a[1]||"rightmost"],[],e);return he(n,function(t,e){var r=e.classes[0],a=t.classes[0];"mbin"===r&&c.contains(ne,a)?e.classes[0]="mord":"mbin"===a&&c.contains(ae,r)&&(t.classes[0]="mord")},{node:m},u),he(n,function(t,e){var r=me(e),a=me(t),n=r&&a?t.hasClass("mtight")?$t[r][a]:jt[r][a]:null;if(n)return Dt.makeGlue(n,h)},{node:m},u),n},he=function t(e,r,a,n){n&&e.push(n);for(var i=0;i<e.length;i++){var o=e[i],s=le(o);if(s)t(s.children,r,a);else if("mspace"!==o.classes[0]){var h=r(o,a.node);h&&(a.insertAfter?a.insertAfter(h):(e.unshift(h),i++)),a.node=o,a.insertAfter=function(t){return function(r){e.splice(t+1,0,r),i++}}(i)}}n&&e.pop()},le=function(t){return t instanceof A||t instanceof I?t:null},me=function(t,e){return t?(e&&(t=function t(e,r){var a=le(e);if(a){var n=a.children;if(n.length){if("right"===r)return t(n[n.length-1],"right");if("left"===r)return t(n[0],"left")}}return e}(t,e)),oe[t.classes[0]]||null):null},ce=function(t,e){var r=["nulldelimiter"].concat(t.baseSizingClasses());return re(e.concat(r))},ue=function(t,e,r){if(!t)return re();if(Kt[t.type]){var a=Kt[t.type](t,e);if(r&&e.size!==r.size){a=re(e.sizingClasses(r),[a],e);var n=e.sizeMultiplier/r.sizeMultiplier;a.height*=n,a.depth*=n}return a}throw new o("Got group of unknown type: '"+t.type+"'")};function pe(t,e){var r=re(["base"],t,e),a=re(["strut"]);return a.style.height=r.height+r.depth+"em",a.style.verticalAlign=-r.depth+"em",r.children.unshift(a),r}function de(t,e){var r=null;1===t.length&&"tag"===t[0].type&&(r=t[0].tag,t=t[0].body);for(var a,n=se(t,e,!0),i=[],o=[],s=0;s<n.length;s++)if(o.push(n[s]),n[s].hasClass("mbin")||n[s].hasClass("mrel")||n[s].hasClass("allowbreak")){for(var h=!1;s<n.length-1&&n[s+1].hasClass("mspace")&&!n[s+1].hasClass("newline");)s++,o.push(n[s]),n[s].hasClass("nobreak")&&(h=!0);h||(i.push(pe(o,e)),o=[])}else n[s].hasClass("newline")&&(o.pop(),o.length>0&&(i.push(pe(o,e)),o=[]),i.push(n[s]));o.length>0&&i.push(pe(o,e)),r&&((a=pe(se(r,e,!0))).classes=["tag"],i.push(a));var l=re(["katex-html"],i);if(l.setAttribute("aria-hidden","true"),a){var m=a.children[0];m.style.height=l.height+l.depth+"em",m.style.verticalAlign=-l.depth+"em"}return l}function fe(t){return new A(t)}var ge=function(){function t(t,e){this.type=void 0,this.attributes=void 0,this.children=void 0,this.type=t,this.attributes={},this.children=e||[]}var e=t.prototype;return e.setAttribute=function(t,e){this.attributes[t]=e},e.getAttribute=function(t){return this.attributes[t]},e.toNode=function(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var r=0;r<this.children.length;r++)t.appendChild(this.children[r].toNode());return t},e.toMarkup=function(){var t="<"+this.type;for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&(t+=" "+e+'="',t+=c.escape(this.attributes[e]),t+='"');t+=">";for(var r=0;r<this.children.length;r++)t+=this.children[r].toMarkup();return t+="</"+this.type+">"},e.toText=function(){return this.children.map(function(t){return t.toText()}).join("")},t}(),xe=function(){function t(t){this.text=void 0,this.text=t}var e=t.prototype;return e.toNode=function(){return document.createTextNode(this.text)},e.toMarkup=function(){return c.escape(this.toText())},e.toText=function(){return this.text},t}(),ve={MathNode:ge,TextNode:xe,SpaceNode:function(){function t(t){this.width=void 0,this.character=void 0,this.width=t,this.character=t>=.05555&&t<=.05556?"\u200a":t>=.1666&&t<=.1667?"\u2009":t>=.2222&&t<=.2223?"\u2005":t>=.2777&&t<=.2778?"\u2005\u200a":t>=-.05556&&t<=-.05555?"\u200a\u2063":t>=-.1667&&t<=-.1666?"\u2009\u2063":t>=-.2223&&t<=-.2222?"\u205f\u2063":t>=-.2778&&t<=-.2777?"\u2005\u2063":null}var e=t.prototype;return e.toNode=function(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",this.width+"em"),t},e.toMarkup=function(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+this.width+'em"/>'},e.toText=function(){return this.character?this.character:" "},t}(),newDocumentFragment:fe},be=function(t,e,r){return!j[e][t]||!j[e][t].replace||55349===t.charCodeAt(0)||rt.hasOwnProperty(t)&&r&&(r.fontFamily&&"tt"===r.fontFamily.substr(4,2)||r.font&&"tt"===r.font.substr(4,2))||(t=j[e][t].replace),new ve.TextNode(t)},ye=function(t){return 1===t.length?t[0]:new ve.MathNode("mrow",t)},we=function(t,e){if("texttt"===e.fontFamily)return"monospace";if("textsf"===e.fontFamily)return"textit"===e.fontShape&&"textbf"===e.fontWeight?"sans-serif-bold-italic":"textit"===e.fontShape?"sans-serif-italic":"textbf"===e.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===e.fontShape&&"textbf"===e.fontWeight)return"bold-italic";if("textit"===e.fontShape)return"italic";if("textbf"===e.fontWeight)return"bold";var r=e.font;if(!r||"mathnormal"===r)return null;var a=t.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";var n=t.text;return c.contains(["\\imath","\\jmath"],n)?null:(j[a][n]&&j[a][n].replace&&(n=j[a][n].replace),G(n,Dt.fontMap[r].fontName,a)?Dt.fontMap[r].variant:null)},ke=function(t,e,r){if(1===t.length){var a=Me(t[0],e);return r&&a instanceof ge&&"mo"===a.type&&(a.setAttribute("lspace","0em"),a.setAttribute("rspace","0em")),[a]}for(var n,i=[],o=0;o<t.length;o++){var s=Me(t[o],e);if(s instanceof ge&&n instanceof ge){if("mtext"===s.type&&"mtext"===n.type&&s.getAttribute("mathvariant")===n.getAttribute("mathvariant")){var h;(h=n.children).push.apply(h,s.children);continue}if("mn"===s.type&&"mn"===n.type){var l;(l=n.children).push.apply(l,s.children);continue}if("mi"===s.type&&1===s.children.length&&"mn"===n.type){var m=s.children[0];if(m instanceof xe&&"."===m.text){var c;(c=n.children).push.apply(c,s.children);continue}}else if("mi"===n.type&&1===n.children.length){var u=n.children[0];if(u instanceof xe&&"\u0338"===u.text&&("mo"===s.type||"mi"===s.type||"mn"===s.type)){var p=s.children[0];p instanceof xe&&p.text.length>0&&(p.text=p.text.slice(0,1)+"\u0338"+p.text.slice(1),i.pop())}}}i.push(s),n=s}return i},Se=function(t,e,r){return ye(ke(t,e,r))},Me=function(t,e){if(!t)return new ve.MathNode("mrow");if(Jt[t.type])return Jt[t.type](t,e);throw new o("Got group of unknown type: '"+t.type+"'")};function ze(t,e,r,a){var n,i=ke(t,r);n=1===i.length&&i[0]instanceof ge&&c.contains(["mrow","mtable"],i[0].type)?i[0]:new ve.MathNode("mrow",i);var o=new ve.MathNode("annotation",[new ve.TextNode(e)]);o.setAttribute("encoding","application/x-tex");var s=new ve.MathNode("semantics",[n,o]),h=new ve.MathNode("math",[s]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML");var l=a?"katex":"katex-mathml";return Dt.makeSpan([l],[h])}var Ae=function(t){return new St({style:t.displayMode?w.DISPLAY:w.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})},Te=function(t,e){if(e.displayMode){var r=["katex-display"];e.leqno&&r.push("leqno"),e.fleqn&&r.push("fleqn"),t=Dt.makeSpan(r,[t])}return t},Be=function(t,e,r){var a,n=Ae(r);if("mathml"===r.output)return ze(t,e,n,!0);if("html"===r.output){var i=de(t,n);a=Dt.makeSpan(["katex"],[i])}else{var o=ze(t,e,n,!1),s=de(t,n);a=Dt.makeSpan(["katex"],[o,s])}return Te(a,r)},Ce={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb"},qe={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Ne=function(t){return"ordgroup"===t.type?t.body.length:1},Ie=function(t,e,r,a){var n,i=t.height+t.depth+2*r;if(/fbox|color/.test(e)){if(n=Dt.makeSpan(["stretchy",e],[],a),"fbox"===e){var o=a.color&&a.getColor();o&&(n.style.borderColor=o)}}else{var s=[];/^[bx]cancel$/.test(e)&&s.push(new P({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(e)&&s.push(new P({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var h=new L(s,{width:"100%",height:i+"em"});n=Dt.makeSvgSpan([],[h],a)}return n.height=i,n.style.height=i+"em",n},Re=function(t){var e=new ve.MathNode("mo",[new ve.TextNode(Ce[t.substr(1)])]);return e.setAttribute("stretchy","true"),e},Oe=function(t,e){var r=function(){var r=4e5,a=t.label.substr(1);if(c.contains(["widehat","widecheck","widetilde","utilde"],a)){var n,i,o,s=Ne(t.base);if(s>5)"widehat"===a||"widecheck"===a?(n=420,r=2364,o=.42,i=a+"4"):(n=312,r=2340,o=.34,i="tilde4");else{var h=[1,1,2,2,3,3][s];"widehat"===a||"widecheck"===a?(r=[0,1062,2364,2364,2364][h],n=[0,239,300,360,420][h],o=[0,.24,.3,.3,.36,.42][h],i=a+h):(r=[0,600,1033,2339,2340][h],n=[0,260,286,306,312][h],o=[0,.26,.286,.3,.306,.34][h],i="tilde"+h)}var l=new H(i),m=new L([l],{width:"100%",height:o+"em",viewBox:"0 0 "+r+" "+n,preserveAspectRatio:"none"});return{span:Dt.makeSvgSpan([],[m],e),minWidth:0,height:o}}var u,p,d=[],f=qe[a],g=f[0],x=f[1],v=f[2],b=v/1e3,y=g.length;if(1===y)u=["hide-tail"],p=[f[3]];else if(2===y)u=["halfarrow-left","halfarrow-right"],p=["xMinYMin","xMaxYMin"];else{if(3!==y)throw new Error("Correct katexImagesData or update code here to support\n "+y+" children.");u=["brace-left","brace-center","brace-right"],p=["xMinYMin","xMidYMin","xMaxYMin"]}for(var w=0;w<y;w++){var k=new H(g[w]),S=new L([k],{width:"400em",height:b+"em",viewBox:"0 0 "+r+" "+v,preserveAspectRatio:p[w]+" slice"}),M=Dt.makeSvgSpan([u[w]],[S],e);if(1===y)return{span:M,minWidth:x,height:b};M.style.height=b+"em",d.push(M)}return{span:Dt.makeSpan(["stretchy"],d,e),minWidth:x,height:b}}(),a=r.span,n=r.minWidth,i=r.height;return a.height=i,a.style.height=i+"em",n>0&&(a.style.minWidth=n+"em"),a},Ee=function(t,e){var r,a,n,i=Vt(t,"supsub");i?(r=(a=Ft(i.base,"accent")).base,i.base=r,n=function(t){if(t instanceof N)return t;throw new Error("Expected span<HtmlDomNode> but got "+String(t)+".")}(ue(i,e)),i.base=a):r=(a=Ft(t,"accent")).base;var o=ue(r,e.havingCrampedStyle()),s=0;if(a.isShifty&&c.isCharacterBox(r)){var h=c.getBaseElem(r);s=D(ue(h,e.havingCrampedStyle())).skew}var l,m=Math.min(o.height,e.fontMetrics().xHeight);if(a.isStretchy)l=Oe(a,e),l=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"elem",elem:l,wrapperClasses:["svg-align"],wrapperStyle:s>0?{width:"calc(100% - "+2*s+"em)",marginLeft:2*s+"em"}:void 0}]},e);else{var u,p;"\\vec"===a.label?(u=Dt.staticSvg("vec",e),p=Dt.svgData.vec[1]):((u=D(u=Dt.makeOrd({mode:a.mode,text:a.label},e,"textord"))).italic=0,p=u.width),l=Dt.makeSpan(["accent-body"],[u]);var d="\\textcircled"===a.label;d&&(l.classes.push("accent-full"),m=o.height);var f=s;d||(f-=p/2),l.style.left=f+"em","\\textcircled"===a.label&&(l.style.top=".2em"),l=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:-m},{type:"elem",elem:l}]},e)}var g=Dt.makeSpan(["mord","accent"],[l],e);return n?(n.children[0]=g,n.height=Math.max(g.height,n.height),n.classes[0]="mord",n):g},Le=function(t,e){var r=t.isStretchy?Re(t.label):new ve.MathNode("mo",[be(t.label,t.mode)]),a=new ve.MathNode("mover",[Me(t.base,e),r]);return a.setAttribute("accent","true"),a},He=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(function(t){return"\\"+t}).join("|"));Qt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:function(t,e){var r=e[0],a=!He.test(t.funcName),n=!a||"\\widehat"===t.funcName||"\\widetilde"===t.funcName||"\\widecheck"===t.funcName;return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:a,isShifty:n,base:r}},htmlBuilder:Ee,mathmlBuilder:Le}),Qt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!1},handler:function(t,e){var r=e[0];return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Ee,mathmlBuilder:Le}),Qt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"accentUnder",mode:r.mode,label:a,base:n}},htmlBuilder:function(t,e){var r=ue(t.base,e),a=Oe(t,e),n="\\utilde"===t.label?.12:0,i=Dt.makeVList({positionType:"bottom",positionData:a.height+n,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:n},{type:"elem",elem:r}]},e);return Dt.makeSpan(["mord","accentunder"],[i],e)},mathmlBuilder:function(t,e){var r=Re(t.label),a=new ve.MathNode("munder",[Me(t.base,e),r]);return a.setAttribute("accentunder","true"),a}});var Pe=function(t){var e=new ve.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};Qt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium"],props:{numArgs:1,numOptionalArgs:1},handler:function(t,e,r){var a=t.parser,n=t.funcName;return{type:"xArrow",mode:a.mode,label:n,body:e[0],below:r[0]}},htmlBuilder:function(t,e){var r,a=e.style,n=e.havingStyle(a.sup()),i=Dt.wrapFragment(ue(t.body,n,e),e);i.classes.push("x-arrow-pad"),t.below&&(n=e.havingStyle(a.sub()),(r=Dt.wrapFragment(ue(t.below,n,e),e)).classes.push("x-arrow-pad"));var o,s=Oe(t,e),h=-e.fontMetrics().axisHeight+.5*s.height,l=-e.fontMetrics().axisHeight-.5*s.height-.111;if((i.depth>.25||"\\xleftequilibrium"===t.label)&&(l-=i.depth),r){var m=-e.fontMetrics().axisHeight+r.height+.5*s.height+.111;o=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:s,shift:h},{type:"elem",elem:r,shift:m}]},e)}else o=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:l},{type:"elem",elem:s,shift:h}]},e);return o.children[0].children[0].children[1].classes.push("svg-align"),Dt.makeSpan(["mrel","x-arrow"],[o],e)},mathmlBuilder:function(t,e){var r,a=Re(t.label);if(t.body){var n=Pe(Me(t.body,e));if(t.below){var i=Pe(Me(t.below,e));r=new ve.MathNode("munderover",[a,i,n])}else r=new ve.MathNode("mover",[a,n])}else if(t.below){var o=Pe(Me(t.below,e));r=new ve.MathNode("munder",[a,o])}else r=Pe(),r=new ve.MathNode("mover",[a,r]);return r}}),Qt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){for(var r=t.parser,a=Ft(e[0],"ordgroup").body,n="",i=0;i<a.length;i++){n+=Ft(a[i],"textord").text}var s=parseInt(n);if(isNaN(s))throw new o("\\@char has non-numeric argument "+n);return{type:"textord",mode:r.mode,text:String.fromCharCode(s)}}});var De=function(t,e){var r=se(t.body,e.withColor(t.color),!1);return Dt.makeFragment(r)},Fe=function(t,e){var r=ke(t.body,e.withColor(t.color)),a=new ve.MathNode("mstyle",r);return a.setAttribute("mathcolor",t.color),a};Qt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,greediness:3,argTypes:["color","original"]},handler:function(t,e){var r=t.parser,a=Ft(e[0],"color-token").color,n=e[1];return{type:"color",mode:r.mode,color:a,body:ee(n)}},htmlBuilder:De,mathmlBuilder:Fe}),Qt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,greediness:3,argTypes:["color"]},handler:function(t,e){var r=t.parser,a=t.breakOnTokenText,n=Ft(e[0],"color-token").color;r.gullet.macros.set("\\current@color",n);var i=r.parseExpression(!0,a);return{type:"color",mode:r.mode,color:n,body:i}},htmlBuilder:De,mathmlBuilder:Fe}),Qt({type:"cr",names:["\\cr","\\newline"],props:{numArgs:0,numOptionalArgs:1,argTypes:["size"],allowedInText:!0},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=r[0],o="\\cr"===n,s=!1;return o||(s=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode")),{type:"cr",mode:a.mode,newLine:s,newRow:o,size:i&&Ft(i,"size").value}},htmlBuilder:function(t,e){if(t.newRow)throw new o("\\cr valid only within a tabular/array environment");var r=Dt.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Tt(t.size,e)+"em")),r},mathmlBuilder:function(t,e){var r=new ve.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Tt(t.size,e)+"em")),r}});var Ve=function(t,e,r){var a=G(j.math[t]&&j.math[t].replace||t,e,r);if(!a)throw new Error("Unsupported symbol "+t+" and font size "+e+".");return a},Ue=function(t,e,r,a){var n=r.havingBaseStyle(e),i=Dt.makeSpan(a.concat(n.sizingClasses(r)),[t],r),o=n.sizeMultiplier/r.sizeMultiplier;return i.height*=o,i.depth*=o,i.maxFontSize=n.sizeMultiplier,i},Ge=function(t,e,r){var a=e.havingBaseStyle(r),n=(1-e.sizeMultiplier/a.sizeMultiplier)*e.fontMetrics().axisHeight;t.classes.push("delimcenter"),t.style.top=n+"em",t.height-=n,t.depth+=n},Ye=function(t,e,r,a,n,i){var o=function(t,e,r,a){return Dt.makeSymbol(t,"Size"+e+"-Regular",r,a)}(t,e,n,a),s=Ue(Dt.makeSpan(["delimsizing","size"+e],[o],a),w.TEXT,a,i);return r&&Ge(s,a,w.TEXT),s},We=function(t,e,r){var a;return a="Size1-Regular"===e?"delim-size1":"delim-size4",{type:"elem",elem:Dt.makeSpan(["delimsizinginner",a],[Dt.makeSpan([],[Dt.makeSymbol(t,e,r)])])}},Xe={type:"kern",size:-.005},_e=function(t,e,r,a,n,i){var o,s,h,l;o=h=l=t,s=null;var m="Size1-Regular";"\\uparrow"===t?h=l="\u23d0":"\\Uparrow"===t?h=l="\u2016":"\\downarrow"===t?o=h="\u23d0":"\\Downarrow"===t?o=h="\u2016":"\\updownarrow"===t?(o="\\uparrow",h="\u23d0",l="\\downarrow"):"\\Updownarrow"===t?(o="\\Uparrow",h="\u2016",l="\\Downarrow"):"["===t||"\\lbrack"===t?(o="\u23a1",h="\u23a2",l="\u23a3",m="Size4-Regular"):"]"===t||"\\rbrack"===t?(o="\u23a4",h="\u23a5",l="\u23a6",m="Size4-Regular"):"\\lfloor"===t||"\u230a"===t?(h=o="\u23a2",l="\u23a3",m="Size4-Regular"):"\\lceil"===t||"\u2308"===t?(o="\u23a1",h=l="\u23a2",m="Size4-Regular"):"\\rfloor"===t||"\u230b"===t?(h=o="\u23a5",l="\u23a6",m="Size4-Regular"):"\\rceil"===t||"\u2309"===t?(o="\u23a4",h=l="\u23a5",m="Size4-Regular"):"("===t||"\\lparen"===t?(o="\u239b",h="\u239c",l="\u239d",m="Size4-Regular"):")"===t||"\\rparen"===t?(o="\u239e",h="\u239f",l="\u23a0",m="Size4-Regular"):"\\{"===t||"\\lbrace"===t?(o="\u23a7",s="\u23a8",l="\u23a9",h="\u23aa",m="Size4-Regular"):"\\}"===t||"\\rbrace"===t?(o="\u23ab",s="\u23ac",l="\u23ad",h="\u23aa",m="Size4-Regular"):"\\lgroup"===t||"\u27ee"===t?(o="\u23a7",l="\u23a9",h="\u23aa",m="Size4-Regular"):"\\rgroup"===t||"\u27ef"===t?(o="\u23ab",l="\u23ad",h="\u23aa",m="Size4-Regular"):"\\lmoustache"===t||"\u23b0"===t?(o="\u23a7",l="\u23ad",h="\u23aa",m="Size4-Regular"):"\\rmoustache"!==t&&"\u23b1"!==t||(o="\u23ab",l="\u23a9",h="\u23aa",m="Size4-Regular");var c=Ve(o,m,n),u=c.height+c.depth,p=Ve(h,m,n),d=p.height+p.depth,f=Ve(l,m,n),g=f.height+f.depth,x=0,v=1;if(null!==s){var b=Ve(s,m,n);x=b.height+b.depth,v=2}var y=u+g+x,k=Math.max(0,Math.ceil((e-y)/(v*d))),S=y+k*v*d,M=a.fontMetrics().axisHeight;r&&(M*=a.sizeMultiplier);var z=S/2-M,A=.005*(k+1)-d,T=[];if(T.push(We(l,m,n)),null===s)for(var B=0;B<k;B++)T.push(Xe),T.push(We(h,m,n));else{for(var C=0;C<k;C++)T.push(Xe),T.push(We(h,m,n));T.push({type:"kern",size:A}),T.push(We(h,m,n)),T.push(Xe),T.push(We(s,m,n));for(var q=0;q<k;q++)T.push(Xe),T.push(We(h,m,n))}T.push({type:"kern",size:A}),T.push(We(h,m,n)),T.push(Xe),T.push(We(o,m,n));var N=a.havingBaseStyle(w.TEXT),I=Dt.makeVList({positionType:"bottom",positionData:z,children:T},N);return Ue(Dt.makeSpan(["delimsizing","mult"],[I],N),w.TEXT,a,i)},je=function(t,e,r,a,n){var i=function(t,e,r){e*=1e3;var a="";switch(t){case"sqrtMain":a=function(t,e){return"M95,"+(622+t+e)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+t/2.075+" -"+t+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+t)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+t)+" "+e+"h400000v"+(40+t)+"h-400000z"}(e,80);break;case"sqrtSize1":a=function(t,e){return"M263,"+(601+t+e)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+t/2.084+" -"+t+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+t)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+t)+" "+e+"h400000v"+(40+t)+"h-400000z"}(e,80);break;case"sqrtSize2":a=function(t,e){return"M983 "+(10+t+e)+"\nl"+t/3.13+" -"+t+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+t)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+t)+" "+e+"h400000v"+(40+t)+"h-400000z"}(e,80);break;case"sqrtSize3":a=function(t,e){return"M424,"+(2398+t+e)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+t/4.223+" -"+t+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+t)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+t)+" "+e+"\nh400000v"+(40+t)+"h-400000z"}(e,80);break;case"sqrtSize4":a=function(t,e){return"M473,"+(2713+t+e)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+t/5.298+" -"+t+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+t)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+t)+" "+e+"h400000v"+(40+t)+"H1017.7z"}(e,80);break;case"sqrtTall":a=function(t,e,r){return"M702 "+(t+e)+"H400000"+(40+t)+"\nH742v"+(r-54-e-t)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+e+"H400000v"+(40+t)+"H742z"}(e,80,r)}return a}(t,a,r),o=new H(t,i),s=new L([o],{width:"400em",height:e+"em",viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Dt.makeSvgSpan(["hide-tail"],[s],n)},$e=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","\\surd"],Ze=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1"],Ke=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Je=[0,1.2,1.8,2.4,3],Qe=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],tr=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"stack"}],er=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],rr=function(t){if("small"===t.type)return"Main-Regular";if("large"===t.type)return"Size"+t.size+"-Regular";if("stack"===t.type)return"Size4-Regular";throw new Error("Add support for delim type '"+t.type+"' here.")},ar=function(t,e,r,a){for(var n=Math.min(2,3-a.style.size);n<r.length&&"stack"!==r[n].type;n++){var i=Ve(t,rr(r[n]),"math"),o=i.height+i.depth;if("small"===r[n].type&&(o*=a.havingBaseStyle(r[n].style).sizeMultiplier),o>e)return r[n]}return r[r.length-1]},nr=function(t,e,r,a,n,i){var o;"<"===t||"\\lt"===t||"\u27e8"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"\u27e9"!==t||(t="\\rangle"),o=c.contains(Ke,t)?Qe:c.contains($e,t)?er:tr;var s=ar(t,e,o,a);return"small"===s.type?function(t,e,r,a,n,i){var o=Dt.makeSymbol(t,"Main-Regular",n,a),s=Ue(o,e,a,i);return r&&Ge(s,a,e),s}(t,s.style,r,a,n,i):"large"===s.type?Ye(t,s.size,r,a,n,i):_e(t,e,r,a,n,i)},ir=function(t,e){var r,a,n=e.havingBaseSizing(),i=ar("\\surd",t*n.sizeMultiplier,er,n),o=n.sizeMultiplier,s=Math.max(0,e.minRuleThickness-e.fontMetrics().sqrtRuleThickness),h=0,l=0,m=0;return"small"===i.type?(t<1?o=1:t<1.4&&(o=.7),l=(1+s)/o,(r=je("sqrtMain",h=(1+s+.08)/o,m=1e3+1e3*s+80,s,e)).style.minWidth="0.853em",a=.833/o):"large"===i.type?(m=1080*Je[i.size],l=(Je[i.size]+s)/o,h=(Je[i.size]+s+.08)/o,(r=je("sqrtSize"+i.size,h,m,s,e)).style.minWidth="1.02em",a=1/o):(h=t+s+.08,l=t+s,m=Math.floor(1e3*t+s)+80,(r=je("sqrtTall",h,m,s,e)).style.minWidth="0.742em",a=1.056),r.height=l,r.style.height=h+"em",{span:r,advanceWidth:a,ruleWidth:(e.fontMetrics().sqrtRuleThickness+s)*o}},or=function(t,e,r,a,n){if("<"===t||"\\lt"===t||"\u27e8"===t?t="\\langle":">"!==t&&"\\gt"!==t&&"\u27e9"!==t||(t="\\rangle"),c.contains($e,t)||c.contains(Ke,t))return Ye(t,e,!1,r,a,n);if(c.contains(Ze,t))return _e(t,Je[e],!1,r,a,n);throw new o("Illegal delimiter: '"+t+"'")},sr=nr,hr=function(t,e,r,a,n,i){var o=a.fontMetrics().axisHeight*a.sizeMultiplier,s=5/a.fontMetrics().ptPerEm,h=Math.max(e-o,r+o),l=Math.max(h/500*901,2*h-s);return nr(t,l,!0,a,n,i)},lr={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},mr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function cr(t,e){var r=Yt(t);if(r&&c.contains(mr,r.text))return r;throw new o("Invalid delimiter: '"+(r?r.text:JSON.stringify(t))+"' after '"+e.funcName+"'",t)}function ur(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}Qt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1},handler:function(t,e){var r=cr(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:lr[t.funcName].size,mclass:lr[t.funcName].mclass,delim:r.text}},htmlBuilder:function(t,e){return"."===t.delim?Dt.makeSpan([t.mclass]):or(t.delim,t.size,e,t.mode,[t.mclass])},mathmlBuilder:function(t){var e=[];"."!==t.delim&&e.push(be(t.delim,t.mode));var r=new ve.MathNode("mo",e);return"mopen"===t.mclass||"mclose"===t.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r}}),Qt({type:"leftright-right",names:["\\right"],props:{numArgs:1},handler:function(t,e){var r=t.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new o("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:cr(e[0],t).text,color:r}}}),Qt({type:"leftright",names:["\\left"],props:{numArgs:1},handler:function(t,e){var r=cr(e[0],t),a=t.parser;++a.leftrightDepth;var n=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var i=Ft(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:n,left:r.text,right:i.delim,rightColor:i.color}},htmlBuilder:function(t,e){ur(t);for(var r,a,n=se(t.body,e,!0,["mopen","mclose"]),i=0,o=0,s=!1,h=0;h<n.length;h++)n[h].isMiddle?s=!0:(i=Math.max(n[h].height,i),o=Math.max(n[h].depth,o));if(i*=e.sizeMultiplier,o*=e.sizeMultiplier,r="."===t.left?ce(e,["mopen"]):hr(t.left,i,o,e,t.mode,["mopen"]),n.unshift(r),s)for(var l=1;l<n.length;l++){var m=n[l].isMiddle;m&&(n[l]=hr(m.delim,i,o,m.options,t.mode,[]))}if("."===t.right)a=ce(e,["mclose"]);else{var c=t.rightColor?e.withColor(t.rightColor):e;a=hr(t.right,i,o,c,t.mode,["mclose"])}return n.push(a),Dt.makeSpan(["minner"],n,e)},mathmlBuilder:function(t,e){ur(t);var r=ke(t.body,e);if("."!==t.left){var a=new ve.MathNode("mo",[be(t.left,t.mode)]);a.setAttribute("fence","true"),r.unshift(a)}if("."!==t.right){var n=new ve.MathNode("mo",[be(t.right,t.mode)]);n.setAttribute("fence","true"),t.rightColor&&n.setAttribute("mathcolor",t.rightColor),r.push(n)}return ye(r)}}),Qt({type:"middle",names:["\\middle"],props:{numArgs:1},handler:function(t,e){var r=cr(e[0],t);if(!t.parser.leftrightDepth)throw new o("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:function(t,e){var r;if("."===t.delim)r=ce(e,[]);else{r=or(t.delim,1,e,t.mode,[]);var a={delim:t.delim,options:e};r.isMiddle=a}return r},mathmlBuilder:function(t,e){var r="\\vert"===t.delim||"|"===t.delim?be("|","text"):be(t.delim,t.mode),a=new ve.MathNode("mo",[r]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var pr=function(t,e){var r,a,n=Dt.wrapFragment(ue(t.body,e),e),i=t.label.substr(1),o=e.sizeMultiplier,s=0,h=c.isCharacterBox(t.body);if("sout"===i)(r=Dt.makeSpan(["stretchy","sout"])).height=e.fontMetrics().defaultRuleThickness/o,s=-.5*e.fontMetrics().xHeight;else{/cancel/.test(i)?h||n.classes.push("cancel-pad"):n.classes.push("boxpad");var l=0,m=0;/box/.test(i)?(m=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),l=e.fontMetrics().fboxsep+("colorbox"===i?0:m)):l=h?.2:0,r=Ie(n,i,l,e),/fbox|boxed|fcolorbox/.test(i)&&(r.style.borderStyle="solid",r.style.borderWidth=m+"em"),s=n.depth+l,t.backgroundColor&&(r.style.backgroundColor=t.backgroundColor,t.borderColor&&(r.style.borderColor=t.borderColor))}return a=t.backgroundColor?Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:s},{type:"elem",elem:n,shift:0}]},e):Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:0},{type:"elem",elem:r,shift:s,wrapperClasses:/cancel/.test(i)?["svg-align"]:[]}]},e),/cancel/.test(i)&&(a.height=n.height,a.depth=n.depth),/cancel/.test(i)&&!h?Dt.makeSpan(["mord","cancel-lap"],[a],e):Dt.makeSpan(["mord"],[a],e)},dr=function(t,e){var r=0,a=new ve.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Me(t.body,e)]);switch(t.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*r+"pt"),a.setAttribute("height","+"+2*r+"pt"),a.setAttribute("lspace",r+"pt"),a.setAttribute("voffset",r+"pt"),"\\fcolorbox"===t.label){var n=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);a.setAttribute("style","border: "+n+"em solid "+String(t.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return t.backgroundColor&&a.setAttribute("mathbackground",t.backgroundColor),a};Qt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,greediness:3,argTypes:["color","text"]},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=Ft(e[0],"color-token").color,o=e[1];return{type:"enclose",mode:a.mode,label:n,backgroundColor:i,body:o}},htmlBuilder:pr,mathmlBuilder:dr}),Qt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,greediness:3,argTypes:["color","color","text"]},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=Ft(e[0],"color-token").color,o=Ft(e[1],"color-token").color,s=e[2];return{type:"enclose",mode:a.mode,label:n,backgroundColor:o,borderColor:i,body:s}},htmlBuilder:pr,mathmlBuilder:dr}),Qt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler:function(t,e){return{type:"enclose",mode:t.parser.mode,label:"\\fbox",body:e[0]}}}),Qt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout"],props:{numArgs:1},handler:function(t,e,r){var a=t.parser,n=t.funcName,i=e[0];return{type:"enclose",mode:a.mode,label:n,body:i}},htmlBuilder:pr,mathmlBuilder:dr});var fr={};function gr(t){for(var e=t.type,r=t.names,a=t.props,n=t.handler,i=t.htmlBuilder,o=t.mathmlBuilder,s={type:e,numArgs:a.numArgs||0,greediness:1,allowedInText:!1,numOptionalArgs:0,handler:n},h=0;h<r.length;++h)fr[r[h]]=s;i&&(Kt[e]=i),o&&(Jt[e]=o)}function xr(t){var e=[];t.consumeSpaces();for(var r=t.fetch().text;"\\hline"===r||"\\hdashline"===r;)t.consume(),e.push("\\hdashline"===r),t.consumeSpaces(),r=t.fetch().text;return e}function vr(t,e,r){var a=e.hskipBeforeAndAfter,n=e.addJot,i=e.cols,s=e.arraystretch,h=e.colSeparationType;if(t.gullet.beginGroup(),t.gullet.macros.set("\\\\","\\cr"),!s){var l=t.gullet.expandMacroAsText("\\arraystretch");if(null==l)s=1;else if(!(s=parseFloat(l))||s<0)throw new o("Invalid \\arraystretch: "+l)}t.gullet.beginGroup();var m=[],c=[m],u=[],p=[];for(p.push(xr(t));;){var d=t.parseExpression(!1,"\\cr");t.gullet.endGroup(),t.gullet.beginGroup(),d={type:"ordgroup",mode:t.mode,body:d},r&&(d={type:"styling",mode:t.mode,style:r,body:[d]}),m.push(d);var f=t.fetch().text;if("&"===f)t.consume();else{if("\\end"===f){1===m.length&&"styling"===d.type&&0===d.body[0].body.length&&c.pop(),p.length<c.length+1&&p.push([]);break}if("\\cr"!==f)throw new o("Expected & or \\\\ or \\cr or \\end",t.nextToken);var g=Ft(t.parseFunction(),"cr");u.push(g.size),p.push(xr(t)),m=[],c.push(m)}}return t.gullet.endGroup(),t.gullet.endGroup(),{type:"array",mode:t.mode,addJot:n,arraystretch:s,body:c,cols:i,rowGaps:u,hskipBeforeAndAfter:a,hLinesBeforeRow:p,colSeparationType:h}}function br(t){return"d"===t.substr(0,1)?"display":"text"}var yr=function(t,e){var r,a,n=t.body.length,i=t.hLinesBeforeRow,s=0,h=new Array(n),l=[],m=Math.max(e.fontMetrics().arrayRuleWidth,e.minRuleThickness),u=1/e.fontMetrics().ptPerEm,p=5*u;t.colSeparationType&&"small"===t.colSeparationType&&(p=e.havingStyle(w.SCRIPT).sizeMultiplier/e.sizeMultiplier*.2778);var d=12*u,f=3*u,g=t.arraystretch*d,x=.7*g,v=.3*g,b=0;function y(t){for(var e=0;e<t.length;++e)e>0&&(b+=.25),l.push({pos:b,isDashed:t[e]})}for(y(i[0]),r=0;r<t.body.length;++r){var k=t.body[r],S=x,M=v;s<k.length&&(s=k.length);var z=new Array(k.length);for(a=0;a<k.length;++a){var A=ue(k[a],e);M<A.depth&&(M=A.depth),S<A.height&&(S=A.height),z[a]=A}var T=t.rowGaps[r],B=0;T&&(B=Tt(T,e))>0&&(M<(B+=v)&&(M=B),B=0),t.addJot&&(M+=f),z.height=S,z.depth=M,b+=S,z.pos=b,b+=M+B,h[r]=z,y(i[r+1])}var C,q,N=b/2+e.fontMetrics().axisHeight,I=t.cols||[],R=[];for(a=0,q=0;a<s||q<I.length;++a,++q){for(var O=I[q]||{},E=!0;"separator"===O.type;){if(E||((C=Dt.makeSpan(["arraycolsep"],[])).style.width=e.fontMetrics().doubleRuleSep+"em",R.push(C)),"|"!==O.separator&&":"!==O.separator)throw new o("Invalid separator type: "+O.separator);var L="|"===O.separator?"solid":"dashed",H=Dt.makeSpan(["vertical-separator"],[],e);H.style.height=b+"em",H.style.borderRightWidth=m+"em",H.style.borderRightStyle=L,H.style.margin="0 -"+m/2+"em",H.style.verticalAlign=-(b-N)+"em",R.push(H),O=I[++q]||{},E=!1}if(!(a>=s)){var P=void 0;(a>0||t.hskipBeforeAndAfter)&&0!==(P=c.deflt(O.pregap,p))&&((C=Dt.makeSpan(["arraycolsep"],[])).style.width=P+"em",R.push(C));var D=[];for(r=0;r<n;++r){var F=h[r],V=F[a];if(V){var U=F.pos-N;V.depth=F.depth,V.height=F.height,D.push({type:"elem",elem:V,shift:U})}}D=Dt.makeVList({positionType:"individualShift",children:D},e),D=Dt.makeSpan(["col-align-"+(O.align||"c")],[D]),R.push(D),(a<s-1||t.hskipBeforeAndAfter)&&0!==(P=c.deflt(O.postgap,p))&&((C=Dt.makeSpan(["arraycolsep"],[])).style.width=P+"em",R.push(C))}}if(h=Dt.makeSpan(["mtable"],R),l.length>0){for(var G=Dt.makeLineSpan("hline",e,m),Y=Dt.makeLineSpan("hdashline",e,m),W=[{type:"elem",elem:h,shift:0}];l.length>0;){var X=l.pop(),_=X.pos-N;X.isDashed?W.push({type:"elem",elem:Y,shift:_}):W.push({type:"elem",elem:G,shift:_})}h=Dt.makeVList({positionType:"individualShift",children:W},e)}return Dt.makeSpan(["mord"],[h],e)},wr={c:"center ",l:"left ",r:"right "},kr=function(t,e){var r=new ve.MathNode("mtable",t.body.map(function(t){return new ve.MathNode("mtr",t.map(function(t){return new ve.MathNode("mtd",[Me(t,e)])}))})),a=.5===t.arraystretch?.1:.16+t.arraystretch-1+(t.addJot?.09:0);r.setAttribute("rowspacing",a+"em");var n="",i="";if(t.cols){var o=t.cols,s="",h=!1,l=0,m=o.length;"separator"===o[0].type&&(n+="top ",l=1),"separator"===o[o.length-1].type&&(n+="bottom ",m-=1);for(var c=l;c<m;c++)"align"===o[c].type?(i+=wr[o[c].align],h&&(s+="none "),h=!0):"separator"===o[c].type&&h&&(s+="|"===o[c].separator?"solid ":"dashed ",h=!1);r.setAttribute("columnalign",i.trim()),/[sd]/.test(s)&&r.setAttribute("columnlines",s.trim())}if("align"===t.colSeparationType){for(var u=t.cols||[],p="",d=1;d<u.length;d++)p+=d%2?"0em ":"1em ";r.setAttribute("columnspacing",p.trim())}else"alignat"===t.colSeparationType?r.setAttribute("columnspacing","0em"):"small"===t.colSeparationType?r.setAttribute("columnspacing","0.2778em"):r.setAttribute("columnspacing","1em");var f="",g=t.hLinesBeforeRow;n+=g[0].length>0?"left ":"",n+=g[g.length-1].length>0?"right ":"";for(var x=1;x<g.length-1;x++)f+=0===g[x].length?"none ":g[x][0]?"dashed ":"solid ";return/[sd]/.test(f)&&r.setAttribute("rowlines",f.trim()),""!==n&&(r=new ve.MathNode("menclose",[r])).setAttribute("notation",n.trim()),t.arraystretch&&t.arraystretch<1&&(r=new ve.MathNode("mstyle",[r])).setAttribute("scriptlevel","1"),r},Sr=function(t,e){var r,a=[],n=vr(t.parser,{cols:a,addJot:!0},"display"),i=0,s={type:"ordgroup",mode:t.mode,body:[]},h=Vt(e[0],"ordgroup");if(h){for(var l="",m=0;m<h.body.length;m++){l+=Ft(h.body[m],"textord").text}r=Number(l),i=2*r}var c=!i;n.body.forEach(function(t){for(var e=1;e<t.length;e+=2){var a=Ft(t[e],"styling");Ft(a.body[0],"ordgroup").body.unshift(s)}if(c)i<t.length&&(i=t.length);else{var n=t.length/2;if(r<n)throw new o("Too many math in a row: expected "+r+", but got "+n,t[0])}});for(var u=0;u<i;++u){var p="r",d=0;u%2==1?p="l":u>0&&c&&(d=1),a[u]={type:"align",align:p,pregap:d,postgap:0}}return n.colSeparationType=c?"align":"alignat",n};gr({type:"array",names:["array","darray"],props:{numArgs:1},handler:function(t,e){var r={cols:(Yt(e[0])?[e[0]]:Ft(e[0],"ordgroup").body).map(function(t){var e=Gt(t).text;if(-1!=="lcr".indexOf(e))return{type:"align",align:e};if("|"===e)return{type:"separator",separator:"|"};if(":"===e)return{type:"separator",separator:":"};throw new o("Unknown column alignment: "+e,t)}),hskipBeforeAndAfter:!0};return vr(t.parser,r,br(t.envName))},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix"],props:{numArgs:0},handler:function(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName],r=vr(t.parser,{hskipBeforeAndAfter:!1},br(t.envName));return e?{type:"leftright",mode:t.mode,body:[r],left:e[0],right:e[1],rightColor:void 0}:r},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["smallmatrix"],props:{numArgs:0},handler:function(t){var e=vr(t.parser,{arraystretch:.5},"script");return e.colSeparationType="small",e},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["subarray"],props:{numArgs:1},handler:function(t,e){var r=(Yt(e[0])?[e[0]]:Ft(e[0],"ordgroup").body).map(function(t){var e=Gt(t).text;if(-1!=="lc".indexOf(e))return{type:"align",align:e};throw new o("Unknown column alignment: "+e,t)});if(r.length>1)throw new o("{subarray} can contain only one column");var a={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if((a=vr(t.parser,a,"script")).body[0].length>1)throw new o("{subarray} can contain only one column");return a},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["cases","dcases"],props:{numArgs:0},handler:function(t){var e=vr(t.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},br(t.envName));return{type:"leftright",mode:t.mode,body:[e],left:"\\{",right:".",rightColor:void 0}},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["aligned"],props:{numArgs:0},handler:Sr,htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["gathered"],props:{numArgs:0},handler:function(t){return vr(t.parser,{cols:[{type:"align",align:"c"}],addJot:!0},"display")},htmlBuilder:yr,mathmlBuilder:kr}),gr({type:"array",names:["alignedat"],props:{numArgs:1},handler:Sr,htmlBuilder:yr,mathmlBuilder:kr}),Qt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler:function(t,e){throw new o(t.funcName+" valid only within array environment")}});var Mr=fr;Qt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];if("ordgroup"!==n.type)throw new o("Invalid environment name",n);for(var i="",s=0;s<n.body.length;++s)i+=Ft(n.body[s],"textord").text;if("\\begin"===a){if(!Mr.hasOwnProperty(i))throw new o("No such environment: "+i,n);var h=Mr[i],l=r.parseArguments("\\begin{"+i+"}",h),m=l.args,c=l.optArgs,u={mode:r.mode,envName:i,parser:r},p=h.handler(u,m,c);r.expect("\\end",!1);var d=r.nextToken,f=Ft(r.parseFunction(),"environment");if(f.name!==i)throw new o("Mismatch: \\begin{"+i+"} matched by \\end{"+f.name+"}",d);return p}return{type:"environment",mode:r.mode,name:i,nameGroup:n}}});var zr=Dt.makeSpan;function Ar(t,e){var r=se(t.body,e,!0);return zr([t.mclass],r,e)}function Tr(t,e){var r,a=ke(t.body,e);return"minner"===t.mclass?ve.newDocumentFragment(a):("mord"===t.mclass?t.isCharacterBox?(r=a[0]).type="mi":r=new ve.MathNode("mi",a):(t.isCharacterBox?(r=a[0]).type="mo":r=new ve.MathNode("mo",a),"mbin"===t.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===t.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"!==t.mclass&&"mclose"!==t.mclass||(r.attributes.lspace="0em",r.attributes.rspace="0em")),r)}Qt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+a.substr(5),body:ee(n),isCharacterBox:c.isCharacterBox(n)}},htmlBuilder:Ar,mathmlBuilder:Tr});var Br=function(t){var e="ordgroup"===t.type&&t.body.length?t.body[0]:t;return"atom"!==e.type||"bin"!==e.family&&"rel"!==e.family?"mord":"m"+e.family};Qt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler:function(t,e){return{type:"mclass",mode:t.parser.mode,mclass:Br(e[0]),body:[e[1]],isCharacterBox:c.isCharacterBox(e[1])}}}),Qt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler:function(t,e){var r,a=t.parser,n=t.funcName,i=e[1],o=e[0];r="\\stackrel"!==n?Br(i):"mrel";var s={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==n,body:ee(i)},h={type:"supsub",mode:o.mode,base:s,sup:"\\underset"===n?null:o,sub:"\\underset"===n?o:null};return{type:"mclass",mode:a.mode,mclass:r,body:[h],isCharacterBox:c.isCharacterBox(h)}},htmlBuilder:Ar,mathmlBuilder:Tr});var Cr=function(t,e){var r=t.font,a=e.withFont(r);return ue(t.body,a)},qr=function(t,e){var r=t.font,a=e.withFont(r);return Me(t.body,a)},Nr={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Qt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,greediness:2},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0],i=a;return i in Nr&&(i=Nr[i]),{type:"font",mode:r.mode,font:i.slice(1),body:n}},htmlBuilder:Cr,mathmlBuilder:qr}),Qt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1,greediness:2},handler:function(t,e){var r=t.parser,a=e[0],n=c.isCharacterBox(a);return{type:"mclass",mode:r.mode,mclass:Br(a),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:a}],isCharacterBox:n}}}),Qt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it"],props:{numArgs:0,allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=t.breakOnTokenText,i=r.mode,o=r.parseExpression(!0,n);return{type:"font",mode:i,font:"math"+a.slice(1),body:{type:"ordgroup",mode:r.mode,body:o}}},htmlBuilder:Cr,mathmlBuilder:qr});var Ir=function(t,e){var r=e;return"display"===t?r=r.id>=w.SCRIPT.id?r.text():w.DISPLAY:"text"===t&&r.size===w.DISPLAY.size?r=w.TEXT:"script"===t?r=w.SCRIPT:"scriptscript"===t&&(r=w.SCRIPTSCRIPT),r},Rr=function(t,e){var r,a=Ir(t.size,e.style),n=a.fracNum(),i=a.fracDen();r=e.havingStyle(n);var o=ue(t.numer,r,e);if(t.continued){var s=8.5/e.fontMetrics().ptPerEm,h=3.5/e.fontMetrics().ptPerEm;o.height=o.height<s?s:o.height,o.depth=o.depth<h?h:o.depth}r=e.havingStyle(i);var l,m,c,u,p,d,f,g,x,v,b=ue(t.denom,r,e);if(t.hasBarLine?(t.barSize?(m=Tt(t.barSize,e),l=Dt.makeLineSpan("frac-line",e,m)):l=Dt.makeLineSpan("frac-line",e),m=l.height,c=l.height):(l=null,m=0,c=e.fontMetrics().defaultRuleThickness),a.size===w.DISPLAY.size||"display"===t.size?(u=e.fontMetrics().num1,p=m>0?3*c:7*c,d=e.fontMetrics().denom1):(m>0?(u=e.fontMetrics().num2,p=c):(u=e.fontMetrics().num3,p=3*c),d=e.fontMetrics().denom2),l){var y=e.fontMetrics().axisHeight;u-o.depth-(y+.5*m)<p&&(u+=p-(u-o.depth-(y+.5*m))),y-.5*m-(b.height-d)<p&&(d+=p-(y-.5*m-(b.height-d)));var k=-(y-.5*m);f=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:b,shift:d},{type:"elem",elem:l,shift:k},{type:"elem",elem:o,shift:-u}]},e)}else{var S=u-o.depth-(b.height-d);S<p&&(u+=.5*(p-S),d+=.5*(p-S)),f=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:b,shift:d},{type:"elem",elem:o,shift:-u}]},e)}return r=e.havingStyle(a),f.height*=r.sizeMultiplier/e.sizeMultiplier,f.depth*=r.sizeMultiplier/e.sizeMultiplier,g=a.size===w.DISPLAY.size?e.fontMetrics().delim1:e.fontMetrics().delim2,x=null==t.leftDelim?ce(e,["mopen"]):sr(t.leftDelim,g,!0,e.havingStyle(a),t.mode,["mopen"]),v=t.continued?Dt.makeSpan([]):null==t.rightDelim?ce(e,["mclose"]):sr(t.rightDelim,g,!0,e.havingStyle(a),t.mode,["mclose"]),Dt.makeSpan(["mord"].concat(r.sizingClasses(e)),[x,Dt.makeSpan(["mfrac"],[f]),v],e)},Or=function(t,e){var r=new ve.MathNode("mfrac",[Me(t.numer,e),Me(t.denom,e)]);if(t.hasBarLine){if(t.barSize){var a=Tt(t.barSize,e);r.setAttribute("linethickness",a+"em")}}else r.setAttribute("linethickness","0px");var n=Ir(t.size,e.style);if(n.size!==e.style.size){r=new ve.MathNode("mstyle",[r]);var i=n.size===w.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",i),r.setAttribute("scriptlevel","0")}if(null!=t.leftDelim||null!=t.rightDelim){var o=[];if(null!=t.leftDelim){var s=new ve.MathNode("mo",[new ve.TextNode(t.leftDelim.replace("\\",""))]);s.setAttribute("fence","true"),o.push(s)}if(o.push(r),null!=t.rightDelim){var h=new ve.MathNode("mo",[new ve.TextNode(t.rightDelim.replace("\\",""))]);h.setAttribute("fence","true"),o.push(h)}return ye(o)}return r};Qt({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,greediness:2},handler:function(t,e){var r,a=t.parser,n=t.funcName,i=e[0],o=e[1],s=null,h=null,l="auto";switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":r=!0;break;case"\\\\atopfrac":r=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":r=!1,s="(",h=")";break;case"\\\\bracefrac":r=!1,s="\\{",h="\\}";break;case"\\\\brackfrac":r=!1,s="[",h="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\cfrac":case"\\dfrac":case"\\dbinom":l="display";break;case"\\tfrac":case"\\tbinom":l="text"}return{type:"genfrac",mode:a.mode,continued:"\\cfrac"===n,numer:i,denom:o,hasBarLine:r,leftDelim:s,rightDelim:h,size:l,barSize:null}},htmlBuilder:Rr,mathmlBuilder:Or}),Qt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler:function(t){var e,r=t.parser,a=t.funcName,n=t.token;switch(a){case"\\over":e="\\frac";break;case"\\choose":e="\\binom";break;case"\\atop":e="\\\\atopfrac";break;case"\\brace":e="\\\\bracefrac";break;case"\\brack":e="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:e,token:n}}});var Er=["display","text","script","scriptscript"],Lr=function(t){var e=null;return t.length>0&&(e="."===(e=t)?null:e),e};Qt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,greediness:6,argTypes:["math","math","size","text","math","math"]},handler:function(t,e){var r=t.parser,a=e[4],n=e[5],i=Vt(e[0],"atom");i&&(i=Ut(e[0],"open"));var o=i?Lr(i.text):null,s=Vt(e[1],"atom");s&&(s=Ut(e[1],"close"));var h,l=s?Lr(s.text):null,m=Ft(e[2],"size"),c=null;h=!!m.isBlank||(c=m.value).number>0;var u="auto",p=Vt(e[3],"ordgroup");if(p){if(p.body.length>0){var d=Ft(p.body[0],"textord");u=Er[Number(d.text)]}}else p=Ft(e[3],"textord"),u=Er[Number(p.text)];return{type:"genfrac",mode:r.mode,numer:a,denom:n,continued:!1,hasBarLine:h,barSize:c,leftDelim:o,rightDelim:l,size:u}},htmlBuilder:Rr,mathmlBuilder:Or}),Qt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(t,e){var r=t.parser,a=(t.funcName,t.token);return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ft(e[0],"size").value,token:a}}}),Qt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(t,e){var r=t.parser,a=(t.funcName,e[0]),n=function(t){if(!t)throw new Error("Expected non-null, but got "+String(t));return t}(Ft(e[1],"infix").size),i=e[2],o=n.number>0;return{type:"genfrac",mode:r.mode,numer:a,denom:i,continued:!1,hasBarLine:o,barSize:n,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:Rr,mathmlBuilder:Or});var Hr=function(t,e){var r,a,n=e.style,i=Vt(t,"supsub");i?(r=i.sup?ue(i.sup,e.havingStyle(n.sup()),e):ue(i.sub,e.havingStyle(n.sub()),e),a=Ft(i.base,"horizBrace")):a=Ft(t,"horizBrace");var o,s=ue(a.base,e.havingBaseStyle(w.DISPLAY)),h=Oe(a,e);if(a.isOver?(o=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:h}]},e)).children[0].children[0].children[1].classes.push("svg-align"):(o=Dt.makeVList({positionType:"bottom",positionData:s.depth+.1+h.height,children:[{type:"elem",elem:h},{type:"kern",size:.1},{type:"elem",elem:s}]},e)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=Dt.makeSpan(["mord",a.isOver?"mover":"munder"],[o],e);o=a.isOver?Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},e):Dt.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},e)}return Dt.makeSpan(["mord",a.isOver?"mover":"munder"],[o],e)};Qt({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(t,e){var r=t.parser,a=t.funcName;return{type:"horizBrace",mode:r.mode,label:a,isOver:/^\\over/.test(a),base:e[0]}},htmlBuilder:Hr,mathmlBuilder:function(t,e){var r=Re(t.label);return new ve.MathNode(t.isOver?"mover":"munder",[Me(t.base,e),r])}}),Qt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=e[1],n=Ft(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:n})?{type:"href",mode:r.mode,href:n,body:ee(a)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:function(t,e){var r=se(t.body,e,!1);return Dt.makeAnchor(t.href,[],r,e)},mathmlBuilder:function(t,e){var r=Se(t.body,e);return r instanceof ge||(r=new ge("mrow",[r])),r.setAttribute("href",t.href),r}}),Qt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=Ft(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:a}))return r.formatUnsupportedCmd("\\url");for(var n=[],i=0;i<a.length;i++){var o=a[i];"~"===o&&(o="\\textasciitilde"),n.push({type:"textord",mode:"text",text:o})}var s={type:"text",mode:r.mode,font:"\\texttt",body:n};return{type:"href",mode:r.mode,href:a,body:ee(s)}}}),Qt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:function(t,e){return{type:"htmlmathml",mode:t.parser.mode,html:ee(e[0]),mathml:ee(e[1])}},htmlBuilder:function(t,e){var r=se(t.html,e,!1);return Dt.makeFragment(r)},mathmlBuilder:function(t,e){return Se(t.mathml,e)}});var Pr=function(t){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t))return{number:+t,unit:"bp"};var e=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t);if(!e)throw new o("Invalid size: '"+t+"' in \\includegraphics");var r={number:+(e[1]+e[2]),unit:e[3]};if(!At(r))throw new o("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r};Qt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:function(t,e,r){var a=t.parser,n={number:0,unit:"em"},i={number:.9,unit:"em"},s={number:0,unit:"em"},h="";if(r[0])for(var l=Ft(r[0],"raw").string.split(","),m=0;m<l.length;m++){var c=l[m].split("=");if(2===c.length){var u=c[1].trim();switch(c[0].trim()){case"alt":h=u;break;case"width":n=Pr(u);break;case"height":i=Pr(u);break;case"totalheight":s=Pr(u);break;default:throw new o("Invalid key: '"+c[0]+"' in \\includegraphics.")}}}var p=Ft(e[0],"url").url;return""===h&&(h=(h=(h=p).replace(/^.*[\\\/]/,"")).substring(0,h.lastIndexOf("."))),a.settings.isTrusted({command:"\\includegraphics",url:p})?{type:"includegraphics",mode:a.mode,alt:h,width:n,height:i,totalheight:s,src:p}:a.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:function(t,e){var r=Tt(t.height,e),a=0;t.totalheight.number>0&&(a=Tt(t.totalheight,e)-r,a=Number(a.toFixed(2)));var n=0;t.width.number>0&&(n=Tt(t.width,e));var i={height:r+a+"em"};n>0&&(i.width=n+"em"),a>0&&(i.verticalAlign=-a+"em");var o=new R(t.src,t.alt,i);return o.height=r,o.depth=a,o},mathmlBuilder:function(t,e){var r=new ve.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var a=Tt(t.height,e),n=0;if(t.totalheight.number>0&&(n=(n=Tt(t.totalheight,e)-a).toFixed(2),r.setAttribute("valign","-"+n+"em")),r.setAttribute("height",a+n+"em"),t.width.number>0){var i=Tt(t.width,e);r.setAttribute("width",i+"em")}return r.setAttribute("src",t.src),r}}),Qt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=Ft(e[0],"size");if(r.settings.strict){var i="m"===a[1],o="mu"===n.value.unit;i?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, not "+n.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:n.value}},htmlBuilder:function(t,e){return Dt.makeGlue(t.dimension,e)},mathmlBuilder:function(t,e){var r=Tt(t.dimension,e);return new ve.SpaceNode(r)}}),Qt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"lap",mode:r.mode,alignment:a.slice(5),body:n}},htmlBuilder:function(t,e){var r;"clap"===t.alignment?(r=Dt.makeSpan([],[ue(t.body,e)]),r=Dt.makeSpan(["inner"],[r],e)):r=Dt.makeSpan(["inner"],[ue(t.body,e)]);var a=Dt.makeSpan(["fix"],[]),n=Dt.makeSpan([t.alignment],[r,a],e),i=Dt.makeSpan(["strut"]);return i.style.height=n.height+n.depth+"em",i.style.verticalAlign=-n.depth+"em",n.children.unshift(i),n=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n}]},e),Dt.makeSpan(["mord"],[n],e)},mathmlBuilder:function(t,e){var r=new ve.MathNode("mpadded",[Me(t.body,e)]);if("rlap"!==t.alignment){var a="llap"===t.alignment?"-1":"-0.5";r.setAttribute("lspace",a+"width")}return r.setAttribute("width","0px"),r}}),Qt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(t,e){var r=t.funcName,a=t.parser,n=a.mode;a.switchMode("math");var i="\\("===r?"\\)":"$",o=a.parseExpression(!1,i);return a.expect(i),a.switchMode(n),{type:"styling",mode:a.mode,style:"text",body:o}}}),Qt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(t,e){throw new o("Mismatched "+t.funcName)}});var Dr=function(t,e){switch(e.style.size){case w.DISPLAY.size:return t.display;case w.TEXT.size:return t.text;case w.SCRIPT.size:return t.script;case w.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};Qt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4},handler:function(t,e){return{type:"mathchoice",mode:t.parser.mode,display:ee(e[0]),text:ee(e[1]),script:ee(e[2]),scriptscript:ee(e[3])}},htmlBuilder:function(t,e){var r=Dr(t,e),a=se(r,e,!1);return Dt.makeFragment(a)},mathmlBuilder:function(t,e){var r=Dr(t,e);return Se(r,e)}});var Fr=function(t,e,r,a,n,i,o){var s,h,l;if(t=Dt.makeSpan([],[t]),e){var m=ue(e,a.havingStyle(n.sup()),a);h={elem:m,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-m.depth)}}if(r){var c=ue(r,a.havingStyle(n.sub()),a);s={elem:c,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-c.height)}}if(h&&s){var u=a.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+t.depth+o;l=Dt.makeVList({positionType:"bottom",positionData:u,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:-i+"em"},{type:"kern",size:s.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:i+"em"},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}else if(s){var p=t.height-o;l=Dt.makeVList({positionType:"top",positionData:p,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:-i+"em"},{type:"kern",size:s.kern},{type:"elem",elem:t}]},a)}else{if(!h)return t;var d=t.depth+o;l=Dt.makeVList({positionType:"bottom",positionData:d,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:i+"em"},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]},a)}return Dt.makeSpan(["mop","op-limits"],[l],a)},Vr=["\\smallint"],Ur=function(t,e){var r,a,n,i=!1,o=Vt(t,"supsub");o?(r=o.sup,a=o.sub,n=Ft(o.base,"op"),i=!0):n=Ft(t,"op");var s,h=e.style,l=!1;if(h.size===w.DISPLAY.size&&n.symbol&&!c.contains(Vr,n.name)&&(l=!0),n.symbol){var m=l?"Size2-Regular":"Size1-Regular",u="";if("\\oiint"!==n.name&&"\\oiiint"!==n.name||(u=n.name.substr(1),n.name="oiint"===u?"\\iint":"\\iiint"),s=Dt.makeSymbol(n.name,m,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),u.length>0){var p=s.italic,d=Dt.staticSvg(u+"Size"+(l?"2":"1"),e);s=Dt.makeVList({positionType:"individualShift",children:[{type:"elem",elem:s,shift:0},{type:"elem",elem:d,shift:l?.08:0}]},e),n.name="\\"+u,s.classes.unshift("mop"),s.italic=p}}else if(n.body){var f=se(n.body,e,!0);1===f.length&&f[0]instanceof E?(s=f[0]).classes[0]="mop":s=Dt.makeSpan(["mop"],Dt.tryCombineChars(f),e)}else{for(var g=[],x=1;x<n.name.length;x++)g.push(Dt.mathsym(n.name[x],n.mode,e));s=Dt.makeSpan(["mop"],g,e)}var v=0,b=0;return(s instanceof E||"\\oiint"===n.name||"\\oiiint"===n.name)&&!n.suppressBaseShift&&(v=(s.height-s.depth)/2-e.fontMetrics().axisHeight,b=s.italic),i?Fr(s,r,a,e,h,b,v):(v&&(s.style.position="relative",s.style.top=v+"em"),s)},Gr=function(t,e){var r;if(t.symbol)r=new ge("mo",[be(t.name,t.mode)]),c.contains(Vr,t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new ge("mo",ke(t.body,e));else{r=new ge("mi",[new xe(t.name.slice(1))]);var a=new ge("mo",[be("\u2061","text")]);r=t.parentIsSupSub?new ge("mo",[r,a]):fe([r,a])}return r},Yr={"\u220f":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22c0":"\\bigwedge","\u22c1":"\\bigvee","\u22c2":"\\bigcap","\u22c3":"\\bigcup","\u2a00":"\\bigodot","\u2a01":"\\bigoplus","\u2a02":"\\bigotimes","\u2a04":"\\biguplus","\u2a06":"\\bigsqcup"};Qt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220f","\u2210","\u2211","\u22c0","\u22c1","\u22c2","\u22c3","\u2a00","\u2a01","\u2a02","\u2a04","\u2a06"],props:{numArgs:0},handler:function(t,e){var r=t.parser,a=t.funcName;return 1===a.length&&(a=Yr[a]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:Ur,mathmlBuilder:Gr}),Qt({type:"op",names:["\\mathop"],props:{numArgs:1},handler:function(t,e){var r=t.parser,a=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:ee(a)}},htmlBuilder:Ur,mathmlBuilder:Gr});var Wr={"\u222b":"\\int","\u222c":"\\iint","\u222d":"\\iiint","\u222e":"\\oint","\u222f":"\\oiint","\u2230":"\\oiiint"};Qt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler:function(t){var e=t.parser,r=t.funcName;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ur,mathmlBuilder:Gr}),Qt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler:function(t){var e=t.parser,r=t.funcName;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:Ur,mathmlBuilder:Gr}),Qt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222b","\u222c","\u222d","\u222e","\u222f","\u2230"],props:{numArgs:0},handler:function(t){var e=t.parser,r=t.funcName;return 1===r.length&&(r=Wr[r]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:r}},htmlBuilder:Ur,mathmlBuilder:Gr});var Xr=function(t,e){var r,a,n,i,o=!1,s=Vt(t,"supsub");if(s?(r=s.sup,a=s.sub,n=Ft(s.base,"operatorname"),o=!0):n=Ft(t,"operatorname"),n.body.length>0){for(var h=n.body.map(function(t){var e=t.text;return"string"==typeof e?{type:"textord",mode:t.mode,text:e}:t}),l=se(h,e.withFont("mathrm"),!0),m=0;m<l.length;m++){var c=l[m];c instanceof E&&(c.text=c.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}i=Dt.makeSpan(["mop"],l,e)}else i=Dt.makeSpan(["mop"],[],e);return o?Fr(i,r,a,e,e.style,0,0):i};function _r(t,e,r){for(var a=se(t,e,!1),n=e.sizeMultiplier/r.sizeMultiplier,i=0;i<a.length;i++){var o=a[i].classes.indexOf("sizing");o<0?Array.prototype.push.apply(a[i].classes,e.sizingClasses(r)):a[i].classes[o+1]==="reset-size"+e.size&&(a[i].classes[o+1]="reset-size"+r.size),a[i].height*=n,a[i].depth*=n}return Dt.makeFragment(a)}Qt({type:"operatorname",names:["\\operatorname","\\operatorname*"],props:{numArgs:1},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"operatorname",mode:r.mode,body:ee(n),alwaysHandleSupSub:"\\operatorname*"===a,limits:!1,parentIsSupSub:!1}},htmlBuilder:Xr,mathmlBuilder:function(t,e){for(var r=ke(t.body,e.withFont("mathrm")),a=!0,n=0;n<r.length;n++){var i=r[n];if(i instanceof ve.SpaceNode);else if(i instanceof ve.MathNode)switch(i.type){case"mi":case"mn":case"ms":case"mspace":case"mtext":break;case"mo":var o=i.children[0];1===i.children.length&&o instanceof ve.TextNode?o.text=o.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):a=!1;break;default:a=!1}else a=!1}if(a){var s=r.map(function(t){return t.toText()}).join("");r=[new ve.TextNode(s)]}var h=new ve.MathNode("mi",r);h.setAttribute("mathvariant","normal");var l=new ve.MathNode("mo",[be("\u2061","text")]);return t.parentIsSupSub?new ve.MathNode("mo",[h,l]):ve.newDocumentFragment([h,l])}}),te({type:"ordgroup",htmlBuilder:function(t,e){return t.semisimple?Dt.makeFragment(se(t.body,e,!1)):Dt.makeSpan(["mord"],se(t.body,e,!0),e)},mathmlBuilder:function(t,e){return Se(t.body,e,!0)}}),Qt({type:"overline",names:["\\overline"],props:{numArgs:1},handler:function(t,e){var r=t.parser,a=e[0];return{type:"overline",mode:r.mode,body:a}},htmlBuilder:function(t,e){var r=ue(t.body,e.havingCrampedStyle()),a=Dt.makeLineSpan("overline-line",e),n=e.fontMetrics().defaultRuleThickness,i=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*n},{type:"elem",elem:a},{type:"kern",size:n}]},e);return Dt.makeSpan(["mord","overline"],[i],e)},mathmlBuilder:function(t,e){var r=new ve.MathNode("mo",[new ve.TextNode("\u203e")]);r.setAttribute("stretchy","true");var a=new ve.MathNode("mover",[Me(t.body,e),r]);return a.setAttribute("accent","true"),a}}),Qt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){var r=t.parser,a=e[0];return{type:"phantom",mode:r.mode,body:ee(a)}},htmlBuilder:function(t,e){var r=se(t.body,e.withPhantom(),!1);return Dt.makeFragment(r)},mathmlBuilder:function(t,e){var r=ke(t.body,e);return new ve.MathNode("mphantom",r)}}),Qt({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){var r=t.parser,a=e[0];return{type:"hphantom",mode:r.mode,body:a}},htmlBuilder:function(t,e){var r=Dt.makeSpan([],[ue(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var a=0;a<r.children.length;a++)r.children[a].height=0,r.children[a].depth=0;return r=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r}]},e),Dt.makeSpan(["mord"],[r],e)},mathmlBuilder:function(t,e){var r=ke(ee(t.body),e),a=new ve.MathNode("mphantom",r),n=new ve.MathNode("mpadded",[a]);return n.setAttribute("height","0px"),n.setAttribute("depth","0px"),n}}),Qt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){var r=t.parser,a=e[0];return{type:"vphantom",mode:r.mode,body:a}},htmlBuilder:function(t,e){var r=Dt.makeSpan(["inner"],[ue(t.body,e.withPhantom())]),a=Dt.makeSpan(["fix"],[]);return Dt.makeSpan(["mord","rlap"],[r,a],e)},mathmlBuilder:function(t,e){var r=ke(ee(t.body),e),a=new ve.MathNode("mphantom",r),n=new ve.MathNode("mpadded",[a]);return n.setAttribute("width","0px"),n}}),Qt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler:function(t,e){var r=t.parser,a=Ft(e[0],"size").value,n=e[1];return{type:"raisebox",mode:r.mode,dy:a,body:n}},htmlBuilder:function(t,e){var r=ue(t.body,e),a=Tt(t.dy,e);return Dt.makeVList({positionType:"shift",positionData:-a,children:[{type:"elem",elem:r}]},e)},mathmlBuilder:function(t,e){var r=new ve.MathNode("mpadded",[Me(t.body,e)]),a=t.dy.number+t.dy.unit;return r.setAttribute("voffset",a),r}}),Qt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler:function(t,e,r){var a=t.parser,n=r[0],i=Ft(e[0],"size"),o=Ft(e[1],"size");return{type:"rule",mode:a.mode,shift:n&&Ft(n,"size").value,width:i.value,height:o.value}},htmlBuilder:function(t,e){var r=Dt.makeSpan(["mord","rule"],[],e),a=Tt(t.width,e),n=Tt(t.height,e),i=t.shift?Tt(t.shift,e):0;return r.style.borderRightWidth=a+"em",r.style.borderTopWidth=n+"em",r.style.bottom=i+"em",r.width=a,r.height=n+i,r.depth=-i,r.maxFontSize=1.125*n*e.sizeMultiplier,r},mathmlBuilder:function(t,e){var r=Tt(t.width,e),a=Tt(t.height,e),n=t.shift?Tt(t.shift,e):0,i=e.color&&e.getColor()||"black",o=new ve.MathNode("mspace");o.setAttribute("mathbackground",i),o.setAttribute("width",r+"em"),o.setAttribute("height",a+"em");var s=new ve.MathNode("mpadded",[o]);return n>=0?s.setAttribute("height","+"+n+"em"):(s.setAttribute("height",n+"em"),s.setAttribute("depth","+"+-n+"em")),s.setAttribute("voffset",n+"em"),s}});var jr=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];Qt({type:"sizing",names:jr,props:{numArgs:0,allowedInText:!0},handler:function(t,e){var r=t.breakOnTokenText,a=t.funcName,n=t.parser,i=n.parseExpression(!1,r);return{type:"sizing",mode:n.mode,size:jr.indexOf(a)+1,body:i}},htmlBuilder:function(t,e){var r=e.havingSize(t.size);return _r(t.body,r,e)},mathmlBuilder:function(t,e){var r=e.havingSize(t.size),a=ke(t.body,r),n=new ve.MathNode("mstyle",a);return n.setAttribute("mathsize",r.sizeMultiplier+"em"),n}}),Qt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:function(t,e,r){var a=t.parser,n=!1,i=!1,o=r[0]&&Ft(r[0],"ordgroup");if(o)for(var s="",h=0;h<o.body.length;++h){if("t"===(s=o.body[h].text))n=!0;else{if("b"!==s){n=!1,i=!1;break}i=!0}}else n=!0,i=!0;var l=e[0];return{type:"smash",mode:a.mode,body:l,smashHeight:n,smashDepth:i}},htmlBuilder:function(t,e){var r=Dt.makeSpan([],[ue(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var a=0;a<r.children.length;a++)r.children[a].height=0;if(t.smashDepth&&(r.depth=0,r.children))for(var n=0;n<r.children.length;n++)r.children[n].depth=0;var i=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r}]},e);return Dt.makeSpan(["mord"],[i],e)},mathmlBuilder:function(t,e){var r=new ve.MathNode("mpadded",[Me(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}}),Qt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler:function(t,e,r){var a=t.parser,n=r[0],i=e[0];return{type:"sqrt",mode:a.mode,body:i,index:n}},htmlBuilder:function(t,e){var r=ue(t.body,e.havingCrampedStyle());0===r.height&&(r.height=e.fontMetrics().xHeight),r=Dt.wrapFragment(r,e);var a=e.fontMetrics().defaultRuleThickness,n=a;e.style.id<w.TEXT.id&&(n=e.fontMetrics().xHeight);var i=a+n/4,o=r.height+r.depth+i+a,s=ir(o,e),h=s.span,l=s.ruleWidth,m=s.advanceWidth,c=h.height-l;c>r.height+r.depth+i&&(i=(i+c-r.height-r.depth)/2);var u=h.height-r.height-i-l;r.style.paddingLeft=m+"em";var p=Dt.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+u)},{type:"elem",elem:h},{type:"kern",size:l}]},e);if(t.index){var d=e.havingStyle(w.SCRIPTSCRIPT),f=ue(t.index,d,e),g=.6*(p.height-p.depth),x=Dt.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:f}]},e),v=Dt.makeSpan(["root"],[x]);return Dt.makeSpan(["mord","sqrt"],[v,p],e)}return Dt.makeSpan(["mord","sqrt"],[p],e)},mathmlBuilder:function(t,e){var r=t.body,a=t.index;return a?new ve.MathNode("mroot",[Me(r,e),Me(a,e)]):new ve.MathNode("msqrt",[Me(r,e)])}});var $r={display:w.DISPLAY,text:w.TEXT,script:w.SCRIPT,scriptscript:w.SCRIPTSCRIPT};Qt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0},handler:function(t,e){var r=t.breakOnTokenText,a=t.funcName,n=t.parser,i=n.parseExpression(!0,r),o=a.slice(1,a.length-5);return{type:"styling",mode:n.mode,style:o,body:i}},htmlBuilder:function(t,e){var r=$r[t.style],a=e.havingStyle(r).withFont("");return _r(t.body,a,e)},mathmlBuilder:function(t,e){var r=$r[t.style],a=e.havingStyle(r),n=ke(t.body,a),i=new ve.MathNode("mstyle",n),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[t.style];return i.setAttribute("scriptlevel",o[0]),i.setAttribute("displaystyle",o[1]),i}});te({type:"supsub",htmlBuilder:function(t,e){var r=function(t,e){var r=t.base;return r?"op"===r.type?r.limits&&(e.style.size===w.DISPLAY.size||r.alwaysHandleSupSub)?Ur:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(e.style.size===w.DISPLAY.size||r.limits)?Xr:null:"accent"===r.type?c.isCharacterBox(r.base)?Ee:null:"horizBrace"===r.type&&!t.sub===r.isOver?Hr:null:null}(t,e);if(r)return r(t,e);var a,n,i,o=t.base,s=t.sup,h=t.sub,l=ue(o,e),m=e.fontMetrics(),u=0,p=0,d=o&&c.isCharacterBox(o);if(s){var f=e.havingStyle(e.style.sup());a=ue(s,f,e),d||(u=l.height-f.fontMetrics().supDrop*f.sizeMultiplier/e.sizeMultiplier)}if(h){var g=e.havingStyle(e.style.sub());n=ue(h,g,e),d||(p=l.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}i=e.style===w.DISPLAY?m.sup1:e.style.cramped?m.sup3:m.sup2;var x,v=e.sizeMultiplier,b=.5/m.ptPerEm/v+"em",y=null;if(n){var k=t.base&&"op"===t.base.type&&t.base.name&&("\\oiint"===t.base.name||"\\oiiint"===t.base.name);(l instanceof E||k)&&(y=-l.italic+"em")}if(a&&n){u=Math.max(u,i,a.depth+.25*m.xHeight),p=Math.max(p,m.sub2);var S=4*m.defaultRuleThickness;if(u-a.depth-(n.height-p)<S){p=S-(u-a.depth)+n.height;var M=.8*m.xHeight-(u-a.depth);M>0&&(u+=M,p-=M)}var z=[{type:"elem",elem:n,shift:p,marginRight:b,marginLeft:y},{type:"elem",elem:a,shift:-u,marginRight:b}];x=Dt.makeVList({positionType:"individualShift",children:z},e)}else if(n){p=Math.max(p,m.sub1,n.height-.8*m.xHeight);var A=[{type:"elem",elem:n,marginLeft:y,marginRight:b}];x=Dt.makeVList({positionType:"shift",positionData:p,children:A},e)}else{if(!a)throw new Error("supsub must have either sup or sub.");u=Math.max(u,i,a.depth+.25*m.xHeight),x=Dt.makeVList({positionType:"shift",positionData:-u,children:[{type:"elem",elem:a,marginRight:b}]},e)}var T=me(l,"right")||"mord";return Dt.makeSpan([T],[l,Dt.makeSpan(["msupsub"],[x])],e)},mathmlBuilder:function(t,e){var r,a=!1,n=Vt(t.base,"horizBrace");n&&!!t.sup===n.isOver&&(a=!0,r=n.isOver),!t.base||"op"!==t.base.type&&"operatorname"!==t.base.type||(t.base.parentIsSupSub=!0);var i,o=[Me(t.base,e)];if(t.sub&&o.push(Me(t.sub,e)),t.sup&&o.push(Me(t.sup,e)),a)i=r?"mover":"munder";else if(t.sub)if(t.sup){var s=t.base;i=s&&"op"===s.type&&s.limits&&e.style===w.DISPLAY?"munderover":s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(e.style===w.DISPLAY||s.limits)?"munderover":"msubsup"}else{var h=t.base;i=h&&"op"===h.type&&h.limits&&(e.style===w.DISPLAY||h.alwaysHandleSupSub)?"munder":h&&"operatorname"===h.type&&h.alwaysHandleSupSub&&(h.limits||e.style===w.DISPLAY)?"munder":"msub"}else{var l=t.base;i=l&&"op"===l.type&&l.limits&&(e.style===w.DISPLAY||l.alwaysHandleSupSub)?"mover":l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||e.style===w.DISPLAY)?"mover":"msup"}return new ve.MathNode(i,o)}}),te({type:"atom",htmlBuilder:function(t,e){return Dt.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder:function(t,e){var r=new ve.MathNode("mo",[be(t.text,t.mode)]);if("bin"===t.family){var a=we(t,e);"bold-italic"===a&&r.setAttribute("mathvariant",a)}else"punct"===t.family?r.setAttribute("separator","true"):"open"!==t.family&&"close"!==t.family||r.setAttribute("stretchy","false");return r}});var Zr={mi:"italic",mn:"normal",mtext:"normal"};te({type:"mathord",htmlBuilder:function(t,e){return Dt.makeOrd(t,e,"mathord")},mathmlBuilder:function(t,e){var r=new ve.MathNode("mi",[be(t.text,t.mode,e)]),a=we(t,e)||"italic";return a!==Zr[r.type]&&r.setAttribute("mathvariant",a),r}}),te({type:"textord",htmlBuilder:function(t,e){return Dt.makeOrd(t,e,"textord")},mathmlBuilder:function(t,e){var r,a=be(t.text,t.mode,e),n=we(t,e)||"normal";return r="text"===t.mode?new ve.MathNode("mtext",[a]):/[0-9]/.test(t.text)?new ve.MathNode("mn",[a]):"\\prime"===t.text?new ve.MathNode("mo",[a]):new ve.MathNode("mi",[a]),n!==Zr[r.type]&&r.setAttribute("mathvariant",n),r}});var Kr={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Jr={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};te({type:"spacing",htmlBuilder:function(t,e){if(Jr.hasOwnProperty(t.text)){var r=Jr[t.text].className||"";if("text"===t.mode){var a=Dt.makeOrd(t,e,"textord");return a.classes.push(r),a}return Dt.makeSpan(["mspace",r],[Dt.mathsym(t.text,t.mode,e)],e)}if(Kr.hasOwnProperty(t.text))return Dt.makeSpan(["mspace",Kr[t.text]],[],e);throw new o('Unknown type of space "'+t.text+'"')},mathmlBuilder:function(t,e){if(!Jr.hasOwnProperty(t.text)){if(Kr.hasOwnProperty(t.text))return new ve.MathNode("mspace");throw new o('Unknown type of space "'+t.text+'"')}return new ve.MathNode("mtext",[new ve.TextNode("\xa0")])}});var Qr=function(){var t=new ve.MathNode("mtd",[]);return t.setAttribute("width","50%"),t};te({type:"tag",mathmlBuilder:function(t,e){var r=new ve.MathNode("mtable",[new ve.MathNode("mtr",[Qr(),new ve.MathNode("mtd",[Se(t.body,e)]),Qr(),new ve.MathNode("mtd",[Se(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var ta={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},ea={"\\textbf":"textbf","\\textmd":"textmd"},ra={"\\textit":"textit","\\textup":"textup"},aa=function(t,e){var r=t.font;return r?ta[r]?e.withTextFontFamily(ta[r]):ea[r]?e.withTextFontWeight(ea[r]):e.withTextFontShape(ra[r]):e};Qt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],greediness:2,allowedInText:!0},handler:function(t,e){var r=t.parser,a=t.funcName,n=e[0];return{type:"text",mode:r.mode,body:ee(n),font:a}},htmlBuilder:function(t,e){var r=aa(t,e),a=se(t.body,r,!0);return Dt.makeSpan(["mord","text"],Dt.tryCombineChars(a),r)},mathmlBuilder:function(t,e){var r=aa(t,e);return Se(t.body,r)}}),Qt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(t,e){return{type:"underline",mode:t.parser.mode,body:e[0]}},htmlBuilder:function(t,e){var r=ue(t.body,e),a=Dt.makeLineSpan("underline-line",e),n=e.fontMetrics().defaultRuleThickness,i=Dt.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:n},{type:"elem",elem:a},{type:"kern",size:3*n},{type:"elem",elem:r}]},e);return Dt.makeSpan(["mord","underline"],[i],e)},mathmlBuilder:function(t,e){var r=new ve.MathNode("mo",[new ve.TextNode("\u203e")]);r.setAttribute("stretchy","true");var a=new ve.MathNode("munder",[Me(t.body,e),r]);return a.setAttribute("accentunder","true"),a}}),Qt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(t,e,r){throw new o("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(t,e){for(var r=na(t),a=[],n=e.havingStyle(e.style.text()),i=0;i<r.length;i++){var o=r[i];"~"===o&&(o="\\textasciitilde"),a.push(Dt.makeSymbol(o,"Typewriter-Regular",t.mode,n,["mord","texttt"]))}return Dt.makeSpan(["mord","text"].concat(n.sizingClasses(e)),Dt.tryCombineChars(a),n)},mathmlBuilder:function(t,e){var r=new ve.TextNode(na(t)),a=new ve.MathNode("mtext",[r]);return a.setAttribute("mathvariant","monospace"),a}});var na=function(t){return t.body.replace(/ /g,t.star?"\u2423":"\xa0")},ia=Zt,oa=new RegExp("^(\\\\[a-zA-Z@]+)[ \r\n\t]*$"),sa=new RegExp("[\u0300-\u036f]+$"),ha="([ \r\n\t]+)|([!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff][\u0300-\u036f]*|[\ud800-\udbff][\udc00-\udfff][\u0300-\u036f]*|\\\\verb\\*([^]).*?\\3|\\\\verb([^*a-zA-Z]).*?\\4|\\\\operatorname\\*|\\\\[a-zA-Z@]+[ \r\n\t]*|\\\\[^\ud800-\udfff])",la=function(){function t(t,e){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=t,this.settings=e,this.tokenRegex=new RegExp(ha,"g"),this.catcodes={"%":14}}var e=t.prototype;return e.setCatcode=function(t,e){this.catcodes[t]=e},e.lex=function(){var t=this.input,e=this.tokenRegex.lastIndex;if(e===t.length)return new n("EOF",new a(this,e,e));var r=this.tokenRegex.exec(t);if(null===r||r.index!==e)throw new o("Unexpected character: '"+t[e]+"'",new n(t[e],new a(this,e,e+1)));var i=r[2]||" ";if(14===this.catcodes[i]){var s=t.indexOf("\n",this.tokenRegex.lastIndex);return-1===s?(this.tokenRegex.lastIndex=t.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=s+1,this.lex()}var h=i.match(oa);return h&&(i=h[1]),new n(i,new a(this,e,this.tokenRegex.lastIndex))},t}(),ma=function(){function t(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=e,this.builtins=t,this.undefStack=[]}var e=t.prototype;return e.beginGroup=function(){this.undefStack.push({})},e.endGroup=function(){if(0===this.undefStack.length)throw new o("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var t=this.undefStack.pop();for(var e in t)t.hasOwnProperty(e)&&(void 0===t[e]?delete this.current[e]:this.current[e]=t[e])},e.has=function(t){return this.current.hasOwnProperty(t)||this.builtins.hasOwnProperty(t)},e.get=function(t){return this.current.hasOwnProperty(t)?this.current[t]:this.builtins[t]},e.set=function(t,e,r){if(void 0===r&&(r=!1),r){for(var a=0;a<this.undefStack.length;a++)delete this.undefStack[a][t];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][t]=e)}else{var n=this.undefStack[this.undefStack.length-1];n&&!n.hasOwnProperty(t)&&(n[t]=this.current[t])}this.current[t]=e},t}(),ca={},ua=ca;function pa(t,e){ca[t]=e}pa("\\@firstoftwo",function(t){return{tokens:t.consumeArgs(2)[0],numArgs:0}}),pa("\\@secondoftwo",function(t){return{tokens:t.consumeArgs(2)[1],numArgs:0}}),pa("\\@ifnextchar",function(t){var e=t.consumeArgs(3),r=t.future();return 1===e[0].length&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}}),pa("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),pa("\\TextOrMath",function(t){var e=t.consumeArgs(2);return"text"===t.mode?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var da={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};pa("\\char",function(t){var e,r=t.popToken(),a="";if("'"===r.text)e=8,r=t.popToken();else if('"'===r.text)e=16,r=t.popToken();else if("`"===r.text)if("\\"===(r=t.popToken()).text[0])a=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new o("\\char` missing argument");a=r.text.charCodeAt(0)}else e=10;if(e){if(null==(a=da[r.text])||a>=e)throw new o("Invalid base-"+e+" digit "+r.text);for(var n;null!=(n=da[t.future().text])&&n<e;)a*=e,a+=n,t.popToken()}return"\\@char{"+a+"}"});var fa=function(t,e){var r=t.consumeArgs(1)[0];if(1!==r.length)throw new o("\\gdef's first argument must be a macro name");var a=r[0].text,n=0;for(r=t.consumeArgs(1)[0];1===r.length&&"#"===r[0].text;){if(1!==(r=t.consumeArgs(1)[0]).length)throw new o('Invalid argument number length "'+r.length+'"');if(!/^[1-9]$/.test(r[0].text))throw new o('Invalid argument number "'+r[0].text+'"');if(n++,parseInt(r[0].text)!==n)throw new o('Argument number "'+r[0].text+'" out of order');r=t.consumeArgs(1)[0]}return t.macros.set(a,{tokens:r,numArgs:n},e),""};pa("\\gdef",function(t){return fa(t,!0)}),pa("\\def",function(t){return fa(t,!1)}),pa("\\global",function(t){var e=t.consumeArgs(1)[0];if(1!==e.length)throw new o("Invalid command after \\global");var r=e[0].text;if("\\def"===r)return fa(t,!0);throw new o("Invalid command '"+r+"' after \\global")});var ga=function(t,e,r){var a=t.consumeArgs(1)[0];if(1!==a.length)throw new o("\\newcommand's first argument must be a macro name");var n=a[0].text,i=t.isDefined(n);if(i&&!e)throw new o("\\newcommand{"+n+"} attempting to redefine "+n+"; use \\renewcommand");if(!i&&!r)throw new o("\\renewcommand{"+n+"} when command "+n+" does not yet exist; use \\newcommand");var s=0;if(1===(a=t.consumeArgs(1)[0]).length&&"["===a[0].text){for(var h="",l=t.expandNextToken();"]"!==l.text&&"EOF"!==l.text;)h+=l.text,l=t.expandNextToken();if(!h.match(/^\s*[0-9]+\s*$/))throw new o("Invalid number of arguments: "+h);s=parseInt(h),a=t.consumeArgs(1)[0]}return t.macros.set(n,{tokens:a,numArgs:s}),""};pa("\\newcommand",function(t){return ga(t,!1,!0)}),pa("\\renewcommand",function(t){return ga(t,!0,!1)}),pa("\\providecommand",function(t){return ga(t,!0,!0)}),pa("\\bgroup","{"),pa("\\egroup","}"),pa("\\lq","`"),pa("\\rq","'"),pa("\\aa","\\r a"),pa("\\AA","\\r A"),pa("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xa9}"),pa("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),pa("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}"),pa("\u212c","\\mathscr{B}"),pa("\u2130","\\mathscr{E}"),pa("\u2131","\\mathscr{F}"),pa("\u210b","\\mathscr{H}"),pa("\u2110","\\mathscr{I}"),pa("\u2112","\\mathscr{L}"),pa("\u2133","\\mathscr{M}"),pa("\u211b","\\mathscr{R}"),pa("\u212d","\\mathfrak{C}"),pa("\u210c","\\mathfrak{H}"),pa("\u2128","\\mathfrak{Z}"),pa("\\Bbbk","\\Bbb{k}"),pa("\xb7","\\cdotp"),pa("\\llap","\\mathllap{\\textrm{#1}}"),pa("\\rlap","\\mathrlap{\\textrm{#1}}"),pa("\\clap","\\mathclap{\\textrm{#1}}"),pa("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),pa("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}"),pa("\\ne","\\neq"),pa("\u2260","\\neq"),pa("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}"),pa("\u2209","\\notin"),pa("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}"),pa("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"),pa("\u225a","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225a}}"),pa("\u225b","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225b}}"),pa("\u225d","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225d}}"),pa("\u225e","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225e}}"),pa("\u225f","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225f}}"),pa("\u27c2","\\perp"),pa("\u203c","\\mathclose{!\\mkern-0.8mu!}"),pa("\u220c","\\notni"),pa("\u231c","\\ulcorner"),pa("\u231d","\\urcorner"),pa("\u231e","\\llcorner"),pa("\u231f","\\lrcorner"),pa("\xa9","\\copyright"),pa("\xae","\\textregistered"),pa("\ufe0f","\\textregistered"),pa("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),pa("\u22ee","\\vdots"),pa("\\varGamma","\\mathit{\\Gamma}"),pa("\\varDelta","\\mathit{\\Delta}"),pa("\\varTheta","\\mathit{\\Theta}"),pa("\\varLambda","\\mathit{\\Lambda}"),pa("\\varXi","\\mathit{\\Xi}"),pa("\\varPi","\\mathit{\\Pi}"),pa("\\varSigma","\\mathit{\\Sigma}"),pa("\\varUpsilon","\\mathit{\\Upsilon}"),pa("\\varPhi","\\mathit{\\Phi}"),pa("\\varPsi","\\mathit{\\Psi}"),pa("\\varOmega","\\mathit{\\Omega}"),pa("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),pa("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu"),pa("\\boxed","\\fbox{$\\displaystyle{#1}$}"),pa("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),pa("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),pa("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");var xa={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};pa("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in xa?e=xa[r]:"\\not"===r.substr(0,4)?e="\\dotsb":r in j.math&&c.contains(["bin","rel"],j.math[r].group)&&(e="\\dotsb"),e});var va={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};pa("\\dotso",function(t){return t.future().text in va?"\\ldots\\,":"\\ldots"}),pa("\\dotsc",function(t){var e=t.future().text;return e in va&&","!==e?"\\ldots\\,":"\\ldots"}),pa("\\cdots",function(t){return t.future().text in va?"\\@cdots\\,":"\\@cdots"}),pa("\\dotsb","\\cdots"),pa("\\dotsm","\\cdots"),pa("\\dotsi","\\!\\cdots"),pa("\\dotsx","\\ldots\\,"),pa("\\DOTSI","\\relax"),pa("\\DOTSB","\\relax"),pa("\\DOTSX","\\relax"),pa("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),pa("\\,","\\tmspace+{3mu}{.1667em}"),pa("\\thinspace","\\,"),pa("\\>","\\mskip{4mu}"),pa("\\:","\\tmspace+{4mu}{.2222em}"),pa("\\medspace","\\:"),pa("\\;","\\tmspace+{5mu}{.2777em}"),pa("\\thickspace","\\;"),pa("\\!","\\tmspace-{3mu}{.1667em}"),pa("\\negthinspace","\\!"),pa("\\negmedspace","\\tmspace-{4mu}{.2222em}"),pa("\\negthickspace","\\tmspace-{5mu}{.277em}"),pa("\\enspace","\\kern.5em "),pa("\\enskip","\\hskip.5em\\relax"),pa("\\quad","\\hskip1em\\relax"),pa("\\qquad","\\hskip2em\\relax"),pa("\\tag","\\@ifstar\\tag@literal\\tag@paren"),pa("\\tag@paren","\\tag@literal{({#1})}"),pa("\\tag@literal",function(t){if(t.macros.get("\\df@tag"))throw new o("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),pa("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),pa("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),pa("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),pa("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),pa("\\pmb","\\html@mathml{\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}{\\mathbf{#1}}"),pa("\\\\","\\newline"),pa("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var ba=F["Main-Regular"]["T".charCodeAt(0)][1]-.7*F["Main-Regular"]["A".charCodeAt(0)][1]+"em";pa("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+ba+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),pa("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+ba+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),pa("\\hspace","\\@ifstar\\@hspacer\\@hspace"),pa("\\@hspace","\\hskip #1\\relax"),pa("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),pa("\\ordinarycolon",":"),pa("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),pa("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),pa("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),pa("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),pa("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),pa("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),pa("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),pa("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),pa("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),pa("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),pa("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),pa("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),pa("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),pa("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),pa("\u2237","\\dblcolon"),pa("\u2239","\\eqcolon"),pa("\u2254","\\coloneqq"),pa("\u2255","\\eqqcolon"),pa("\u2a74","\\Coloneqq"),pa("\\ratio","\\vcentcolon"),pa("\\coloncolon","\\dblcolon"),pa("\\colonequals","\\coloneqq"),pa("\\coloncolonequals","\\Coloneqq"),pa("\\equalscolon","\\eqqcolon"),pa("\\equalscoloncolon","\\Eqqcolon"),pa("\\colonminus","\\coloneq"),pa("\\coloncolonminus","\\Coloneq"),pa("\\minuscolon","\\eqcolon"),pa("\\minuscoloncolon","\\Eqcolon"),pa("\\coloncolonapprox","\\Colonapprox"),pa("\\coloncolonsim","\\Colonsim"),pa("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),pa("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),pa("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),pa("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),pa("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),pa("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),pa("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),pa("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),pa("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),pa("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),pa("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),pa("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),pa("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),pa("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),pa("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),pa("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),pa("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),pa("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),pa("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),pa("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),pa("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),pa("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),pa("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),pa("\u27e6","\\llbracket"),pa("\u27e7","\\rrbracket"),pa("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),pa("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),pa("\u2983","\\lBrace"),pa("\u2984","\\rBrace"),pa("\\darr","\\downarrow"),pa("\\dArr","\\Downarrow"),pa("\\Darr","\\Downarrow"),pa("\\lang","\\langle"),pa("\\rang","\\rangle"),pa("\\uarr","\\uparrow"),pa("\\uArr","\\Uparrow"),pa("\\Uarr","\\Uparrow"),pa("\\N","\\mathbb{N}"),pa("\\R","\\mathbb{R}"),pa("\\Z","\\mathbb{Z}"),pa("\\alef","\\aleph"),pa("\\alefsym","\\aleph"),pa("\\Alpha","\\mathrm{A}"),pa("\\Beta","\\mathrm{B}"),pa("\\bull","\\bullet"),pa("\\Chi","\\mathrm{X}"),pa("\\clubs","\\clubsuit"),pa("\\cnums","\\mathbb{C}"),pa("\\Complex","\\mathbb{C}"),pa("\\Dagger","\\ddagger"),pa("\\diamonds","\\diamondsuit"),pa("\\empty","\\emptyset"),pa("\\Epsilon","\\mathrm{E}"),pa("\\Eta","\\mathrm{H}"),pa("\\exist","\\exists"),pa("\\harr","\\leftrightarrow"),pa("\\hArr","\\Leftrightarrow"),pa("\\Harr","\\Leftrightarrow"),pa("\\hearts","\\heartsuit"),pa("\\image","\\Im"),pa("\\infin","\\infty"),pa("\\Iota","\\mathrm{I}"),pa("\\isin","\\in"),pa("\\Kappa","\\mathrm{K}"),pa("\\larr","\\leftarrow"),pa("\\lArr","\\Leftarrow"),pa("\\Larr","\\Leftarrow"),pa("\\lrarr","\\leftrightarrow"),pa("\\lrArr","\\Leftrightarrow"),pa("\\Lrarr","\\Leftrightarrow"),pa("\\Mu","\\mathrm{M}"),pa("\\natnums","\\mathbb{N}"),pa("\\Nu","\\mathrm{N}"),pa("\\Omicron","\\mathrm{O}"),pa("\\plusmn","\\pm"),pa("\\rarr","\\rightarrow"),pa("\\rArr","\\Rightarrow"),pa("\\Rarr","\\Rightarrow"),pa("\\real","\\Re"),pa("\\reals","\\mathbb{R}"),pa("\\Reals","\\mathbb{R}"),pa("\\Rho","\\mathrm{P}"),pa("\\sdot","\\cdot"),pa("\\sect","\\S"),pa("\\spades","\\spadesuit"),pa("\\sub","\\subset"),pa("\\sube","\\subseteq"),pa("\\supe","\\supseteq"),pa("\\Tau","\\mathrm{T}"),pa("\\thetasym","\\vartheta"),pa("\\weierp","\\wp"),pa("\\Zeta","\\mathrm{Z}"),pa("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),pa("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),pa("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),pa("\\blue","\\textcolor{##6495ed}{#1}"),pa("\\orange","\\textcolor{##ffa500}{#1}"),pa("\\pink","\\textcolor{##ff00af}{#1}"),pa("\\red","\\textcolor{##df0030}{#1}"),pa("\\green","\\textcolor{##28ae7b}{#1}"),pa("\\gray","\\textcolor{gray}{#1}"),pa("\\purple","\\textcolor{##9d38bd}{#1}"),pa("\\blueA","\\textcolor{##ccfaff}{#1}"),pa("\\blueB","\\textcolor{##80f6ff}{#1}"),pa("\\blueC","\\textcolor{##63d9ea}{#1}"),pa("\\blueD","\\textcolor{##11accd}{#1}"),pa("\\blueE","\\textcolor{##0c7f99}{#1}"),pa("\\tealA","\\textcolor{##94fff5}{#1}"),pa("\\tealB","\\textcolor{##26edd5}{#1}"),pa("\\tealC","\\textcolor{##01d1c1}{#1}"),pa("\\tealD","\\textcolor{##01a995}{#1}"),pa("\\tealE","\\textcolor{##208170}{#1}"),pa("\\greenA","\\textcolor{##b6ffb0}{#1}"),pa("\\greenB","\\textcolor{##8af281}{#1}"),pa("\\greenC","\\textcolor{##74cf70}{#1}"),pa("\\greenD","\\textcolor{##1fab54}{#1}"),pa("\\greenE","\\textcolor{##0d923f}{#1}"),pa("\\goldA","\\textcolor{##ffd0a9}{#1}"),pa("\\goldB","\\textcolor{##ffbb71}{#1}"),pa("\\goldC","\\textcolor{##ff9c39}{#1}"),pa("\\goldD","\\textcolor{##e07d10}{#1}"),pa("\\goldE","\\textcolor{##a75a05}{#1}"),pa("\\redA","\\textcolor{##fca9a9}{#1}"),pa("\\redB","\\textcolor{##ff8482}{#1}"),pa("\\redC","\\textcolor{##f9685d}{#1}"),pa("\\redD","\\textcolor{##e84d39}{#1}"),pa("\\redE","\\textcolor{##bc2612}{#1}"),pa("\\maroonA","\\textcolor{##ffbde0}{#1}"),pa("\\maroonB","\\textcolor{##ff92c6}{#1}"),pa("\\maroonC","\\textcolor{##ed5fa6}{#1}"),pa("\\maroonD","\\textcolor{##ca337c}{#1}"),pa("\\maroonE","\\textcolor{##9e034e}{#1}"),pa("\\purpleA","\\textcolor{##ddd7ff}{#1}"),pa("\\purpleB","\\textcolor{##c6b9fc}{#1}"),pa("\\purpleC","\\textcolor{##aa87ff}{#1}"),pa("\\purpleD","\\textcolor{##7854ab}{#1}"),pa("\\purpleE","\\textcolor{##543b78}{#1}"),pa("\\mintA","\\textcolor{##f5f9e8}{#1}"),pa("\\mintB","\\textcolor{##edf2df}{#1}"),pa("\\mintC","\\textcolor{##e0e5cc}{#1}"),pa("\\grayA","\\textcolor{##f6f7f7}{#1}"),pa("\\grayB","\\textcolor{##f0f1f2}{#1}"),pa("\\grayC","\\textcolor{##e3e5e6}{#1}"),pa("\\grayD","\\textcolor{##d6d8da}{#1}"),pa("\\grayE","\\textcolor{##babec2}{#1}"),pa("\\grayF","\\textcolor{##888d93}{#1}"),pa("\\grayG","\\textcolor{##626569}{#1}"),pa("\\grayH","\\textcolor{##3b3e40}{#1}"),pa("\\grayI","\\textcolor{##21242c}{#1}"),pa("\\kaBlue","\\textcolor{##314453}{#1}"),pa("\\kaGreen","\\textcolor{##71B307}{#1}");var ya={"\\relax":!0,"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},wa=function(){function t(t,e,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=e,this.expansionCount=0,this.feed(t),this.macros=new ma(ua,e.macros),this.mode=r,this.stack=[]}var e=t.prototype;return e.feed=function(t){this.lexer=new la(t,this.settings)},e.switchMode=function(t){this.mode=t},e.beginGroup=function(){this.macros.beginGroup()},e.endGroup=function(){this.macros.endGroup()},e.future=function(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]},e.popToken=function(){return this.future(),this.stack.pop()},e.pushToken=function(t){this.stack.push(t)},e.pushTokens=function(t){var e;(e=this.stack).push.apply(e,t)},e.consumeSpaces=function(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}},e.consumeArgs=function(t){for(var e=[],r=0;r<t;++r){this.consumeSpaces();var a=this.popToken();if("{"===a.text){for(var n=[],i=1;0!==i;){var s=this.popToken();if(n.push(s),"{"===s.text)++i;else if("}"===s.text)--i;else if("EOF"===s.text)throw new o("End of input in macro argument",a)}n.pop(),n.reverse(),e[r]=n}else{if("EOF"===a.text)throw new o("End of input expecting macro argument");e[r]=[a]}}return e},e.expandOnce=function(){var t=this.popToken(),e=t.text,r=this._getExpansion(e);if(null==r)return this.pushToken(t),t;if(this.expansionCount++,this.expansionCount>this.settings.maxExpand)throw new o("Too many expansions: infinite loop or need to increase maxExpand setting");var a=r.tokens;if(r.numArgs)for(var n=this.consumeArgs(r.numArgs),i=(a=a.slice()).length-1;i>=0;--i){var s=a[i];if("#"===s.text){if(0===i)throw new o("Incomplete placeholder at end of macro body",s);if("#"===(s=a[--i]).text)a.splice(i+1,1);else{if(!/^[1-9]$/.test(s.text))throw new o("Not a valid argument number",s);var h;(h=a).splice.apply(h,[i,2].concat(n[+s.text-1]))}}}return this.pushTokens(a),a},e.expandAfterFuture=function(){return this.expandOnce(),this.future()},e.expandNextToken=function(){for(;;){var t=this.expandOnce();if(t instanceof n){if("\\relax"!==t.text)return this.stack.pop();this.stack.pop()}}throw new Error},e.expandMacro=function(t){if(this.macros.get(t)){var e=[],r=this.stack.length;for(this.pushToken(new n(t));this.stack.length>r;){this.expandOnce()instanceof n&&e.push(this.stack.pop())}return e}},e.expandMacroAsText=function(t){var e=this.expandMacro(t);return e?e.map(function(t){return t.text}).join(""):e},e._getExpansion=function(t){var e=this.macros.get(t);if(null==e)return e;var r="function"==typeof e?e(this):e;if("string"==typeof r){var a=0;if(-1!==r.indexOf("#"))for(var n=r.replace(/##/g,"");-1!==n.indexOf("#"+(a+1));)++a;for(var i=new la(r,this.settings),o=[],s=i.lex();"EOF"!==s.text;)o.push(s),s=i.lex();return o.reverse(),{tokens:o,numArgs:a}}return r},e.isDefined=function(t){return this.macros.has(t)||ia.hasOwnProperty(t)||j.math.hasOwnProperty(t)||j.text.hasOwnProperty(t)||ya.hasOwnProperty(t)},t}(),ka={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"}},Sa={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\u010f":"d\u030c","\u1e0b":"d\u0307","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u013a":"l\u0301","\u013e":"l\u030c","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\u010e":"D\u030c","\u1e0a":"D\u0307","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0139":"L\u0301","\u013d":"L\u030c","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u0164":"T\u030c","\u1e6a":"T\u0307","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"},Ma=function(){function t(t,e){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new wa(t,e,this.mode),this.settings=e,this.leftrightDepth=0}var e=t.prototype;return e.expect=function(t,e){if(void 0===e&&(e=!0),this.fetch().text!==t)throw new o("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());e&&this.consume()},e.consume=function(){this.nextToken=null},e.fetch=function(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken},e.switchMode=function(t){this.mode=t,this.gullet.switchMode(t)},e.parse=function(){this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");var t=this.parseExpression(!1);return this.expect("EOF"),this.gullet.endGroup(),t},e.parseExpression=function(e,r){for(var a=[];;){"math"===this.mode&&this.consumeSpaces();var n=this.fetch();if(-1!==t.endOfExpression.indexOf(n.text))break;if(r&&n.text===r)break;if(e&&ia[n.text]&&ia[n.text].infix)break;var i=this.parseAtom(r);if(!i)break;a.push(i)}return"text"===this.mode&&this.formLigatures(a),this.handleInfixNodes(a)},e.handleInfixNodes=function(t){for(var e,r=-1,a=0;a<t.length;a++){var n=Vt(t[a],"infix");if(n){if(-1!==r)throw new o("only one infix operator per group",n.token);r=a,e=n.replaceWith}}if(-1!==r&&e){var i,s,h=t.slice(0,r),l=t.slice(r+1);return i=1===h.length&&"ordgroup"===h[0].type?h[0]:{type:"ordgroup",mode:this.mode,body:h},s=1===l.length&&"ordgroup"===l[0].type?l[0]:{type:"ordgroup",mode:this.mode,body:l},["\\\\abovefrac"===e?this.callFunction(e,[i,t[r],s],[]):this.callFunction(e,[i,s],[])]}return t},e.handleSupSubscript=function(e){var r=this.fetch(),a=r.text;this.consume();var n=this.parseGroup(e,!1,t.SUPSUB_GREEDINESS,void 0,void 0,!0);if(!n)throw new o("Expected group after '"+a+"'",r);return n},e.formatUnsupportedCmd=function(t){for(var e=[],r=0;r<t.length;r++)e.push({type:"textord",mode:"text",text:t[r]});var a={type:"text",mode:this.mode,body:e};return{type:"color",mode:this.mode,color:this.settings.errorColor,body:[a]}},e.parseAtom=function(t){var e,r,a=this.parseGroup("atom",!1,null,t);if("text"===this.mode)return a;for(;;){this.consumeSpaces();var n=this.fetch();if("\\limits"===n.text||"\\nolimits"===n.text){var i=Vt(a,"op");if(i){var s="\\limits"===n.text;i.limits=s,i.alwaysHandleSupSub=!0}else{if(!(i=Vt(a,"operatorname"))||!i.alwaysHandleSupSub)throw new o("Limit controls must follow a math operator",n);var h="\\limits"===n.text;i.limits=h}this.consume()}else if("^"===n.text){if(e)throw new o("Double superscript",n);e=this.handleSupSubscript("superscript")}else if("_"===n.text){if(r)throw new o("Double subscript",n);r=this.handleSupSubscript("subscript")}else{if("'"!==n.text)break;if(e)throw new o("Double superscript",n);var l={type:"textord",mode:this.mode,text:"\\prime"},m=[l];for(this.consume();"'"===this.fetch().text;)m.push(l),this.consume();"^"===this.fetch().text&&m.push(this.handleSupSubscript("superscript")),e={type:"ordgroup",mode:this.mode,body:m}}}return e||r?{type:"supsub",mode:this.mode,base:a,sup:e,sub:r}:a},e.parseFunction=function(t,e,r){var a=this.fetch(),n=a.text,i=ia[n];if(!i)return null;if(this.consume(),null!=r&&i.greediness<=r)throw new o("Got function '"+n+"' with no arguments"+(e?" as "+e:""),a);if("text"===this.mode&&!i.allowedInText)throw new o("Can't use function '"+n+"' in text mode",a);if("math"===this.mode&&!1===i.allowedInMath)throw new o("Can't use function '"+n+"' in math mode",a);var s=this.parseArguments(n,i),h=s.args,l=s.optArgs;return this.callFunction(n,h,l,a,t)},e.callFunction=function(t,e,r,a,n){var i={funcName:t,parser:this,token:a,breakOnTokenText:n},s=ia[t];if(s&&s.handler)return s.handler(i,e,r);throw new o("No function handler for "+t)},e.parseArguments=function(t,e){var r=e.numArgs+e.numOptionalArgs;if(0===r)return{args:[],optArgs:[]};for(var a=e.greediness,n=[],i=[],s=0;s<r;s++){var h=e.argTypes&&e.argTypes[s],l=s<e.numOptionalArgs,m=s>0&&!l||0===s&&!l&&"math"===this.mode,c=this.parseGroupOfType("argument to '"+t+"'",h,l,a,m);if(!c){if(l){i.push(null);continue}throw new o("Expected group after '"+t+"'",this.fetch())}(l?i:n).push(c)}return{args:n,optArgs:i}},e.parseGroupOfType=function(t,e,r,a,n){switch(e){case"color":return n&&this.consumeSpaces(),this.parseColorGroup(r);case"size":return n&&this.consumeSpaces(),this.parseSizeGroup(r);case"url":return this.parseUrlGroup(r,n);case"math":case"text":return this.parseGroup(t,r,a,void 0,e,n);case"hbox":var i=this.parseGroup(t,r,a,void 0,"text",n);return i?{type:"styling",mode:i.mode,body:[i],style:"text"}:i;case"raw":if(n&&this.consumeSpaces(),r&&"{"===this.fetch().text)return null;var s=this.parseStringGroup("raw",r,!0);if(s)return{type:"raw",mode:"text",string:s.text};throw new o("Expected raw group",this.fetch());case"original":case null:case void 0:return this.parseGroup(t,r,a,void 0,void 0,n);default:throw new o("Unknown group type as "+t,this.fetch())}},e.consumeSpaces=function(){for(;" "===this.fetch().text;)this.consume()},e.parseStringGroup=function(t,e,r){var a=e?"[":"{",n=e?"]":"}",i=this.fetch();if(i.text!==a){if(e)return null;if(r&&"EOF"!==i.text&&/[^{}[\]]/.test(i.text))return this.consume(),i}var s=this.mode;this.mode="text",this.expect(a);for(var h,l="",m=this.fetch(),c=0,u=m;(h=this.fetch()).text!==n||r&&c>0;){switch(h.text){case"EOF":throw new o("Unexpected end of input in "+t,m.range(u,l));case a:c++;break;case n:c--}l+=(u=h).text,this.consume()}return this.expect(n),this.mode=s,m.range(u,l)},e.parseRegexGroup=function(t,e){var r=this.mode;this.mode="text";for(var a,n=this.fetch(),i=n,s="";"EOF"!==(a=this.fetch()).text&&t.test(s+a.text);)s+=(i=a).text,this.consume();if(""===s)throw new o("Invalid "+e+": '"+n.text+"'",n);return this.mode=r,n.range(i,s)},e.parseColorGroup=function(t){var e=this.parseStringGroup("color",t);if(!e)return null;var r=/^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(e.text);if(!r)throw new o("Invalid color: '"+e.text+"'",e);var a=r[0];return/^[0-9a-f]{6}$/i.test(a)&&(a="#"+a),{type:"color-token",mode:this.mode,color:a}},e.parseSizeGroup=function(t){var e,r=!1;if(!(e=t||"{"===this.fetch().text?this.parseStringGroup("size",t):this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size")))return null;t||0!==e.text.length||(e.text="0pt",r=!0);var a=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e.text);if(!a)throw new o("Invalid size: '"+e.text+"'",e);var n={number:+(a[1]+a[2]),unit:a[3]};if(!At(n))throw new o("Invalid unit: '"+n.unit+"'",e);return{type:"size",mode:this.mode,value:n,isBlank:r}},e.parseUrlGroup=function(t,e){this.gullet.lexer.setCatcode("%",13);var r=this.parseStringGroup("url",t,!0);if(this.gullet.lexer.setCatcode("%",14),!r)return null;var a=r.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}},e.parseGroup=function(e,r,n,i,s,h){var l=this.mode;s&&this.switchMode(s),h&&this.consumeSpaces();var m,c=this.fetch(),u=c.text;if(r?"["===u:"{"===u||"\\begingroup"===u){this.consume();var p=t.endOfGroup[u];this.gullet.beginGroup();var d=this.parseExpression(!1,p),f=this.fetch();this.expect(p),this.gullet.endGroup(),m={type:"ordgroup",mode:this.mode,loc:a.range(c,f),body:d,semisimple:"\\begingroup"===u||void 0}}else if(r)m=null;else if(null==(m=this.parseFunction(i,e,n)||this.parseSymbol())&&"\\"===u[0]&&!ya.hasOwnProperty(u)){if(this.settings.throwOnError)throw new o("Undefined control sequence: "+u,c);m=this.formatUnsupportedCmd(u),this.consume()}return s&&this.switchMode(l),m},e.formLigatures=function(t){for(var e=t.length-1,r=0;r<e;++r){var n=t[r],i=n.text;"-"===i&&"-"===t[r+1].text&&(r+1<e&&"-"===t[r+2].text?(t.splice(r,3,{type:"textord",mode:"text",loc:a.range(n,t[r+2]),text:"---"}),e-=2):(t.splice(r,2,{type:"textord",mode:"text",loc:a.range(n,t[r+1]),text:"--"}),e-=1)),"'"!==i&&"`"!==i||t[r+1].text!==i||(t.splice(r,2,{type:"textord",mode:"text",loc:a.range(n,t[r+1]),text:i+i}),e-=1)}},e.parseSymbol=function(){var t=this.fetch(),e=t.text;if(/^\\verb[^a-zA-Z]/.test(e)){this.consume();var r=e.slice(5),n="*"===r.charAt(0);if(n&&(r=r.slice(1)),r.length<2||r.charAt(0)!==r.slice(-1))throw new o("\\verb assertion failed --\n please report what input caused this bug");return{type:"verb",mode:"text",body:r=r.slice(1,-1),star:n}}Sa.hasOwnProperty(e[0])&&!j[this.mode][e[0]]&&(this.settings.strict&&"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+e[0]+'" used in math mode',t),e=Sa[e[0]]+e.substr(1));var i,s=sa.exec(e);if(s&&("i"===(e=e.substring(0,s.index))?e="\u0131":"j"===e&&(e="\u0237")),j[this.mode][e]){this.settings.strict&&"math"===this.mode&&"\xc7\xd0\xde\xe7\xfe".indexOf(e)>=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+e[0]+'" used in math mode',t);var h,l=j[this.mode][e].group,m=a.range(t);if(W.hasOwnProperty(l)){var c=l;h={type:"atom",mode:this.mode,family:c,loc:m,text:e}}else h={type:l,mode:this.mode,loc:m,text:e};i=h}else{if(!(e.charCodeAt(0)>=128))return null;this.settings.strict&&(M(e.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+e[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+e[0]+'" ('+e.charCodeAt(0)+")",t)),i={type:"textord",mode:"text",loc:a.range(t),text:e}}if(this.consume(),s)for(var u=0;u<s[0].length;u++){var p=s[0][u];if(!ka[p])throw new o("Unknown accent ' "+p+"'",t);var d=ka[p][this.mode];if(!d)throw new o("Accent "+p+" unsupported in "+this.mode+" mode",t);i={type:"accent",mode:this.mode,loc:a.range(t),label:d,isStretchy:!1,isShifty:!0,base:i}}return i},t}();Ma.endOfExpression=["}","\\endgroup","\\end","\\right","&"],Ma.endOfGroup={"[":"]","{":"}","\\begingroup":"\\endgroup"},Ma.SUPSUB_GREEDINESS=1;var za=function(t,e){if(!("string"==typeof t||t instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var r=new Ma(t,e);delete r.gullet.macros.current["\\df@tag"];var a=r.parse();if(r.gullet.macros.get("\\df@tag")){if(!e.displayMode)throw new o("\\tag works only in display equations");r.gullet.feed("\\df@tag"),a=[{type:"tag",mode:"text",body:a,tag:r.parse()}]}return a},Aa=function(t,e,r){e.textContent="";var a=Ba(t,r).toNode();e.appendChild(a)};"undefined"!=typeof document&&"CSS1Compat"!==document.compatMode&&("undefined"!=typeof console&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),Aa=function(){throw new o("KaTeX doesn't work in quirks mode.")});var Ta=function(t,e,r){if(r.throwOnError||!(t instanceof o))throw t;var a=Dt.makeSpan(["katex-error"],[new E(e)]);return a.setAttribute("title",t.toString()),a.setAttribute("style","color:"+r.errorColor),a},Ba=function(t,e){var r=new u(e);try{var a=za(t,r);return Be(a,t,r)}catch(e){return Ta(e,t,r)}},Ca={version:"0.11.1",render:Aa,renderToString:function(t,e){return Ba(t,e).toMarkup()},ParseError:o,__parse:function(t,e){var r=new u(e);return za(t,r)},__renderToDomTree:Ba,__renderToHTMLTree:function(t,e){var r=new u(e);try{return function(t,e,r){var a=de(t,Ae(r)),n=Dt.makeSpan(["katex"],[a]);return Te(n,r)}(za(t,r),0,r)}catch(e){return Ta(e,t,r)}},__setFontMetrics:function(t,e){F[t]=e},__defineSymbol:$,__defineMacro:pa,__domTree:{Span:N,Anchor:I,SymbolNode:E,SvgNode:L,PathNode:H,LineNode:P}};e.default=Ca}]).default}); \ No newline at end of file diff --git a/manifest.json b/manifest.json new file mode 100644 index 00000000..be6baaf0 --- /dev/null +++ b/manifest.json @@ -0,0 +1,15 @@ +{ + "name": "Visual Computing", + "short_name": "Visual Computing", + "start_url": "/hugo-vc/", + "scope": "/hugo-vc/", + "display": "standalone", + "background_color": "#000000", + "theme_color": "#000000", + "icons": [ + { + "src": "/hugo-vc/favicon.svg", + "sizes": "512x512" + } + ] +} diff --git a/mermaid.min.js b/mermaid.min.js new file mode 100644 index 00000000..48da6d6c --- /dev/null +++ b/mermaid.min.js @@ -0,0 +1,32 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.mermaid=e():t.mermaid=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=383)}([function(t,e,n){"use strict";n.r(e);var r=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},i=function(t){var e;return 1===t.length&&(e=t,t=function(t,n){return r(e(t),n)}),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){var a=r+i>>>1;t(e[a],n)>0?i=a:r=a+1}return r}}};var a=i(r),o=a.right,s=a.left,c=o,u=function(t,e){null==e&&(e=l);for(var n=0,r=t.length-1,i=t[0],a=new Array(r<0?0:r);n<r;)a[n]=e(i,i=t[++n]);return a};function l(t,e){return[t,e]}var h=function(t,e,n){var r,i,a,o,s=t.length,c=e.length,u=new Array(s*c);for(null==n&&(n=l),r=a=0;r<s;++r)for(o=t[r],i=0;i<c;++i,++a)u[a]=n(o,e[i]);return u},f=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},d=function(t){return null===t?NaN:+t},p=function(t,e){var n,r,i=t.length,a=0,o=-1,s=0,c=0;if(null==e)for(;++o<i;)isNaN(n=d(t[o]))||(c+=(r=n-s)*(n-(s+=r/++a)));else for(;++o<i;)isNaN(n=d(e(t[o],o,t)))||(c+=(r=n-s)*(n-(s+=r/++a)));if(a>1)return c/(a-1)},g=function(t,e){var n=p(t,e);return n?Math.sqrt(n):n},y=function(t,e){var n,r,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(n=t[o])&&n>=n)for(r=i=n;++o<a;)null!=(n=t[o])&&(r>n&&(r=n),i<n&&(i=n))}else for(;++o<a;)if(null!=(n=e(t[o],o,t))&&n>=n)for(r=i=n;++o<a;)null!=(n=e(t[o],o,t))&&(r>n&&(r=n),i<n&&(i=n));return[r,i]},v=Array.prototype,m=v.slice,b=v.map,x=function(t){return function(){return t}},_=function(t){return t},k=function(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((e-t)/n)),a=new Array(i);++r<i;)a[r]=t+r*n;return a},w=Math.sqrt(50),E=Math.sqrt(10),T=Math.sqrt(2),C=function(t,e,n){var r,i,a,o,s=-1;if(n=+n,(t=+t)===(e=+e)&&n>0)return[t];if((r=e<t)&&(i=t,t=e,e=i),0===(o=A(t,e,n))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return r&&a.reverse(),a};function A(t,e,n){var r=(e-t)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),a=r/Math.pow(10,i);return i>=0?(a>=w?10:a>=E?5:a>=T?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=w?10:a>=E?5:a>=T?2:1)}function S(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=w?i*=10:a>=E?i*=5:a>=T&&(i*=2),e<t?-i:i}var M=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},O=function(){var t=_,e=y,n=M;function r(r){var i,a,o=r.length,s=new Array(o);for(i=0;i<o;++i)s[i]=t(r[i],i,r);var u=e(s),l=u[0],h=u[1],f=n(s,l,h);Array.isArray(f)||(f=S(l,h,f),f=k(Math.ceil(l/f)*f,h,f));for(var d=f.length;f[0]<=l;)f.shift(),--d;for(;f[d-1]>h;)f.pop(),--d;var p,g=new Array(d+1);for(i=0;i<=d;++i)(p=g[i]=[]).x0=i>0?f[i-1]:l,p.x1=i<d?f[i]:h;for(i=0;i<o;++i)l<=(a=s[i])&&a<=h&&g[c(f,a,0,d)].push(r[i]);return g}return r.value=function(e){return arguments.length?(t="function"==typeof e?e:x(e),r):t},r.domain=function(t){return arguments.length?(e="function"==typeof t?t:x([t[0],t[1]]),r):e},r.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?x(m.call(t)):x(t),r):n},r},D=function(t,e,n){if(null==n&&(n=d),r=t.length){if((e=+e)<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,a=Math.floor(i),o=+n(t[a],a,t);return o+(+n(t[a+1],a+1,t)-o)*(i-a)}},N=function(t,e,n){return t=b.call(t,d).sort(r),Math.ceil((n-e)/(2*(D(t,.75)-D(t,.25))*Math.pow(t.length,-1/3)))},B=function(t,e,n){return Math.ceil((n-e)/(3.5*g(t)*Math.pow(t.length,-1/3)))},L=function(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(n=t[a])&&n>=n)for(r=n;++a<i;)null!=(n=t[a])&&n>r&&(r=n)}else for(;++a<i;)if(null!=(n=e(t[a],a,t))&&n>=n)for(r=n;++a<i;)null!=(n=e(t[a],a,t))&&n>r&&(r=n);return r},P=function(t,e){var n,r=t.length,i=r,a=-1,o=0;if(null==e)for(;++a<r;)isNaN(n=d(t[a]))?--i:o+=n;else for(;++a<r;)isNaN(n=d(e(t[a],a,t)))?--i:o+=n;if(i)return o/i},I=function(t,e){var n,i=t.length,a=-1,o=[];if(null==e)for(;++a<i;)isNaN(n=d(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=d(e(t[a],a,t)))||o.push(n);return D(o.sort(r),.5)},F=function(t){for(var e,n,r,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(n=new Array(o);--i>=0;)for(e=(r=t[i]).length;--e>=0;)n[--o]=r[e];return n},j=function(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(n=t[a])&&n>=n)for(r=n;++a<i;)null!=(n=t[a])&&r>n&&(r=n)}else for(;++a<i;)if(null!=(n=e(t[a],a,t))&&n>=n)for(r=n;++a<i;)null!=(n=e(t[a],a,t))&&r>n&&(r=n);return r},R=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},Y=function(t,e){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==e&&(e=r);++a<n;)(e(i=t[a],s)<0||0!==e(s,s))&&(s=i,o=a);return 0===e(s,s)?o:void 0}},z=function(t,e,n){for(var r,i,a=(null==n?t.length:n)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,r=t[a+e],t[a+e]=t[i+e],t[i+e]=r;return t},U=function(t,e){var n,r=t.length,i=-1,a=0;if(null==e)for(;++i<r;)(n=+t[i])&&(a+=n);else for(;++i<r;)(n=+e(t[i],i,t))&&(a+=n);return a},$=function(t){if(!(i=t.length))return[];for(var e=-1,n=j(t,W),r=new Array(n);++e<n;)for(var i,a=-1,o=r[e]=new Array(i);++a<i;)o[a]=t[a][e];return r};function W(t){return t.length}var H=function(){return $(arguments)},V=Array.prototype.slice,G=function(t){return t};function q(t){return"translate("+(t+.5)+",0)"}function X(t){return"translate(0,"+(t+.5)+")"}function Z(t){return function(e){return+t(e)}}function J(t){var e=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(e=Math.round(e)),function(n){return+t(n)+e}}function K(){return!this.__axis}function Q(t,e){var n=[],r=null,i=null,a=6,o=6,s=3,c=1===t||4===t?-1:1,u=4===t||2===t?"x":"y",l=1===t||3===t?q:X;function h(h){var f=null==r?e.ticks?e.ticks.apply(e,n):e.domain():r,d=null==i?e.tickFormat?e.tickFormat.apply(e,n):G:i,p=Math.max(a,0)+s,g=e.range(),y=+g[0]+.5,v=+g[g.length-1]+.5,m=(e.bandwidth?J:Z)(e.copy()),b=h.selection?h.selection():h,x=b.selectAll(".domain").data([null]),_=b.selectAll(".tick").data(f,e).order(),k=_.exit(),w=_.enter().append("g").attr("class","tick"),E=_.select("line"),T=_.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),_=_.merge(w),E=E.merge(w.append("line").attr("stroke","currentColor").attr(u+"2",c*a)),T=T.merge(w.append("text").attr("fill","currentColor").attr(u,c*p).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),h!==b&&(x=x.transition(h),_=_.transition(h),E=E.transition(h),T=T.transition(h),k=k.transition(h).attr("opacity",1e-6).attr("transform",(function(t){return isFinite(t=m(t))?l(t):this.getAttribute("transform")})),w.attr("opacity",1e-6).attr("transform",(function(t){var e=this.parentNode.__axis;return l(e&&isFinite(e=e(t))?e:m(t))}))),k.remove(),x.attr("d",4===t||2==t?o?"M"+c*o+","+y+"H0.5V"+v+"H"+c*o:"M0.5,"+y+"V"+v:o?"M"+y+","+c*o+"V0.5H"+v+"V"+c*o:"M"+y+",0.5H"+v),_.attr("opacity",1).attr("transform",(function(t){return l(m(t))})),E.attr(u+"2",c*a),T.attr(u,c*p).text(d),b.filter(K).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),b.each((function(){this.__axis=m}))}return h.scale=function(t){return arguments.length?(e=t,h):e},h.ticks=function(){return n=V.call(arguments),h},h.tickArguments=function(t){return arguments.length?(n=null==t?[]:V.call(t),h):n.slice()},h.tickValues=function(t){return arguments.length?(r=null==t?null:V.call(t),h):r&&r.slice()},h.tickFormat=function(t){return arguments.length?(i=t,h):i},h.tickSize=function(t){return arguments.length?(a=o=+t,h):a},h.tickSizeInner=function(t){return arguments.length?(a=+t,h):a},h.tickSizeOuter=function(t){return arguments.length?(o=+t,h):o},h.tickPadding=function(t){return arguments.length?(s=+t,h):s},h}function tt(t){return Q(1,t)}function et(t){return Q(2,t)}function nt(t){return Q(3,t)}function rt(t){return Q(4,t)}var it={value:function(){}};function at(){for(var t,e=0,n=arguments.length,r={};e<n;++e){if(!(t=arguments[e]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new ot(r)}function ot(t){this._=t}function st(t,e){return t.trim().split(/^|\s+/).map((function(t){var n="",r=t.indexOf(".");if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}function ct(t,e){for(var n,r=0,i=t.length;r<i;++r)if((n=t[r]).name===e)return n.value}function ut(t,e,n){for(var r=0,i=t.length;r<i;++r)if(t[r].name===e){t[r]=it,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=n&&t.push({name:e,value:n}),t}ot.prototype=at.prototype={constructor:ot,on:function(t,e){var n,r=this._,i=st(t+"",r),a=-1,o=i.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++a<o;)if(n=(t=i[a]).type)r[n]=ut(r[n],t.name,e);else if(null==e)for(n in r)r[n]=ut(r[n],t.name,null);return this}for(;++a<o;)if((n=(t=i[a]).type)&&(n=ct(r[n],t.name)))return n},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new ot(t)},call:function(t,e){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),a=0;a<n;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=0,n=(r=this._[t]).length;a<n;++a)r[a].value.apply(e,i)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,a=r.length;i<a;++i)r[i].value.apply(e,n)}};var lt=at;function ht(){}var ft=function(t){return null==t?ht:function(){return this.querySelector(t)}};function dt(){return[]}var pt=function(t){return null==t?dt:function(){return this.querySelectorAll(t)}},gt=function(t){return function(){return this.matches(t)}},yt=function(t){return new Array(t.length)};function vt(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}vt.prototype={constructor:vt,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function mt(t,e,n,r,i,a){for(var o,s=0,c=e.length,u=a.length;s<u;++s)(o=e[s])?(o.__data__=a[s],r[s]=o):n[s]=new vt(t,a[s]);for(;s<c;++s)(o=e[s])&&(i[s]=o)}function bt(t,e,n,r,i,a,o){var s,c,u,l={},h=e.length,f=a.length,d=new Array(h);for(s=0;s<h;++s)(c=e[s])&&(d[s]=u="$"+o.call(c,c.__data__,s,e),u in l?i[s]=c:l[u]=c);for(s=0;s<f;++s)(c=l[u="$"+o.call(t,a[s],s,a)])?(r[s]=c,c.__data__=a[s],l[u]=null):n[s]=new vt(t,a[s]);for(s=0;s<h;++s)(c=e[s])&&l[d[s]]===c&&(i[s]=c)}function xt(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}var _t="http://www.w3.org/1999/xhtml",kt={svg:"http://www.w3.org/2000/svg",xhtml:_t,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},wt=function(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),kt.hasOwnProperty(e)?{space:kt[e],local:t}:t};function Et(t){return function(){this.removeAttribute(t)}}function Tt(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Ct(t,e){return function(){this.setAttribute(t,e)}}function At(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function St(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function Mt(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}var Ot=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function Dt(t){return function(){this.style.removeProperty(t)}}function Nt(t,e,n){return function(){this.style.setProperty(t,e,n)}}function Bt(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function Lt(t,e){return t.style.getPropertyValue(e)||Ot(t).getComputedStyle(t,null).getPropertyValue(e)}function Pt(t){return function(){delete this[t]}}function It(t,e){return function(){this[t]=e}}function Ft(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function jt(t){return t.trim().split(/^|\s+/)}function Rt(t){return t.classList||new Yt(t)}function Yt(t){this._node=t,this._names=jt(t.getAttribute("class")||"")}function zt(t,e){for(var n=Rt(t),r=-1,i=e.length;++r<i;)n.add(e[r])}function Ut(t,e){for(var n=Rt(t),r=-1,i=e.length;++r<i;)n.remove(e[r])}function $t(t){return function(){zt(this,t)}}function Wt(t){return function(){Ut(this,t)}}function Ht(t,e){return function(){(e.apply(this,arguments)?zt:Ut)(this,t)}}Yt.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Vt(){this.textContent=""}function Gt(t){return function(){this.textContent=t}}function qt(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function Xt(){this.innerHTML=""}function Zt(t){return function(){this.innerHTML=t}}function Jt(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function Kt(){this.nextSibling&&this.parentNode.appendChild(this)}function Qt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function te(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===_t&&e.documentElement.namespaceURI===_t?e.createElement(t):e.createElementNS(n,t)}}function ee(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var ne=function(t){var e=wt(t);return(e.local?ee:te)(e)};function re(){return null}function ie(){var t=this.parentNode;t&&t.removeChild(this)}function ae(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function oe(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}var se={},ce=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(se={mouseenter:"mouseover",mouseleave:"mouseout"}));function ue(t,e,n){return t=le(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function le(t,e,n){return function(r){var i=ce;ce=r;try{t.call(this,this.__data__,e,n)}finally{ce=i}}}function he(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}function fe(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,a=e.length;r<a;++r)n=e[r],t.type&&n.type!==t.type||n.name!==t.name?e[++i]=n:this.removeEventListener(n.type,n.listener,n.capture);++i?e.length=i:delete this.__on}}}function de(t,e,n){var r=se.hasOwnProperty(t.type)?ue:le;return function(i,a,o){var s,c=this.__on,u=r(e,a,o);if(c)for(var l=0,h=c.length;l<h;++l)if((s=c[l]).type===t.type&&s.name===t.name)return this.removeEventListener(s.type,s.listener,s.capture),this.addEventListener(s.type,s.listener=u,s.capture=n),void(s.value=e);this.addEventListener(t.type,u,n),s={type:t.type,name:t.name,value:e,listener:u,capture:n},c?c.push(s):this.__on=[s]}}function pe(t,e,n,r){var i=ce;t.sourceEvent=ce,ce=t;try{return e.apply(n,r)}finally{ce=i}}function ge(t,e,n){var r=Ot(t),i=r.CustomEvent;"function"==typeof i?i=new i(e,n):(i=r.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function ye(t,e){return function(){return ge(this,t,e)}}function ve(t,e){return function(){return ge(this,t,e.apply(this,arguments))}}var me=[null];function be(t,e){this._groups=t,this._parents=e}function xe(){return new be([[document.documentElement]],me)}be.prototype=xe.prototype={constructor:be,select:function(t){"function"!=typeof t&&(t=ft(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o,s=e[i],c=s.length,u=r[i]=new Array(c),l=0;l<c;++l)(a=s[l])&&(o=t.call(a,a.__data__,l,s))&&("__data__"in a&&(o.__data__=a.__data__),u[l]=o);return new be(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=pt(t));for(var e=this._groups,n=e.length,r=[],i=[],a=0;a<n;++a)for(var o,s=e[a],c=s.length,u=0;u<c;++u)(o=s[u])&&(r.push(t.call(o,o.__data__,u,s)),i.push(o));return new be(r,i)},filter:function(t){"function"!=typeof t&&(t=gt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o=e[i],s=o.length,c=r[i]=[],u=0;u<s;++u)(a=o[u])&&t.call(a,a.__data__,u,o)&&c.push(a);return new be(r,this._parents)},data:function(t,e){if(!t)return p=new Array(this.size()),l=-1,this.each((function(t){p[++l]=t})),p;var n,r=e?bt:mt,i=this._parents,a=this._groups;"function"!=typeof t&&(n=t,t=function(){return n});for(var o=a.length,s=new Array(o),c=new Array(o),u=new Array(o),l=0;l<o;++l){var h=i[l],f=a[l],d=f.length,p=t.call(h,h&&h.__data__,l,i),g=p.length,y=c[l]=new Array(g),v=s[l]=new Array(g);r(h,f,y,v,u[l]=new Array(d),p,e);for(var m,b,x=0,_=0;x<g;++x)if(m=y[x]){for(x>=_&&(_=x+1);!(b=v[_])&&++_<g;);m._next=b||null}}return(s=new be(s,i))._enter=c,s._exit=u,s},enter:function(){return new be(this._enter||this._groups.map(yt),this._parents)},exit:function(){return new be(this._exit||this._groups.map(yt),this._parents)},join:function(t,e,n){var r=this.enter(),i=this,a=this.exit();return r="function"==typeof t?t(r):r.append(t+""),null!=e&&(i=e(i)),null==n?a.remove():n(a),r&&i?r.merge(i).order():i},merge:function(t){for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s)for(var c,u=e[s],l=n[s],h=u.length,f=o[s]=new Array(h),d=0;d<h;++d)(c=u[d]||l[d])&&(f[d]=c);for(;s<r;++s)o[s]=e[s];return new be(o,this._parents)},order:function(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r,i=t[e],a=i.length-1,o=i[a];--a>=0;)(r=i[a])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=xt);for(var n=this._groups,r=n.length,i=new Array(r),a=0;a<r;++a){for(var o,s=n[a],c=s.length,u=i[a]=new Array(c),l=0;l<c;++l)(o=s[l])&&(u[l]=o);u.sort(e)}return new be(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),e=-1;return this.each((function(){t[++e]=this})),t},node:function(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null},size:function(){var t=0;return this.each((function(){++t})),t},empty:function(){return!this.node()},each:function(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var i,a=e[n],o=0,s=a.length;o<s;++o)(i=a[o])&&t.call(i,i.__data__,o,a);return this},attr:function(t,e){var n=wt(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==e?n.local?Tt:Et:"function"==typeof e?n.local?Mt:St:n.local?At:Ct)(n,e))},style:function(t,e,n){return arguments.length>1?this.each((null==e?Dt:"function"==typeof e?Bt:Nt)(t,e,null==n?"":n)):Lt(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?Pt:"function"==typeof e?Ft:It)(t,e)):this.node()[t]},classed:function(t,e){var n=jt(t+"");if(arguments.length<2){for(var r=Rt(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof e?Ht:e?$t:Wt)(n,e))},text:function(t){return arguments.length?this.each(null==t?Vt:("function"==typeof t?qt:Gt)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?Xt:("function"==typeof t?Jt:Zt)(t)):this.node().innerHTML},raise:function(){return this.each(Kt)},lower:function(){return this.each(Qt)},append:function(t){var e="function"==typeof t?t:ne(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))},insert:function(t,e){var n="function"==typeof t?t:ne(t),r=null==e?re:"function"==typeof e?e:ft(e);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(ie)},clone:function(t){return this.select(t?oe:ae)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,e,n){var r,i,a=he(t+""),o=a.length;if(!(arguments.length<2)){for(s=e?de:fe,null==n&&(n=!1),r=0;r<o;++r)this.each(s(a[r],e,n));return this}var s=this.node().__on;if(s)for(var c,u=0,l=s.length;u<l;++u)for(r=0,c=s[u];r<o;++r)if((i=a[r]).type===c.type&&i.name===c.name)return c.value},dispatch:function(t,e){return this.each(("function"==typeof e?ve:ye)(t,e))}};var _e=xe,ke=function(t){return"string"==typeof t?new be([[document.querySelector(t)]],[document.documentElement]):new be([[t]],me)};function we(){ce.stopImmediatePropagation()}var Ee=function(){ce.preventDefault(),ce.stopImmediatePropagation()},Te=function(t){var e=t.document.documentElement,n=ke(t).on("dragstart.drag",Ee,!0);"onselectstart"in e?n.on("selectstart.drag",Ee,!0):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")};function Ce(t,e){var n=t.document.documentElement,r=ke(t).on("dragstart.drag",null);e&&(r.on("click.drag",Ee,!0),setTimeout((function(){r.on("click.drag",null)}),0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Ae=function(t,e,n){t.prototype=e.prototype=n,n.constructor=t};function Se(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Me(){}var Oe="\\s*([+-]?\\d+)\\s*",De="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ne="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Be=/^#([0-9a-f]{3,8})$/,Le=new RegExp("^rgb\\("+[Oe,Oe,Oe]+"\\)$"),Pe=new RegExp("^rgb\\("+[Ne,Ne,Ne]+"\\)$"),Ie=new RegExp("^rgba\\("+[Oe,Oe,Oe,De]+"\\)$"),Fe=new RegExp("^rgba\\("+[Ne,Ne,Ne,De]+"\\)$"),je=new RegExp("^hsl\\("+[De,Ne,Ne]+"\\)$"),Re=new RegExp("^hsla\\("+[De,Ne,Ne,De]+"\\)$"),Ye={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function ze(){return this.rgb().formatHex()}function Ue(){return this.rgb().formatRgb()}function $e(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=Be.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?We(e):3===n?new qe(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?new qe(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?new qe(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Le.exec(t))?new qe(e[1],e[2],e[3],1):(e=Pe.exec(t))?new qe(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Ie.exec(t))?He(e[1],e[2],e[3],e[4]):(e=Fe.exec(t))?He(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=je.exec(t))?Ke(e[1],e[2]/100,e[3]/100,1):(e=Re.exec(t))?Ke(e[1],e[2]/100,e[3]/100,e[4]):Ye.hasOwnProperty(t)?We(Ye[t]):"transparent"===t?new qe(NaN,NaN,NaN,0):null}function We(t){return new qe(t>>16&255,t>>8&255,255&t,1)}function He(t,e,n,r){return r<=0&&(t=e=n=NaN),new qe(t,e,n,r)}function Ve(t){return t instanceof Me||(t=$e(t)),t?new qe((t=t.rgb()).r,t.g,t.b,t.opacity):new qe}function Ge(t,e,n,r){return 1===arguments.length?Ve(t):new qe(t,e,n,null==r?1:r)}function qe(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Xe(){return"#"+Je(this.r)+Je(this.g)+Je(this.b)}function Ze(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Je(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Ke(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new en(t,e,n,r)}function Qe(t){if(t instanceof en)return new en(t.h,t.s,t.l,t.opacity);if(t instanceof Me||(t=$e(t)),!t)return new en;if(t instanceof en)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=e===a?(n-r)/s+6*(n<r):n===a?(r-e)/s+2:(e-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new en(o,s,c,t.opacity)}function tn(t,e,n,r){return 1===arguments.length?Qe(t):new en(t,e,n,null==r?1:r)}function en(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function nn(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function rn(t,e,n,r,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*n+(1+3*t+3*a-3*o)*r+o*i)/6}Ae(Me,$e,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:ze,formatHex:ze,formatHsl:function(){return Qe(this).formatHsl()},formatRgb:Ue,toString:Ue}),Ae(qe,Ge,Se(Me,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new qe(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new qe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Xe,formatHex:Xe,formatRgb:Ze,toString:Ze})),Ae(en,tn,Se(Me,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new en(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new en(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new qe(nn(t>=240?t-240:t+120,i,r),nn(t,i,r),nn(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var an=function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],a=t[r+1],o=r>0?t[r-1]:2*i-a,s=r<e-1?t[r+2]:2*a-i;return rn((n-r/e)*e,o,i,a,s)}},on=function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),i=t[(r+e-1)%e],a=t[r%e],o=t[(r+1)%e],s=t[(r+2)%e];return rn((n-r/e)*e,i,a,o,s)}},sn=function(t){return function(){return t}};function cn(t,e){return function(n){return t+n*e}}function un(t,e){var n=e-t;return n?cn(t,n>180||n<-180?n-360*Math.round(n/360):n):sn(isNaN(t)?e:t)}function ln(t){return 1==(t=+t)?hn:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):sn(isNaN(e)?n:e)}}function hn(t,e){var n=e-t;return n?cn(t,n):sn(isNaN(t)?e:t)}var fn=function t(e){var n=ln(e);function r(t,e){var r=n((t=Ge(t)).r,(e=Ge(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=hn(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return r.gamma=t,r}(1);function dn(t){return function(e){var n,r,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(n=0;n<i;++n)r=Ge(e[n]),a[n]=r.r||0,o[n]=r.g||0,s[n]=r.b||0;return a=t(a),o=t(o),s=t(s),r.opacity=1,function(t){return r.r=a(t),r.g=o(t),r.b=s(t),r+""}}}var pn=dn(an),gn=dn(on),yn=function(t,e){e||(e=[]);var n,r=t?Math.min(e.length,t.length):0,i=e.slice();return function(a){for(n=0;n<r;++n)i[n]=t[n]*(1-a)+e[n]*a;return i}};function vn(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}var mn=function(t,e){return(vn(e)?yn:bn)(t,e)};function bn(t,e){var n,r=e?e.length:0,i=t?Math.min(r,t.length):0,a=new Array(i),o=new Array(r);for(n=0;n<i;++n)a[n]=Sn(t[n],e[n]);for(;n<r;++n)o[n]=e[n];return function(t){for(n=0;n<i;++n)o[n]=a[n](t);return o}}var xn=function(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}},_n=function(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}},kn=function(t,e){var n,r={},i={};for(n in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)n in t?r[n]=Sn(t[n],e[n]):i[n]=e[n];return function(t){for(n in r)i[n]=r[n](t);return i}},wn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,En=new RegExp(wn.source,"g");var Tn,Cn,An=function(t,e){var n,r,i,a=wn.lastIndex=En.lastIndex=0,o=-1,s=[],c=[];for(t+="",e+="";(n=wn.exec(t))&&(r=En.exec(e));)(i=r.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(n=n[0])===(r=r[0])?s[o]?s[o]+=r:s[++o]=r:(s[++o]=null,c.push({i:o,x:_n(n,r)})),a=En.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?c[0]?function(t){return function(e){return t(e)+""}}(c[0].x):function(t){return function(){return t}}(e):(e=c.length,function(t){for(var n,r=0;r<e;++r)s[(n=c[r]).i]=n.x(t);return s.join("")})},Sn=function(t,e){var n,r=typeof e;return null==e||"boolean"===r?sn(e):("number"===r?_n:"string"===r?(n=$e(e))?(e=n,fn):An:e instanceof $e?fn:e instanceof Date?xn:vn(e)?yn:Array.isArray(e)?bn:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?kn:_n)(t,e)},Mn=function(){for(var t,e=ce;t=e.sourceEvent;)e=t;return e},On=function(t,e){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]},Dn=function(t,e,n){arguments.length<3&&(n=e,e=Mn().changedTouches);for(var r,i=0,a=e?e.length:0;i<a;++i)if((r=e[i]).identifier===n)return On(t,r);return null},Nn=function(t){var e=Mn();return e.changedTouches&&(e=e.changedTouches[0]),On(t,e)},Bn=0,Ln=0,Pn=0,In=0,Fn=0,jn=0,Rn="object"==typeof performance&&performance.now?performance:Date,Yn="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function zn(){return Fn||(Yn(Un),Fn=Rn.now()+jn)}function Un(){Fn=0}function $n(){this._call=this._time=this._next=null}function Wn(t,e,n){var r=new $n;return r.restart(t,e,n),r}function Hn(){zn(),++Bn;for(var t,e=Tn;e;)(t=Fn-e._time)>=0&&e._call.call(null,t),e=e._next;--Bn}function Vn(){Fn=(In=Rn.now())+jn,Bn=Ln=0;try{Hn()}finally{Bn=0,function(){var t,e,n=Tn,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Tn=e);Cn=t,qn(r)}(),Fn=0}}function Gn(){var t=Rn.now(),e=t-In;e>1e3&&(jn-=e,In=t)}function qn(t){Bn||(Ln&&(Ln=clearTimeout(Ln)),t-Fn>24?(t<1/0&&(Ln=setTimeout(Vn,t-Rn.now()-jn)),Pn&&(Pn=clearInterval(Pn))):(Pn||(In=Rn.now(),Pn=setInterval(Gn,1e3)),Bn=1,Yn(Vn)))}$n.prototype=Wn.prototype={constructor:$n,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?zn():+n)+(null==e?0:+e),this._next||Cn===this||(Cn?Cn._next=this:Tn=this,Cn=this),this._call=t,this._time=n,qn()},stop:function(){this._call&&(this._call=null,this._time=1/0,qn())}};var Xn=function(t,e,n){var r=new $n;return e=null==e?0:+e,r.restart((function(n){r.stop(),t(n+e)}),e,n),r},Zn=lt("start","end","cancel","interrupt"),Jn=[],Kn=function(t,e,n,r,i,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function a(c){var u,l,h,f;if(1!==n.state)return s();for(u in i)if((f=i[u]).name===n.name){if(3===f.state)return Xn(a);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[u]):+u<e&&(f.state=6,f.timer.stop(),f.on.call("cancel",t,t.__data__,f.index,f.group),delete i[u])}if(Xn((function(){3===n.state&&(n.state=4,n.timer.restart(o,n.delay,n.time),o(c))})),n.state=2,n.on.call("start",t,t.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(h=n.tween.length),u=0,l=-1;u<h;++u)(f=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(r[++l]=f);r.length=l+1}}function o(e){for(var i=e<n.duration?n.ease.call(null,e/n.duration):(n.timer.restart(s),n.state=5,1),a=-1,o=r.length;++a<o;)r[a].call(t,i);5===n.state&&(n.on.call("end",t,t.__data__,n.index,n.group),s())}function s(){for(var r in n.state=6,n.timer.stop(),delete i[e],i)return;delete t.__transition}i[e]=n,n.timer=Wn((function(t){n.state=1,n.timer.restart(a,n.delay,n.time),n.delay<=t&&a(t-n.delay)}),0,n.time)}(t,n,{name:e,index:r,group:i,on:Zn,tween:Jn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})};function Qn(t,e){var n=er(t,e);if(n.state>0)throw new Error("too late; already scheduled");return n}function tr(t,e){var n=er(t,e);if(n.state>3)throw new Error("too late; already running");return n}function er(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}var nr,rr,ir,ar,or=function(t,e){var n,r,i,a=t.__transition,o=!0;if(a){for(i in e=null==e?null:e+"",a)(n=a[i]).name===e?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete a[i]):o=!1;o&&delete t.__transition}},sr=180/Math.PI,cr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},ur=function(t,e,n,r,i,a){var o,s,c;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(c=t*n+e*r)&&(n-=t*c,r-=e*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),t*r<e*n&&(t=-t,e=-e,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*sr,skewX:Math.atan(c)*sr,scaleX:o,scaleY:s}};function lr(t,e,n,r){function i(t){return t.length?t.pop()+" ":""}return function(a,o){var s=[],c=[];return a=t(a),o=t(o),function(t,r,i,a,o,s){if(t!==i||r!==a){var c=o.push("translate(",null,e,null,n);s.push({i:c-4,x:_n(t,i)},{i:c-2,x:_n(r,a)})}else(i||a)&&o.push("translate("+i+e+a+n)}(a.translateX,a.translateY,o.translateX,o.translateY,s,c),function(t,e,n,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:_n(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(a.rotate,o.rotate,s,c),function(t,e,n,a){t!==e?a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:_n(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(a.skewX,o.skewX,s,c),function(t,e,n,r,a,o){if(t!==n||e!==r){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:_n(t,n)},{i:s-2,x:_n(e,r)})}else 1===n&&1===r||a.push(i(a)+"scale("+n+","+r+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,c),a=o=null,function(t){for(var e,n=-1,r=c.length;++n<r;)s[(e=c[n]).i]=e.x(t);return s.join("")}}}var hr=lr((function(t){return"none"===t?cr:(nr||(nr=document.createElement("DIV"),rr=document.documentElement,ir=document.defaultView),nr.style.transform=t,t=ir.getComputedStyle(rr.appendChild(nr),null).getPropertyValue("transform"),rr.removeChild(nr),t=t.slice(7,-1).split(","),ur(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),fr=lr((function(t){return null==t?cr:(ar||(ar=document.createElementNS("http://www.w3.org/2000/svg","g")),ar.setAttribute("transform",t),(t=ar.transform.baseVal.consolidate())?(t=t.matrix,ur(t.a,t.b,t.c,t.d,t.e,t.f)):cr)}),", ",")",")");function dr(t,e){var n,r;return function(){var i=tr(this,t),a=i.tween;if(a!==n)for(var o=0,s=(r=n=a).length;o<s;++o)if(r[o].name===e){(r=r.slice()).splice(o,1);break}i.tween=r}}function pr(t,e,n){var r,i;if("function"!=typeof n)throw new Error;return function(){var a=tr(this,t),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:e,value:n},c=0,u=i.length;c<u;++c)if(i[c].name===e){i[c]=s;break}c===u&&i.push(s)}a.tween=i}}function gr(t,e,n){var r=t._id;return t.each((function(){var t=tr(this,r);(t.value||(t.value={}))[e]=n.apply(this,arguments)})),function(t){return er(t,r).value[e]}}var yr=function(t,e){var n;return("number"==typeof e?_n:e instanceof $e?fn:(n=$e(e))?(e=n,fn):An)(t,e)};function vr(t){return function(){this.removeAttribute(t)}}function mr(t){return function(){this.removeAttributeNS(t.space,t.local)}}function br(t,e,n){var r,i,a=n+"";return function(){var o=this.getAttribute(t);return o===a?null:o===r?i:i=e(r=o,n)}}function xr(t,e,n){var r,i,a=n+"";return function(){var o=this.getAttributeNS(t.space,t.local);return o===a?null:o===r?i:i=e(r=o,n)}}function _r(t,e,n){var r,i,a;return function(){var o,s,c=n(this);if(null!=c)return(o=this.getAttribute(t))===(s=c+"")?null:o===r&&s===i?a:(i=s,a=e(r=o,c));this.removeAttribute(t)}}function kr(t,e,n){var r,i,a;return function(){var o,s,c=n(this);if(null!=c)return(o=this.getAttributeNS(t.space,t.local))===(s=c+"")?null:o===r&&s===i?a:(i=s,a=e(r=o,c));this.removeAttributeNS(t.space,t.local)}}function wr(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function Er(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function Tr(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&Er(t,i)),n}return i._value=e,i}function Cr(t,e){var n,r;function i(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&wr(t,i)),n}return i._value=e,i}function Ar(t,e){return function(){Qn(this,t).delay=+e.apply(this,arguments)}}function Sr(t,e){return e=+e,function(){Qn(this,t).delay=e}}function Mr(t,e){return function(){tr(this,t).duration=+e.apply(this,arguments)}}function Or(t,e){return e=+e,function(){tr(this,t).duration=e}}function Dr(t,e){if("function"!=typeof e)throw new Error;return function(){tr(this,t).ease=e}}function Nr(t,e,n){var r,i,a=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?Qn:tr;return function(){var o=a(this,t),s=o.on;s!==r&&(i=(r=s).copy()).on(e,n),o.on=i}}var Br=_e.prototype.constructor;function Lr(t){return function(){this.style.removeProperty(t)}}function Pr(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function Ir(t,e,n){var r,i;function a(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&Pr(t,a,n)),r}return a._value=e,a}function Fr(t){return function(e){this.textContent=t.call(this,e)}}function jr(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&Fr(r)),e}return r._value=t,r}var Rr=0;function Yr(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function zr(t){return _e().transition(t)}function Ur(){return++Rr}var $r=_e.prototype;function Wr(t){return t*t*t}function Hr(t){return--t*t*t+1}function Vr(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}Yr.prototype=zr.prototype={constructor:Yr,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=ft(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;o<i;++o)for(var s,c,u=r[o],l=u.length,h=a[o]=new Array(l),f=0;f<l;++f)(s=u[f])&&(c=t.call(s,s.__data__,f,u))&&("__data__"in s&&(c.__data__=s.__data__),h[f]=c,Kn(h[f],e,n,f,h,er(s,n)));return new Yr(a,this._parents,e,n)},selectAll:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=pt(t));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c,u=r[s],l=u.length,h=0;h<l;++h)if(c=u[h]){for(var f,d=t.call(c,c.__data__,h,u),p=er(c,n),g=0,y=d.length;g<y;++g)(f=d[g])&&Kn(f,e,n,g,d,p);a.push(d),o.push(c)}return new Yr(a,o,e,n)},filter:function(t){"function"!=typeof t&&(t=gt(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i<n;++i)for(var a,o=e[i],s=o.length,c=r[i]=[],u=0;u<s;++u)(a=o[u])&&t.call(a,a.__data__,u,o)&&c.push(a);return new Yr(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,i=n.length,a=Math.min(r,i),o=new Array(r),s=0;s<a;++s)for(var c,u=e[s],l=n[s],h=u.length,f=o[s]=new Array(h),d=0;d<h;++d)(c=u[d]||l[d])&&(f[d]=c);for(;s<r;++s)o[s]=e[s];return new Yr(o,this._parents,this._name,this._id)},selection:function(){return new Br(this._groups,this._parents)},transition:function(){for(var t=this._name,e=this._id,n=Ur(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o,s=r[a],c=s.length,u=0;u<c;++u)if(o=s[u]){var l=er(o,e);Kn(o,t,n,u,s,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new Yr(r,this._parents,t,n)},call:$r.call,nodes:$r.nodes,node:$r.node,size:$r.size,empty:$r.empty,each:$r.each,on:function(t,e){var n=this._id;return arguments.length<2?er(this.node(),n).on.on(t):this.each(Nr(n,t,e))},attr:function(t,e){var n=wt(t),r="transform"===n?fr:yr;return this.attrTween(t,"function"==typeof e?(n.local?kr:_r)(n,r,gr(this,"attr."+t,e)):null==e?(n.local?mr:vr)(n):(n.local?xr:br)(n,r,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var r=wt(t);return this.tween(n,(r.local?Tr:Cr)(r,e))},style:function(t,e,n){var r="transform"==(t+="")?hr:yr;return null==e?this.styleTween(t,function(t,e){var n,r,i;return function(){var a=Lt(this,t),o=(this.style.removeProperty(t),Lt(this,t));return a===o?null:a===n&&o===r?i:i=e(n=a,r=o)}}(t,r)).on("end.style."+t,Lr(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var r,i,a;return function(){var o=Lt(this,t),s=n(this),c=s+"";return null==s&&(this.style.removeProperty(t),c=s=Lt(this,t)),o===c?null:o===r&&c===i?a:(i=c,a=e(r=o,s))}}(t,r,gr(this,"style."+t,e))).each(function(t,e){var n,r,i,a,o="style."+e,s="end."+o;return function(){var c=tr(this,t),u=c.on,l=null==c.value[o]?a||(a=Lr(e)):void 0;u===n&&i===l||(r=(n=u).copy()).on(s,i=l),c.on=r}}(this._id,t)):this.styleTween(t,function(t,e,n){var r,i,a=n+"";return function(){var o=Lt(this,t);return o===a?null:o===r?i:i=e(r=o,n)}}(t,r,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,Ir(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(gr(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,jr(t))},remove:function(){return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}));var t},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=er(this.node(),n).tween,a=0,o=i.length;a<o;++a)if((r=i[a]).name===t)return r.value;return null}return this.each((null==e?dr:pr)(n,t,e))},delay:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?Ar:Sr)(e,t)):er(this.node(),e).delay},duration:function(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?Mr:Or)(e,t)):er(this.node(),e).duration},ease:function(t){var e=this._id;return arguments.length?this.each(Dr(e,t)):er(this.node(),e).ease},end:function(){var t,e,n=this,r=n._id,i=n.size();return new Promise((function(a,o){var s={value:o},c={value:function(){0==--i&&a()}};n.each((function(){var n=tr(this,r),i=n.on;i!==t&&((e=(t=i).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(c)),n.on=e}))}))}};var Gr={time:null,delay:0,duration:250,ease:Vr};function qr(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))return Gr.time=zn(),Gr;return n}_e.prototype.interrupt=function(t){return this.each((function(){or(this,t)}))},_e.prototype.transition=function(t){var e,n;t instanceof Yr?(e=t._id,t=t._name):(e=Ur(),(n=Gr).time=zn(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o,s=r[a],c=s.length,u=0;u<c;++u)(o=s[u])&&Kn(o,t,e,u,s,n||qr(o,e));return new Yr(r,this._parents,t,e)};var Xr=[null],Zr=function(t,e){var n,r,i=t.__transition;if(i)for(r in e=null==e?null:e+"",i)if((n=i[r]).state>1&&n.name===e)return new Yr([[t]],Xr,e,+r);return null},Jr=function(t){return function(){return t}},Kr=function(t,e,n){this.target=t,this.type=e,this.selection=n};function Qr(){ce.stopImmediatePropagation()}var ti=function(){ce.preventDefault(),ce.stopImmediatePropagation()},ei={name:"drag"},ni={name:"space"},ri={name:"handle"},ii={name:"center"};function ai(t){return[+t[0],+t[1]]}function oi(t){return[ai(t[0]),ai(t[1])]}function si(t){return function(e){return Dn(e,ce.touches,t)}}var ci={name:"x",handles:["w","e"].map(yi),input:function(t,e){return null==t?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},ui={name:"y",handles:["n","s"].map(yi),input:function(t,e){return null==t?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},li={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(yi),input:function(t){return null==t?null:oi(t)},output:function(t){return t}},hi={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},fi={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},di={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},pi={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},gi={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function yi(t){return{type:t}}function vi(){return!ce.ctrlKey&&!ce.button}function mi(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function bi(){return navigator.maxTouchPoints||"ontouchstart"in this}function xi(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function _i(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function ki(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function wi(){return Ci(ci)}function Ei(){return Ci(ui)}var Ti=function(){return Ci(li)};function Ci(t){var e,n=mi,r=vi,i=bi,a=!0,o=lt("start","brush","end"),s=6;function c(e){var n=e.property("__brush",g).selectAll(".overlay").data([yi("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",hi.overlay).merge(n).each((function(){var t=xi(this).extent;ke(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])})),e.selectAll(".selection").data([yi("selection")]).enter().append("rect").attr("class","selection").attr("cursor",hi.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=e.selectAll(".handle").data(t.handles,(function(t){return t.type}));r.exit().remove(),r.enter().append("rect").attr("class",(function(t){return"handle handle--"+t.type})).attr("cursor",(function(t){return hi[t.type]})),e.each(u).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",f).filter(i).on("touchstart.brush",f).on("touchmove.brush",d).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function u(){var t=ke(this),e=xi(this).selection;e?(t.selectAll(".selection").style("display",null).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1]),t.selectAll(".handle").style("display",null).attr("x",(function(t){return"e"===t.type[t.type.length-1]?e[1][0]-s/2:e[0][0]-s/2})).attr("y",(function(t){return"s"===t.type[0]?e[1][1]-s/2:e[0][1]-s/2})).attr("width",(function(t){return"n"===t.type||"s"===t.type?e[1][0]-e[0][0]+s:s})).attr("height",(function(t){return"e"===t.type||"w"===t.type?e[1][1]-e[0][1]+s:s}))):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function l(t,e,n){return!n&&t.__brush.emitter||new h(t,e)}function h(t,e){this.that=t,this.args=e,this.state=t.__brush,this.active=0}function f(){if((!e||ce.touches)&&r.apply(this,arguments)){var n,i,o,s,c,h,f,d,p,g,y,v=this,m=ce.target.__data__.type,b="selection"===(a&&ce.metaKey?m="overlay":m)?ei:a&&ce.altKey?ii:ri,x=t===ui?null:pi[m],_=t===ci?null:gi[m],k=xi(v),w=k.extent,E=k.selection,T=w[0][0],C=w[0][1],A=w[1][0],S=w[1][1],M=0,O=0,D=x&&_&&a&&ce.shiftKey,N=ce.touches?si(ce.changedTouches[0].identifier):Nn,B=N(v),L=B,P=l(v,arguments,!0).beforestart();"overlay"===m?(E&&(p=!0),k.selection=E=[[n=t===ui?T:B[0],o=t===ci?C:B[1]],[c=t===ui?A:n,f=t===ci?S:o]]):(n=E[0][0],o=E[0][1],c=E[1][0],f=E[1][1]),i=n,s=o,h=c,d=f;var I=ke(v).attr("pointer-events","none"),F=I.selectAll(".overlay").attr("cursor",hi[m]);if(ce.touches)P.moved=R,P.ended=z;else{var j=ke(ce.view).on("mousemove.brush",R,!0).on("mouseup.brush",z,!0);a&&j.on("keydown.brush",U,!0).on("keyup.brush",$,!0),Te(ce.view)}Qr(),or(v),u.call(v),P.start()}function R(){var t=N(v);!D||g||y||(Math.abs(t[0]-L[0])>Math.abs(t[1]-L[1])?y=!0:g=!0),L=t,p=!0,ti(),Y()}function Y(){var t;switch(M=L[0]-B[0],O=L[1]-B[1],b){case ni:case ei:x&&(M=Math.max(T-n,Math.min(A-c,M)),i=n+M,h=c+M),_&&(O=Math.max(C-o,Math.min(S-f,O)),s=o+O,d=f+O);break;case ri:x<0?(M=Math.max(T-n,Math.min(A-n,M)),i=n+M,h=c):x>0&&(M=Math.max(T-c,Math.min(A-c,M)),i=n,h=c+M),_<0?(O=Math.max(C-o,Math.min(S-o,O)),s=o+O,d=f):_>0&&(O=Math.max(C-f,Math.min(S-f,O)),s=o,d=f+O);break;case ii:x&&(i=Math.max(T,Math.min(A,n-M*x)),h=Math.max(T,Math.min(A,c+M*x))),_&&(s=Math.max(C,Math.min(S,o-O*_)),d=Math.max(C,Math.min(S,f+O*_)))}h<i&&(x*=-1,t=n,n=c,c=t,t=i,i=h,h=t,m in fi&&F.attr("cursor",hi[m=fi[m]])),d<s&&(_*=-1,t=o,o=f,f=t,t=s,s=d,d=t,m in di&&F.attr("cursor",hi[m=di[m]])),k.selection&&(E=k.selection),g&&(i=E[0][0],h=E[1][0]),y&&(s=E[0][1],d=E[1][1]),E[0][0]===i&&E[0][1]===s&&E[1][0]===h&&E[1][1]===d||(k.selection=[[i,s],[h,d]],u.call(v),P.brush())}function z(){if(Qr(),ce.touches){if(ce.touches.length)return;e&&clearTimeout(e),e=setTimeout((function(){e=null}),500)}else Ce(ce.view,p),j.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);I.attr("pointer-events","all"),F.attr("cursor",hi.overlay),k.selection&&(E=k.selection),_i(E)&&(k.selection=null,u.call(v)),P.end()}function U(){switch(ce.keyCode){case 16:D=x&&_;break;case 18:b===ri&&(x&&(c=h-M*x,n=i+M*x),_&&(f=d-O*_,o=s+O*_),b=ii,Y());break;case 32:b!==ri&&b!==ii||(x<0?c=h-M:x>0&&(n=i-M),_<0?f=d-O:_>0&&(o=s-O),b=ni,F.attr("cursor",hi.selection),Y());break;default:return}ti()}function $(){switch(ce.keyCode){case 16:D&&(g=y=D=!1,Y());break;case 18:b===ii&&(x<0?c=h:x>0&&(n=i),_<0?f=d:_>0&&(o=s),b=ri,Y());break;case 32:b===ni&&(ce.altKey?(x&&(c=h-M*x,n=i+M*x),_&&(f=d-O*_,o=s+O*_),b=ii):(x<0?c=h:x>0&&(n=i),_<0?f=d:_>0&&(o=s),b=ri),F.attr("cursor",hi[m]),Y());break;default:return}ti()}}function d(){l(this,arguments).moved()}function p(){l(this,arguments).ended()}function g(){var e=this.__brush||{selection:null};return e.extent=oi(n.apply(this,arguments)),e.dim=t,e}return c.move=function(e,n){e.selection?e.on("start.brush",(function(){l(this,arguments).beforestart().start()})).on("interrupt.brush end.brush",(function(){l(this,arguments).end()})).tween("brush",(function(){var e=this,r=e.__brush,i=l(e,arguments),a=r.selection,o=t.input("function"==typeof n?n.apply(this,arguments):n,r.extent),s=Sn(a,o);function c(t){r.selection=1===t&&null===o?null:s(t),u.call(e),i.brush()}return null!==a&&null!==o?c:c(1)})):e.each((function(){var e=this,r=arguments,i=e.__brush,a=t.input("function"==typeof n?n.apply(e,r):n,i.extent),o=l(e,r).beforestart();or(e),i.selection=null===a?null:a,u.call(e),o.start().brush().end()}))},c.clear=function(t){c.move(t,null)},h.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting?(this.starting=!1,this.emit("start")):this.emit("brush"),this},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(e){pe(new Kr(c,e,t.output(this.state.selection)),o.apply,o,[e,this.that,this.args])}},c.extent=function(t){return arguments.length?(n="function"==typeof t?t:Jr(oi(t)),c):n},c.filter=function(t){return arguments.length?(r="function"==typeof t?t:Jr(!!t),c):r},c.touchable=function(t){return arguments.length?(i="function"==typeof t?t:Jr(!!t),c):i},c.handleSize=function(t){return arguments.length?(s=+t,c):s},c.keyModifiers=function(t){return arguments.length?(a=!!t,c):a},c.on=function(){var t=o.on.apply(o,arguments);return t===o?c:t},c}var Ai=Math.cos,Si=Math.sin,Mi=Math.PI,Oi=Mi/2,Di=2*Mi,Ni=Math.max;function Bi(t){return function(e,n){return t(e.source.value+e.target.value,n.source.value+n.target.value)}}var Li=function(){var t=0,e=null,n=null,r=null;function i(i){var a,o,s,c,u,l,h=i.length,f=[],d=k(h),p=[],g=[],y=g.groups=new Array(h),v=new Array(h*h);for(a=0,u=-1;++u<h;){for(o=0,l=-1;++l<h;)o+=i[u][l];f.push(o),p.push(k(h)),a+=o}for(e&&d.sort((function(t,n){return e(f[t],f[n])})),n&&p.forEach((function(t,e){t.sort((function(t,r){return n(i[e][t],i[e][r])}))})),c=(a=Ni(0,Di-t*h)/a)?t:Di/h,o=0,u=-1;++u<h;){for(s=o,l=-1;++l<h;){var m=d[u],b=p[m][l],x=i[m][b],_=o,w=o+=x*a;v[b*h+m]={index:m,subindex:b,startAngle:_,endAngle:w,value:x}}y[m]={index:m,startAngle:s,endAngle:o,value:f[m]},o+=c}for(u=-1;++u<h;)for(l=u-1;++l<h;){var E=v[l*h+u],T=v[u*h+l];(E.value||T.value)&&g.push(E.value<T.value?{source:T,target:E}:{source:E,target:T})}return r?g.sort(r):g}return i.padAngle=function(e){return arguments.length?(t=Ni(0,e),i):t},i.sortGroups=function(t){return arguments.length?(e=t,i):e},i.sortSubgroups=function(t){return arguments.length?(n=t,i):n},i.sortChords=function(t){return arguments.length?(null==t?r=null:(r=Bi(t))._=t,i):r&&r._},i},Pi=Array.prototype.slice,Ii=function(t){return function(){return t}},Fi=Math.PI,ji=2*Fi,Ri=ji-1e-6;function Yi(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function zi(){return new Yi}Yi.prototype=zi.prototype={constructor:Yi,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,r){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+r)},bezierCurveTo:function(t,e,n,r,i,a){this._+="C"+ +t+","+ +e+","+ +n+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,n,r,i){t=+t,e=+e,n=+n,r=+r,i=+i;var a=this._x1,o=this._y1,s=n-t,c=r-e,u=a-t,l=o-e,h=u*u+l*l;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(h>1e-6)if(Math.abs(l*s-c*u)>1e-6&&i){var f=n-a,d=r-o,p=s*s+c*c,g=f*f+d*d,y=Math.sqrt(p),v=Math.sqrt(h),m=i*Math.tan((Fi-Math.acos((p+h-g)/(2*y*v)))/2),b=m/v,x=m/y;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(e+b*l)),this._+="A"+i+","+i+",0,0,"+ +(l*f>u*d)+","+(this._x1=t+x*s)+","+(this._y1=e+x*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,r,i,a){t=+t,e=+e,a=!!a;var o=(n=+n)*Math.cos(r),s=n*Math.sin(r),c=t+o,u=e+s,l=1^a,h=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+c+","+u:(Math.abs(this._x1-c)>1e-6||Math.abs(this._y1-u)>1e-6)&&(this._+="L"+c+","+u),n&&(h<0&&(h=h%ji+ji),h>Ri?this._+="A"+n+","+n+",0,1,"+l+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+l+","+(this._x1=c)+","+(this._y1=u):h>1e-6&&(this._+="A"+n+","+n+",0,"+ +(h>=Fi)+","+l+","+(this._x1=t+n*Math.cos(i))+","+(this._y1=e+n*Math.sin(i))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var Ui=zi;function $i(t){return t.source}function Wi(t){return t.target}function Hi(t){return t.radius}function Vi(t){return t.startAngle}function Gi(t){return t.endAngle}var qi=function(){var t=$i,e=Wi,n=Hi,r=Vi,i=Gi,a=null;function o(){var o,s=Pi.call(arguments),c=t.apply(this,s),u=e.apply(this,s),l=+n.apply(this,(s[0]=c,s)),h=r.apply(this,s)-Oi,f=i.apply(this,s)-Oi,d=l*Ai(h),p=l*Si(h),g=+n.apply(this,(s[0]=u,s)),y=r.apply(this,s)-Oi,v=i.apply(this,s)-Oi;if(a||(a=o=Ui()),a.moveTo(d,p),a.arc(0,0,l,h,f),h===y&&f===v||(a.quadraticCurveTo(0,0,g*Ai(y),g*Si(y)),a.arc(0,0,g,y,v)),a.quadraticCurveTo(0,0,d,p),a.closePath(),o)return a=null,o+""||null}return o.radius=function(t){return arguments.length?(n="function"==typeof t?t:Ii(+t),o):n},o.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Ii(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Ii(+t),o):i},o.source=function(e){return arguments.length?(t=e,o):t},o.target=function(t){return arguments.length?(e=t,o):e},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o};function Xi(){}function Zi(t,e){var n=new Xi;if(t instanceof Xi)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var r,i=-1,a=t.length;if(null==e)for(;++i<a;)n.set(i,t[i]);else for(;++i<a;)n.set(e(r=t[i],i,t),r)}else if(t)for(var o in t)n.set(o,t[o]);return n}Xi.prototype=Zi.prototype={constructor:Xi,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,e){return this["$"+t]=e,this},remove:function(t){var e="$"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)"$"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)"$"===e[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var e in this)"$"===e[0]&&t(this[e],e.slice(1),this)}};var Ji=Zi,Ki=function(){var t,e,n,r=[],i=[];function a(n,i,o,s){if(i>=r.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var c,u,l,h=-1,f=n.length,d=r[i++],p=Ji(),g=o();++h<f;)(l=p.get(c=d(u=n[h])+""))?l.push(u):p.set(c,[u]);return p.each((function(t,e){s(g,e,a(t,i,o,s))})),g}return n={object:function(t){return a(t,0,Qi,ta)},map:function(t){return a(t,0,ea,na)},entries:function(t){return function t(n,a){if(++a>r.length)return n;var o,s=i[a-1];return null!=e&&a>=r.length?o=n.entries():(o=[],n.each((function(e,n){o.push({key:n,values:t(e,a)})}))),null!=s?o.sort((function(t,e){return s(t.key,e.key)})):o}(a(t,0,ea,na),0)},key:function(t){return r.push(t),n},sortKeys:function(t){return i[r.length-1]=t,n},sortValues:function(e){return t=e,n},rollup:function(t){return e=t,n}}};function Qi(){return{}}function ta(t,e,n){t[e]=n}function ea(){return Ji()}function na(t,e,n){t.set(e,n)}function ra(){}var ia=Ji.prototype;function aa(t,e){var n=new ra;if(t instanceof ra)t.each((function(t){n.add(t)}));else if(t){var r=-1,i=t.length;if(null==e)for(;++r<i;)n.add(t[r]);else for(;++r<i;)n.add(e(t[r],r,t))}return n}ra.prototype=aa.prototype={constructor:ra,has:ia.has,add:function(t){return this["$"+(t+="")]=t,this},remove:ia.remove,clear:ia.clear,values:ia.keys,size:ia.size,empty:ia.empty,each:ia.each};var oa=aa,sa=function(t){var e=[];for(var n in t)e.push(n);return e},ca=function(t){var e=[];for(var n in t)e.push(t[n]);return e},ua=function(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e},la=Math.PI/180,ha=180/Math.PI;function fa(t){if(t instanceof ga)return new ga(t.l,t.a,t.b,t.opacity);if(t instanceof wa)return Ea(t);t instanceof qe||(t=Ve(t));var e,n,r=ba(t.r),i=ba(t.g),a=ba(t.b),o=ya((.2225045*r+.7168786*i+.0606169*a)/1);return r===i&&i===a?e=n=o:(e=ya((.4360747*r+.3850649*i+.1430804*a)/.96422),n=ya((.0139322*r+.0971045*i+.7141733*a)/.82521)),new ga(116*o-16,500*(e-o),200*(o-n),t.opacity)}function da(t,e){return new ga(t,0,0,null==e?1:e)}function pa(t,e,n,r){return 1===arguments.length?fa(t):new ga(t,e,n,null==r?1:r)}function ga(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function ya(t){return t>6/29*(6/29)*(6/29)?Math.pow(t,1/3):t/(6/29*3*(6/29))+4/29}function va(t){return t>6/29?t*t*t:6/29*3*(6/29)*(t-4/29)}function ma(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ba(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function xa(t){if(t instanceof wa)return new wa(t.h,t.c,t.l,t.opacity);if(t instanceof ga||(t=fa(t)),0===t.a&&0===t.b)return new wa(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*ha;return new wa(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function _a(t,e,n,r){return 1===arguments.length?xa(t):new wa(n,e,t,null==r?1:r)}function ka(t,e,n,r){return 1===arguments.length?xa(t):new wa(t,e,n,null==r?1:r)}function wa(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function Ea(t){if(isNaN(t.h))return new ga(t.l,0,0,t.opacity);var e=t.h*la;return new ga(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}Ae(ga,pa,Se(Me,{brighter:function(t){return new ga(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new ga(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return new qe(ma(3.1338561*(e=.96422*va(e))-1.6168667*(t=1*va(t))-.4906146*(n=.82521*va(n))),ma(-.9787684*e+1.9161415*t+.033454*n),ma(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}})),Ae(wa,ka,Se(Me,{brighter:function(t){return new wa(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new wa(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return Ea(this).rgb()}}));var Ta=-.29227,Ca=-1.7884503806,Aa=3.5172982438,Sa=-.6557636667999999;function Ma(t){if(t instanceof Da)return new Da(t.h,t.s,t.l,t.opacity);t instanceof qe||(t=Ve(t));var e=t.r/255,n=t.g/255,r=t.b/255,i=(Sa*r+Ca*e-Aa*n)/(Sa+Ca-Aa),a=r-i,o=(1.97294*(n-i)-Ta*a)/-.90649,s=Math.sqrt(o*o+a*a)/(1.97294*i*(1-i)),c=s?Math.atan2(o,a)*ha-120:NaN;return new Da(c<0?c+360:c,s,i,t.opacity)}function Oa(t,e,n,r){return 1===arguments.length?Ma(t):new Da(t,e,n,null==r?1:r)}function Da(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Ae(Da,Oa,Se(Me,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Da(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Da(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*la,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),i=Math.sin(t);return new qe(255*(e+n*(-.14861*r+1.78277*i)),255*(e+n*(Ta*r+-.90649*i)),255*(e+n*(1.97294*r)),this.opacity)}}));var Na=Array.prototype.slice,Ba=function(t,e){return t-e},La=function(t){return function(){return t}},Pa=function(t,e){for(var n,r=-1,i=e.length;++r<i;)if(n=Ia(t,e[r]))return n;return 0};function Ia(t,e){for(var n=e[0],r=e[1],i=-1,a=0,o=t.length,s=o-1;a<o;s=a++){var c=t[a],u=c[0],l=c[1],h=t[s],f=h[0],d=h[1];if(Fa(c,h,e))return 0;l>r!=d>r&&n<(f-u)*(r-l)/(d-l)+u&&(i=-i)}return i}function Fa(t,e,n){var r,i,a,o;return function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])==(n[0]-t[0])*(e[1]-t[1])}(t,e,n)&&(i=t[r=+(t[0]===e[0])],a=n[r],o=e[r],i<=a&&a<=o||o<=a&&a<=i)}var ja=function(){},Ra=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]],Ya=function(){var t=1,e=1,n=M,r=s;function i(t){var e=n(t);if(Array.isArray(e))e=e.slice().sort(Ba);else{var r=y(t),i=r[0],o=r[1];e=S(i,o,e),e=k(Math.floor(i/e)*e,Math.floor(o/e)*e,e)}return e.map((function(e){return a(t,e)}))}function a(n,i){var a=[],s=[];return function(n,r,i){var a,s,c,u,l,h,f=new Array,d=new Array;a=s=-1,u=n[0]>=r,Ra[u<<1].forEach(p);for(;++a<t-1;)c=u,u=n[a+1]>=r,Ra[c|u<<1].forEach(p);Ra[u<<0].forEach(p);for(;++s<e-1;){for(a=-1,u=n[s*t+t]>=r,l=n[s*t]>=r,Ra[u<<1|l<<2].forEach(p);++a<t-1;)c=u,u=n[s*t+t+a+1]>=r,h=l,l=n[s*t+a+1]>=r,Ra[c|u<<1|l<<2|h<<3].forEach(p);Ra[u|l<<3].forEach(p)}a=-1,l=n[s*t]>=r,Ra[l<<2].forEach(p);for(;++a<t-1;)h=l,l=n[s*t+a+1]>=r,Ra[l<<2|h<<3].forEach(p);function p(t){var e,n,r=[t[0][0]+a,t[0][1]+s],c=[t[1][0]+a,t[1][1]+s],u=o(r),l=o(c);(e=d[u])?(n=f[l])?(delete d[e.end],delete f[n.start],e===n?(e.ring.push(c),i(e.ring)):f[e.start]=d[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete d[e.end],e.ring.push(c),d[e.end=l]=e):(e=f[l])?(n=d[u])?(delete f[e.start],delete d[n.end],e===n?(e.ring.push(c),i(e.ring)):f[n.start]=d[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete f[e.start],e.ring.unshift(r),f[e.start=u]=e):f[u]=d[l]={start:u,end:l,ring:[r,c]}}Ra[l<<3].forEach(p)}(n,i,(function(t){r(t,n,i),function(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e<n;)r+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return r}(t)>0?a.push([t]):s.push(t)})),s.forEach((function(t){for(var e,n=0,r=a.length;n<r;++n)if(-1!==Pa((e=a[n])[0],t))return void e.push(t)})),{type:"MultiPolygon",value:i,coordinates:a}}function o(e){return 2*e[0]+e[1]*(t+1)*4}function s(n,r,i){n.forEach((function(n){var a,o=n[0],s=n[1],c=0|o,u=0|s,l=r[u*t+c];o>0&&o<t&&c===o&&(a=r[u*t+c-1],n[0]=o+(i-a)/(l-a)-.5),s>0&&s<e&&u===s&&(a=r[(u-1)*t+c],n[1]=s+(i-a)/(l-a)-.5)}))}return i.contour=a,i.size=function(n){if(!arguments.length)return[t,e];var r=Math.ceil(n[0]),a=Math.ceil(n[1]);if(!(r>0&&a>0))throw new Error("invalid size");return t=r,e=a,i},i.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?La(Na.call(t)):La(t),i):n},i.smooth=function(t){return arguments.length?(r=t?s:ja,i):r===s},i};function za(t,e,n){for(var r=t.width,i=t.height,a=1+(n<<1),o=0;o<i;++o)for(var s=0,c=0;s<r+n;++s)s<r&&(c+=t.data[s+o*r]),s>=n&&(s>=a&&(c-=t.data[s-a+o*r]),e.data[s-n+o*r]=c/Math.min(s+1,r-1+a-s,a))}function Ua(t,e,n){for(var r=t.width,i=t.height,a=1+(n<<1),o=0;o<r;++o)for(var s=0,c=0;s<i+n;++s)s<i&&(c+=t.data[o+s*r]),s>=n&&(s>=a&&(c-=t.data[o+(s-a)*r]),e.data[o+(s-n)*r]=c/Math.min(s+1,i-1+a-s,a))}function $a(t){return t[0]}function Wa(t){return t[1]}function Ha(){return 1}var Va=function(){var t=$a,e=Wa,n=Ha,r=960,i=500,a=20,o=2,s=3*a,c=r+2*s>>o,u=i+2*s>>o,l=La(20);function h(r){var i=new Float32Array(c*u),h=new Float32Array(c*u);r.forEach((function(r,a,l){var h=+t(r,a,l)+s>>o,f=+e(r,a,l)+s>>o,d=+n(r,a,l);h>=0&&h<c&&f>=0&&f<u&&(i[h+f*c]+=d)})),za({width:c,height:u,data:i},{width:c,height:u,data:h},a>>o),Ua({width:c,height:u,data:h},{width:c,height:u,data:i},a>>o),za({width:c,height:u,data:i},{width:c,height:u,data:h},a>>o),Ua({width:c,height:u,data:h},{width:c,height:u,data:i},a>>o),za({width:c,height:u,data:i},{width:c,height:u,data:h},a>>o),Ua({width:c,height:u,data:h},{width:c,height:u,data:i},a>>o);var d=l(i);if(!Array.isArray(d)){var p=L(i);d=S(0,p,d),(d=k(0,Math.floor(p/d)*d,d)).shift()}return Ya().thresholds(d).size([c,u])(i).map(f)}function f(t){return t.value*=Math.pow(2,-2*o),t.coordinates.forEach(d),t}function d(t){t.forEach(p)}function p(t){t.forEach(g)}function g(t){t[0]=t[0]*Math.pow(2,o)-s,t[1]=t[1]*Math.pow(2,o)-s}function y(){return c=r+2*(s=3*a)>>o,u=i+2*s>>o,h}return h.x=function(e){return arguments.length?(t="function"==typeof e?e:La(+e),h):t},h.y=function(t){return arguments.length?(e="function"==typeof t?t:La(+t),h):e},h.weight=function(t){return arguments.length?(n="function"==typeof t?t:La(+t),h):n},h.size=function(t){if(!arguments.length)return[r,i];var e=Math.ceil(t[0]),n=Math.ceil(t[1]);if(!(e>=0||e>=0))throw new Error("invalid size");return r=e,i=n,y()},h.cellSize=function(t){if(!arguments.length)return 1<<o;if(!((t=+t)>=1))throw new Error("invalid cell size");return o=Math.floor(Math.log(t)/Math.LN2),y()},h.thresholds=function(t){return arguments.length?(l="function"==typeof t?t:Array.isArray(t)?La(Na.call(t)):La(t),h):l},h.bandwidth=function(t){if(!arguments.length)return Math.sqrt(a*(a+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return a=Math.round((Math.sqrt(4*t*t+1)-1)/2),y()},h},Ga=function(t){return function(){return t}};function qa(t,e,n,r,i,a,o,s,c,u){this.target=t,this.type=e,this.subject=n,this.identifier=r,this.active=i,this.x=a,this.y=o,this.dx=s,this.dy=c,this._=u}function Xa(){return!ce.ctrlKey&&!ce.button}function Za(){return this.parentNode}function Ja(t){return null==t?{x:ce.x,y:ce.y}:t}function Ka(){return navigator.maxTouchPoints||"ontouchstart"in this}qa.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var Qa=function(){var t,e,n,r,i=Xa,a=Za,o=Ja,s=Ka,c={},u=lt("start","drag","end"),l=0,h=0;function f(t){t.on("mousedown.drag",d).filter(s).on("touchstart.drag",y).on("touchmove.drag",v).on("touchend.drag touchcancel.drag",m).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(){if(!r&&i.apply(this,arguments)){var o=b("mouse",a.apply(this,arguments),Nn,this,arguments);o&&(ke(ce.view).on("mousemove.drag",p,!0).on("mouseup.drag",g,!0),Te(ce.view),we(),n=!1,t=ce.clientX,e=ce.clientY,o("start"))}}function p(){if(Ee(),!n){var r=ce.clientX-t,i=ce.clientY-e;n=r*r+i*i>h}c.mouse("drag")}function g(){ke(ce.view).on("mousemove.drag mouseup.drag",null),Ce(ce.view,n),Ee(),c.mouse("end")}function y(){if(i.apply(this,arguments)){var t,e,n=ce.changedTouches,r=a.apply(this,arguments),o=n.length;for(t=0;t<o;++t)(e=b(n[t].identifier,r,Dn,this,arguments))&&(we(),e("start"))}}function v(){var t,e,n=ce.changedTouches,r=n.length;for(t=0;t<r;++t)(e=c[n[t].identifier])&&(Ee(),e("drag"))}function m(){var t,e,n=ce.changedTouches,i=n.length;for(r&&clearTimeout(r),r=setTimeout((function(){r=null}),500),t=0;t<i;++t)(e=c[n[t].identifier])&&(we(),e("end"))}function b(t,e,n,r,i){var a,s,h,d=n(e,t),p=u.copy();if(pe(new qa(f,"beforestart",a,t,l,d[0],d[1],0,0,p),(function(){return null!=(ce.subject=a=o.apply(r,i))&&(s=a.x-d[0]||0,h=a.y-d[1]||0,!0)})))return function o(u){var g,y=d;switch(u){case"start":c[t]=o,g=l++;break;case"end":delete c[t],--l;case"drag":d=n(e,t),g=l}pe(new qa(f,u,a,t,g,d[0]+s,d[1]+h,d[0]-y[0],d[1]-y[1],p),p.apply,p,[u,r,i])}}return f.filter=function(t){return arguments.length?(i="function"==typeof t?t:Ga(!!t),f):i},f.container=function(t){return arguments.length?(a="function"==typeof t?t:Ga(t),f):a},f.subject=function(t){return arguments.length?(o="function"==typeof t?t:Ga(t),f):o},f.touchable=function(t){return arguments.length?(s="function"==typeof t?t:Ga(!!t),f):s},f.on=function(){var t=u.on.apply(u,arguments);return t===u?f:t},f.clickDistance=function(t){return arguments.length?(h=(t=+t)*t,f):Math.sqrt(h)},f},to={},eo={};function no(t){return new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+'] || ""'})).join(",")+"}")}function ro(t){var e=Object.create(null),n=[];return t.forEach((function(t){for(var r in t)r in e||n.push(e[r]=r)})),n}function io(t,e){var n=t+"",r=n.length;return r<e?new Array(e-r+1).join(0)+n:n}function ao(t){var e,n=t.getUTCHours(),r=t.getUTCMinutes(),i=t.getUTCSeconds(),a=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":((e=t.getUTCFullYear())<0?"-"+io(-e,6):e>9999?"+"+io(e,6):io(e,4))+"-"+io(t.getUTCMonth()+1,2)+"-"+io(t.getUTCDate(),2)+(a?"T"+io(n,2)+":"+io(r,2)+":"+io(i,2)+"."+io(a,3)+"Z":i?"T"+io(n,2)+":"+io(r,2)+":"+io(i,2)+"Z":r||n?"T"+io(n,2)+":"+io(r,2)+"Z":"")}var oo=function(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var r,i=[],a=t.length,o=0,s=0,c=a<=0,u=!1;function l(){if(c)return eo;if(u)return u=!1,to;var e,r,i=o;if(34===t.charCodeAt(i)){for(;o++<a&&34!==t.charCodeAt(o)||34===t.charCodeAt(++o););return(e=o)>=a?c=!0:10===(r=t.charCodeAt(o++))?u=!0:13===r&&(u=!0,10===t.charCodeAt(o)&&++o),t.slice(i+1,e-1).replace(/""/g,'"')}for(;o<a;){if(10===(r=t.charCodeAt(e=o++)))u=!0;else if(13===r)u=!0,10===t.charCodeAt(o)&&++o;else if(r!==n)continue;return t.slice(i,e)}return c=!0,t.slice(i,a)}for(10===t.charCodeAt(a-1)&&--a,13===t.charCodeAt(a-1)&&--a;(r=l())!==eo;){for(var h=[];r!==to&&r!==eo;)h.push(r),r=l();e&&null==(h=e(h,s++))||i.push(h)}return i}function i(e,n){return e.map((function(e){return n.map((function(t){return o(e[t])})).join(t)}))}function a(e){return e.map(o).join(t)}function o(t){return null==t?"":t instanceof Date?ao(t):e.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:function(t,e){var n,i,a=r(t,(function(t,r){if(n)return n(t,r-1);i=t,n=e?function(t,e){var n=no(t);return function(r,i){return e(n(r),i,t)}}(t,e):no(t)}));return a.columns=i||[],a},parseRows:r,format:function(e,n){return null==n&&(n=ro(e)),[n.map(o).join(t)].concat(i(e,n)).join("\n")},formatBody:function(t,e){return null==e&&(e=ro(t)),i(t,e).join("\n")},formatRows:function(t){return t.map(a).join("\n")},formatRow:a,formatValue:o}},so=oo(","),co=so.parse,uo=so.parseRows,lo=so.format,ho=so.formatBody,fo=so.formatRows,po=so.formatRow,go=so.formatValue,yo=oo("\t"),vo=yo.parse,mo=yo.parseRows,bo=yo.format,xo=yo.formatBody,_o=yo.formatRows,ko=yo.formatRow,wo=yo.formatValue;function Eo(t){for(var e in t){var n,r,i=t[e].trim();if(i)if("true"===i)i=!0;else if("false"===i)i=!1;else if("NaN"===i)i=NaN;else if(isNaN(n=+i)){if(!(r=i.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/)))continue;To&&r[4]&&!r[7]&&(i=i.replace(/-/g,"/").replace(/T/," ")),i=new Date(i)}else i=n;else i=null;t[e]=i}return t}var To=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours();function Co(t){return+t}function Ao(t){return t*t}function So(t){return t*(2-t)}function Mo(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}var Oo=function t(e){function n(t){return Math.pow(t,e)}return e=+e,n.exponent=t,n}(3),Do=function t(e){function n(t){return 1-Math.pow(1-t,e)}return e=+e,n.exponent=t,n}(3),No=function t(e){function n(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return e=+e,n.exponent=t,n}(3),Bo=Math.PI,Lo=Bo/2;function Po(t){return 1-Math.cos(t*Lo)}function Io(t){return Math.sin(t*Lo)}function Fo(t){return(1-Math.cos(Bo*t))/2}function jo(t){return Math.pow(2,10*t-10)}function Ro(t){return 1-Math.pow(2,-10*t)}function Yo(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function zo(t){return 1-Math.sqrt(1-t*t)}function Uo(t){return Math.sqrt(1- --t*t)}function $o(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}function Wo(t){return 1-Ho(1-t)}function Ho(t){return(t=+t)<4/11?7.5625*t*t:t<8/11?7.5625*(t-=6/11)*t+.75:t<10/11?7.5625*(t-=9/11)*t+.9375:7.5625*(t-=21/22)*t+63/64}function Vo(t){return((t*=2)<=1?1-Ho(1-t):Ho(t-1)+1)/2}var Go=function t(e){function n(t){return t*t*((e+1)*t-e)}return e=+e,n.overshoot=t,n}(1.70158),qo=function t(e){function n(t){return--t*t*((e+1)*t+e)+1}return e=+e,n.overshoot=t,n}(1.70158),Xo=function t(e){function n(t){return((t*=2)<1?t*t*((e+1)*t-e):(t-=2)*t*((e+1)*t+e)+2)/2}return e=+e,n.overshoot=t,n}(1.70158),Zo=2*Math.PI,Jo=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Zo);function i(t){return e*Math.pow(2,10*--t)*Math.sin((r-t)/n)}return i.amplitude=function(e){return t(e,n*Zo)},i.period=function(n){return t(e,n)},i}(1,.3),Ko=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Zo);function i(t){return 1-e*Math.pow(2,-10*(t=+t))*Math.sin((t+r)/n)}return i.amplitude=function(e){return t(e,n*Zo)},i.period=function(n){return t(e,n)},i}(1,.3),Qo=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=Zo);function i(t){return((t=2*t-1)<0?e*Math.pow(2,10*t)*Math.sin((r-t)/n):2-e*Math.pow(2,-10*t)*Math.sin((r+t)/n))/2}return i.amplitude=function(e){return t(e,n*Zo)},i.period=function(n){return t(e,n)},i}(1,.3);function ts(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.blob()}var es=function(t,e){return fetch(t,e).then(ts)};function ns(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.arrayBuffer()}var rs=function(t,e){return fetch(t,e).then(ns)};function is(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}var as=function(t,e){return fetch(t,e).then(is)};function os(t){return function(e,n,r){return 2===arguments.length&&"function"==typeof n&&(r=n,n=void 0),as(e,n).then((function(e){return t(e,r)}))}}function ss(t,e,n,r){3===arguments.length&&"function"==typeof n&&(r=n,n=void 0);var i=oo(t);return as(e,n).then((function(t){return i.parse(t,r)}))}var cs=os(co),us=os(vo),ls=function(t,e){return new Promise((function(n,r){var i=new Image;for(var a in e)i[a]=e[a];i.onerror=r,i.onload=function(){n(i)},i.src=t}))};function hs(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.json()}var fs=function(t,e){return fetch(t,e).then(hs)};function ds(t){return function(e,n){return as(e,n).then((function(e){return(new DOMParser).parseFromString(e,t)}))}}var ps=ds("application/xml"),gs=ds("text/html"),ys=ds("image/svg+xml"),vs=function(t,e){var n;function r(){var r,i,a=n.length,o=0,s=0;for(r=0;r<a;++r)o+=(i=n[r]).x,s+=i.y;for(o=o/a-t,s=s/a-e,r=0;r<a;++r)(i=n[r]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),r.initialize=function(t){n=t},r.x=function(e){return arguments.length?(t=+e,r):t},r.y=function(t){return arguments.length?(e=+t,r):e},r},ms=function(t){return function(){return t}},bs=function(){return 1e-6*(Math.random()-.5)};function xs(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,a,o,s,c,u,l,h,f,d=t._root,p={data:r},g=t._x0,y=t._y0,v=t._x1,m=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((u=e>=(a=(g+v)/2))?g=a:v=a,(l=n>=(o=(y+m)/2))?y=o:m=o,i=d,!(d=d[h=l<<1|u]))return i[h]=p,t;if(s=+t._x.call(null,d.data),c=+t._y.call(null,d.data),e===s&&n===c)return p.next=d,i?i[h]=p:t._root=p,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(u=e>=(a=(g+v)/2))?g=a:v=a,(l=n>=(o=(y+m)/2))?y=o:m=o}while((h=l<<1|u)==(f=(c>=o)<<1|s>=a));return i[f]=d,i[h]=p,t}var _s=function(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i};function ks(t){return t[0]}function ws(t){return t[1]}function Es(t,e,n){var r=new Ts(null==e?ks:e,null==n?ws:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Ts(t,e,n,r,i,a){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function Cs(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var As=Es.prototype=Ts.prototype;function Ss(t){return t.x+t.vx}function Ms(t){return t.y+t.vy}As.copy=function(){var t,e,n=new Ts(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=Cs(r),n;for(t=[{source:r,target:n._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(4)}):r.target[i]=Cs(e));return n},As.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return xs(this.cover(e,n),e,n,t)},As.addAll=function(t){var e,n,r,i,a=t.length,o=new Array(a),s=new Array(a),c=1/0,u=1/0,l=-1/0,h=-1/0;for(n=0;n<a;++n)isNaN(r=+this._x.call(null,e=t[n]))||isNaN(i=+this._y.call(null,e))||(o[n]=r,s[n]=i,r<c&&(c=r),r>l&&(l=r),i<u&&(u=i),i>h&&(h=i));if(c>l||u>h)return this;for(this.cover(c,u).cover(l,h),n=0;n<a;++n)xs(this,o[n],s[n],t[n]);return this},As.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(t))+1,a=(r=Math.floor(e))+1;else{for(var o,s,c=i-n,u=this._root;n>t||t>=i||r>e||e>=a;)switch(s=(e<r)<<1|t<n,(o=new Array(4))[s]=u,u=o,c*=2,s){case 0:i=n+c,a=r+c;break;case 1:n=i-c,a=r+c;break;case 2:i=n+c,r=a-c;break;case 3:n=i-c,r=a-c}this._root&&this._root.length&&(this._root=u)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this},As.data=function(){var t=[];return this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)})),t},As.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},As.find=function(t,e,n){var r,i,a,o,s,c,u,l=this._x0,h=this._y0,f=this._x1,d=this._y1,p=[],g=this._root;for(g&&p.push(new _s(g,l,h,f,d)),null==n?n=1/0:(l=t-n,h=e-n,f=t+n,d=e+n,n*=n);c=p.pop();)if(!(!(g=c.node)||(i=c.x0)>f||(a=c.y0)>d||(o=c.x1)<l||(s=c.y1)<h))if(g.length){var y=(i+o)/2,v=(a+s)/2;p.push(new _s(g[3],y,v,o,s),new _s(g[2],i,v,y,s),new _s(g[1],y,a,o,v),new _s(g[0],i,a,y,v)),(u=(e>=v)<<1|t>=y)&&(c=p[p.length-1],p[p.length-1]=p[p.length-1-u],p[p.length-1-u]=c)}else{var m=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),x=m*m+b*b;if(x<n){var _=Math.sqrt(n=x);l=t-_,h=e-_,f=t+_,d=e+_,r=g.data}}return r},As.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,n,r,i,a,o,s,c,u,l,h,f,d=this._root,p=this._x0,g=this._y0,y=this._x1,v=this._y1;if(!d)return this;if(d.length)for(;;){if((u=a>=(s=(p+y)/2))?p=s:y=s,(l=o>=(c=(g+v)/2))?g=c:v=c,e=d,!(d=d[h=l<<1|u]))return this;if(!d.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(n=e,f=h)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):e?(i?e[h]=i:delete e[h],(d=e[0]||e[1]||e[2]||e[3])&&d===(e[3]||e[2]||e[1]||e[0])&&!d.length&&(n?n[f]=d:this._root=d),this):(this._root=i,this)},As.removeAll=function(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this},As.root=function(){return this._root},As.size=function(){var t=0;return this.visit((function(e){if(!e.length)do{++t}while(e=e.next)})),t},As.visit=function(t){var e,n,r,i,a,o,s=[],c=this._root;for(c&&s.push(new _s(c,this._x0,this._y0,this._x1,this._y1));e=s.pop();)if(!t(c=e.node,r=e.x0,i=e.y0,a=e.x1,o=e.y1)&&c.length){var u=(r+a)/2,l=(i+o)/2;(n=c[3])&&s.push(new _s(n,u,l,a,o)),(n=c[2])&&s.push(new _s(n,r,l,u,o)),(n=c[1])&&s.push(new _s(n,u,i,a,l)),(n=c[0])&&s.push(new _s(n,r,i,u,l))}return this},As.visitAfter=function(t){var e,n=[],r=[];for(this._root&&n.push(new _s(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var i=e.node;if(i.length){var a,o=e.x0,s=e.y0,c=e.x1,u=e.y1,l=(o+c)/2,h=(s+u)/2;(a=i[0])&&n.push(new _s(a,o,s,l,h)),(a=i[1])&&n.push(new _s(a,l,s,c,h)),(a=i[2])&&n.push(new _s(a,o,h,l,u)),(a=i[3])&&n.push(new _s(a,l,h,c,u))}r.push(e)}for(;e=r.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},As.x=function(t){return arguments.length?(this._x=t,this):this._x},As.y=function(t){return arguments.length?(this._y=t,this):this._y};var Os=function(t){var e,n,r=1,i=1;function a(){for(var t,a,s,c,u,l,h,f=e.length,d=0;d<i;++d)for(a=Es(e,Ss,Ms).visitAfter(o),t=0;t<f;++t)s=e[t],l=n[s.index],h=l*l,c=s.x+s.vx,u=s.y+s.vy,a.visit(p);function p(t,e,n,i,a){var o=t.data,f=t.r,d=l+f;if(!o)return e>c+d||i<c-d||n>u+d||a<u-d;if(o.index>s.index){var p=c-o.x-o.vx,g=u-o.y-o.vy,y=p*p+g*g;y<d*d&&(0===p&&(y+=(p=bs())*p),0===g&&(y+=(g=bs())*g),y=(d-(y=Math.sqrt(y)))/y*r,s.vx+=(p*=y)*(d=(f*=f)/(h+f)),s.vy+=(g*=y)*d,o.vx-=p*(d=1-d),o.vy-=g*d)}}}function o(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function s(){if(e){var r,i,a=e.length;for(n=new Array(a),r=0;r<a;++r)i=e[r],n[i.index]=+t(i,r,e)}}return"function"!=typeof t&&(t=ms(null==t?1:+t)),a.initialize=function(t){e=t,s()},a.iterations=function(t){return arguments.length?(i=+t,a):i},a.strength=function(t){return arguments.length?(r=+t,a):r},a.radius=function(e){return arguments.length?(t="function"==typeof e?e:ms(+e),s(),a):t},a};function Ds(t){return t.index}function Ns(t,e){var n=t.get(e);if(!n)throw new Error("missing: "+e);return n}var Bs=function(t){var e,n,r,i,a,o=Ds,s=function(t){return 1/Math.min(i[t.source.index],i[t.target.index])},c=ms(30),u=1;function l(r){for(var i=0,o=t.length;i<u;++i)for(var s,c,l,h,f,d,p,g=0;g<o;++g)c=(s=t[g]).source,h=(l=s.target).x+l.vx-c.x-c.vx||bs(),f=l.y+l.vy-c.y-c.vy||bs(),h*=d=((d=Math.sqrt(h*h+f*f))-n[g])/d*r*e[g],f*=d,l.vx-=h*(p=a[g]),l.vy-=f*p,c.vx+=h*(p=1-p),c.vy+=f*p}function h(){if(r){var s,c,u=r.length,l=t.length,h=Ji(r,o);for(s=0,i=new Array(u);s<l;++s)(c=t[s]).index=s,"object"!=typeof c.source&&(c.source=Ns(h,c.source)),"object"!=typeof c.target&&(c.target=Ns(h,c.target)),i[c.source.index]=(i[c.source.index]||0)+1,i[c.target.index]=(i[c.target.index]||0)+1;for(s=0,a=new Array(l);s<l;++s)c=t[s],a[s]=i[c.source.index]/(i[c.source.index]+i[c.target.index]);e=new Array(l),f(),n=new Array(l),d()}}function f(){if(r)for(var n=0,i=t.length;n<i;++n)e[n]=+s(t[n],n,t)}function d(){if(r)for(var e=0,i=t.length;e<i;++e)n[e]=+c(t[e],e,t)}return null==t&&(t=[]),l.initialize=function(t){r=t,h()},l.links=function(e){return arguments.length?(t=e,h(),l):t},l.id=function(t){return arguments.length?(o=t,l):o},l.iterations=function(t){return arguments.length?(u=+t,l):u},l.strength=function(t){return arguments.length?(s="function"==typeof t?t:ms(+t),f(),l):s},l.distance=function(t){return arguments.length?(c="function"==typeof t?t:ms(+t),d(),l):c},l};function Ls(t){return t.x}function Ps(t){return t.y}var Is=Math.PI*(3-Math.sqrt(5)),Fs=function(t){var e,n=1,r=.001,i=1-Math.pow(r,1/300),a=0,o=.6,s=Ji(),c=Wn(l),u=lt("tick","end");function l(){h(),u.call("tick",e),n<r&&(c.stop(),u.call("end",e))}function h(r){var c,u,l=t.length;void 0===r&&(r=1);for(var h=0;h<r;++h)for(n+=(a-n)*i,s.each((function(t){t(n)})),c=0;c<l;++c)null==(u=t[c]).fx?u.x+=u.vx*=o:(u.x=u.fx,u.vx=0),null==u.fy?u.y+=u.vy*=o:(u.y=u.fy,u.vy=0);return e}function f(){for(var e,n=0,r=t.length;n<r;++n){if((e=t[n]).index=n,null!=e.fx&&(e.x=e.fx),null!=e.fy&&(e.y=e.fy),isNaN(e.x)||isNaN(e.y)){var i=10*Math.sqrt(n),a=n*Is;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function d(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),f(),e={tick:h,restart:function(){return c.restart(l),e},stop:function(){return c.stop(),e},nodes:function(n){return arguments.length?(t=n,f(),s.each(d),e):t},alpha:function(t){return arguments.length?(n=+t,e):n},alphaMin:function(t){return arguments.length?(r=+t,e):r},alphaDecay:function(t){return arguments.length?(i=+t,e):+i},alphaTarget:function(t){return arguments.length?(a=+t,e):a},velocityDecay:function(t){return arguments.length?(o=1-t,e):1-o},force:function(t,n){return arguments.length>1?(null==n?s.remove(t):s.set(t,d(n)),e):s.get(t)},find:function(e,n,r){var i,a,o,s,c,u=0,l=t.length;for(null==r?r=1/0:r*=r,u=0;u<l;++u)(o=(i=e-(s=t[u]).x)*i+(a=n-s.y)*a)<r&&(c=s,r=o);return c},on:function(t,n){return arguments.length>1?(u.on(t,n),e):u.on(t)}}},js=function(){var t,e,n,r,i=ms(-30),a=1,o=1/0,s=.81;function c(r){var i,a=t.length,o=Es(t,Ls,Ps).visitAfter(l);for(n=r,i=0;i<a;++i)e=t[i],o.visit(h)}function u(){if(t){var e,n,a=t.length;for(r=new Array(a),e=0;e<a;++e)n=t[e],r[n.index]=+i(n,e,t)}}function l(t){var e,n,i,a,o,s=0,c=0;if(t.length){for(i=a=o=0;o<4;++o)(e=t[o])&&(n=Math.abs(e.value))&&(s+=e.value,c+=n,i+=n*e.x,a+=n*e.y);t.x=i/c,t.y=a/c}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=r[e.data.index]}while(e=e.next)}t.value=s}function h(t,i,c,u){if(!t.value)return!0;var l=t.x-e.x,h=t.y-e.y,f=u-i,d=l*l+h*h;if(f*f/s<d)return d<o&&(0===l&&(d+=(l=bs())*l),0===h&&(d+=(h=bs())*h),d<a&&(d=Math.sqrt(a*d)),e.vx+=l*t.value*n/d,e.vy+=h*t.value*n/d),!0;if(!(t.length||d>=o)){(t.data!==e||t.next)&&(0===l&&(d+=(l=bs())*l),0===h&&(d+=(h=bs())*h),d<a&&(d=Math.sqrt(a*d)));do{t.data!==e&&(f=r[t.data.index]*n/d,e.vx+=l*f,e.vy+=h*f)}while(t=t.next)}}return c.initialize=function(e){t=e,u()},c.strength=function(t){return arguments.length?(i="function"==typeof t?t:ms(+t),u(),c):i},c.distanceMin=function(t){return arguments.length?(a=t*t,c):Math.sqrt(a)},c.distanceMax=function(t){return arguments.length?(o=t*t,c):Math.sqrt(o)},c.theta=function(t){return arguments.length?(s=t*t,c):Math.sqrt(s)},c},Rs=function(t,e,n){var r,i,a,o=ms(.1);function s(t){for(var o=0,s=r.length;o<s;++o){var c=r[o],u=c.x-e||1e-6,l=c.y-n||1e-6,h=Math.sqrt(u*u+l*l),f=(a[o]-h)*i[o]*t/h;c.vx+=u*f,c.vy+=l*f}}function c(){if(r){var e,n=r.length;for(i=new Array(n),a=new Array(n),e=0;e<n;++e)a[e]=+t(r[e],e,r),i[e]=isNaN(a[e])?0:+o(r[e],e,r)}}return"function"!=typeof t&&(t=ms(+t)),null==e&&(e=0),null==n&&(n=0),s.initialize=function(t){r=t,c()},s.strength=function(t){return arguments.length?(o="function"==typeof t?t:ms(+t),c(),s):o},s.radius=function(e){return arguments.length?(t="function"==typeof e?e:ms(+e),c(),s):t},s.x=function(t){return arguments.length?(e=+t,s):e},s.y=function(t){return arguments.length?(n=+t,s):n},s},Ys=function(t){var e,n,r,i=ms(.1);function a(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(r[a]-i.x)*n[a]*t}function o(){if(e){var a,o=e.length;for(n=new Array(o),r=new Array(o),a=0;a<o;++a)n[a]=isNaN(r[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=ms(null==t?0:+t)),a.initialize=function(t){e=t,o()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:ms(+t),o(),a):i},a.x=function(e){return arguments.length?(t="function"==typeof e?e:ms(+e),o(),a):t},a},zs=function(t){var e,n,r,i=ms(.1);function a(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(r[a]-i.y)*n[a]*t}function o(){if(e){var a,o=e.length;for(n=new Array(o),r=new Array(o),a=0;a<o;++a)n[a]=isNaN(r[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return"function"!=typeof t&&(t=ms(null==t?0:+t)),a.initialize=function(t){e=t,o()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:ms(+t),o(),a):i},a.y=function(e){return arguments.length?(t="function"==typeof e?e:ms(+e),o(),a):t},a},Us=function(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]},$s=function(t){return(t=Us(Math.abs(t)))?t[1]:NaN},Ws=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Hs(t){if(!(e=Ws.exec(t)))throw new Error("invalid format: "+t);var e;return new Vs({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Vs(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}Hs.prototype=Vs.prototype,Vs.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Gs,qs,Xs,Zs,Js=function(t,e){var n=Us(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")},Ks={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Js(100*t,e)},r:Js,s:function(t,e){var n=Us(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(Gs=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Us(t,Math.max(0,e+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},Qs=function(t){return t},tc=Array.prototype.map,ec=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],nc=function(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?Qs:(e=tc.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(t.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",s=void 0===t.numerals?Qs:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(tc.call(t.numerals,String)),c=void 0===t.percent?"%":t.percent+"",u=void 0===t.minus?"-":t.minus+"",l=void 0===t.nan?"NaN":t.nan+"";function h(t){var e=(t=Hs(t)).fill,n=t.align,h=t.sign,f=t.symbol,d=t.zero,p=t.width,g=t.comma,y=t.precision,v=t.trim,m=t.type;"n"===m?(g=!0,m="g"):Ks[m]||(void 0===y&&(y=12),v=!0,m="g"),(d||"0"===e&&"="===n)&&(d=!0,e="0",n="=");var b="$"===f?i:"#"===f&&/[boxX]/.test(m)?"0"+m.toLowerCase():"",x="$"===f?a:/[%p]/.test(m)?c:"",_=Ks[m],k=/[defgprs%]/.test(m);function w(t){var i,a,c,f=b,w=x;if("c"===m)w=_(t)+w,t="";else{var E=(t=+t)<0;if(t=isNaN(t)?l:_(Math.abs(t),y),v&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r<n;++r)switch(t[r]){case".":i=e=r;break;case"0":0===i&&(i=r),e=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),E&&0==+t&&(E=!1),f=(E?"("===h?h:u:"-"===h||"("===h?"":h)+f,w=("s"===m?ec[8+Gs/3]:"")+w+(E&&"("===h?")":""),k)for(i=-1,a=t.length;++i<a;)if(48>(c=t.charCodeAt(i))||c>57){w=(46===c?o+t.slice(i+1):t.slice(i))+w,t=t.slice(0,i);break}}g&&!d&&(t=r(t,1/0));var T=f.length+t.length+w.length,C=T<p?new Array(p-T+1).join(e):"";switch(g&&d&&(t=r(C+t,C.length?p-w.length:1/0),C=""),n){case"<":t=f+t+w+C;break;case"=":t=f+C+t+w;break;case"^":t=C.slice(0,T=C.length>>1)+f+t+w+C.slice(T);break;default:t=C+f+t+w}return s(t)}return y=void 0===y?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),w.toString=function(){return t+""},w}return{format:h,formatPrefix:function(t,e){var n=h(((t=Hs(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor($s(e)/3))),i=Math.pow(10,-r),a=ec[8+r/3];return function(t){return n(i*t)+a}}}};function rc(t){return qs=nc(t),Xs=qs.format,Zs=qs.formatPrefix,qs}rc({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});var ic=function(t){return Math.max(0,-$s(Math.abs(t)))},ac=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor($s(e)/3)))-$s(Math.abs(t)))},oc=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,$s(e)-$s(t))+1},sc=function(){return new cc};function cc(){this.reset()}cc.prototype={constructor:cc,reset:function(){this.s=this.t=0},add:function(t){lc(uc,t,this.t),lc(this,uc.s,this.s),this.s?this.t+=uc.t:this.s=uc.t},valueOf:function(){return this.s}};var uc=new cc;function lc(t,e,n){var r=t.s=e+n,i=r-e,a=r-i;t.t=e-a+(n-i)}var hc=Math.PI,fc=hc/2,dc=hc/4,pc=2*hc,gc=180/hc,yc=hc/180,vc=Math.abs,mc=Math.atan,bc=Math.atan2,xc=Math.cos,_c=Math.ceil,kc=Math.exp,wc=(Math.floor,Math.log),Ec=Math.pow,Tc=Math.sin,Cc=Math.sign||function(t){return t>0?1:t<0?-1:0},Ac=Math.sqrt,Sc=Math.tan;function Mc(t){return t>1?0:t<-1?hc:Math.acos(t)}function Oc(t){return t>1?fc:t<-1?-fc:Math.asin(t)}function Dc(t){return(t=Tc(t/2))*t}function Nc(){}function Bc(t,e){t&&Pc.hasOwnProperty(t.type)&&Pc[t.type](t,e)}var Lc={Feature:function(t,e){Bc(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)Bc(n[r].geometry,e)}},Pc={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){Ic(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)Ic(n[r],e,0)},Polygon:function(t,e){Fc(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)Fc(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)Bc(n[r],e)}};function Ic(t,e,n){var r,i=-1,a=t.length-n;for(e.lineStart();++i<a;)r=t[i],e.point(r[0],r[1],r[2]);e.lineEnd()}function Fc(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)Ic(t[n],e,1);e.polygonEnd()}var jc,Rc,Yc,zc,Uc,$c=function(t,e){t&&Lc.hasOwnProperty(t.type)?Lc[t.type](t,e):Bc(t,e)},Wc=sc(),Hc=sc(),Vc={point:Nc,lineStart:Nc,lineEnd:Nc,polygonStart:function(){Wc.reset(),Vc.lineStart=Gc,Vc.lineEnd=qc},polygonEnd:function(){var t=+Wc;Hc.add(t<0?pc+t:t),this.lineStart=this.lineEnd=this.point=Nc},sphere:function(){Hc.add(pc)}};function Gc(){Vc.point=Xc}function qc(){Zc(jc,Rc)}function Xc(t,e){Vc.point=Zc,jc=t,Rc=e,Yc=t*=yc,zc=xc(e=(e*=yc)/2+dc),Uc=Tc(e)}function Zc(t,e){var n=(t*=yc)-Yc,r=n>=0?1:-1,i=r*n,a=xc(e=(e*=yc)/2+dc),o=Tc(e),s=Uc*o,c=zc*a+s*xc(i),u=s*r*Tc(i);Wc.add(bc(u,c)),Yc=t,zc=a,Uc=o}var Jc=function(t){return Hc.reset(),$c(t,Vc),2*Hc};function Kc(t){return[bc(t[1],t[0]),Oc(t[2])]}function Qc(t){var e=t[0],n=t[1],r=xc(n);return[r*xc(e),r*Tc(e),Tc(n)]}function tu(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function eu(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function nu(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function ru(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function iu(t){var e=Ac(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var au,ou,su,cu,uu,lu,hu,fu,du,pu,gu=sc(),yu={point:vu,lineStart:bu,lineEnd:xu,polygonStart:function(){yu.point=_u,yu.lineStart=ku,yu.lineEnd=wu,gu.reset(),Vc.polygonStart()},polygonEnd:function(){Vc.polygonEnd(),yu.point=vu,yu.lineStart=bu,yu.lineEnd=xu,Wc<0?(au=-(su=180),ou=-(cu=90)):gu>1e-6?cu=90:gu<-1e-6&&(ou=-90),pu[0]=au,pu[1]=su},sphere:function(){au=-(su=180),ou=-(cu=90)}};function vu(t,e){du.push(pu=[au=t,su=t]),e<ou&&(ou=e),e>cu&&(cu=e)}function mu(t,e){var n=Qc([t*yc,e*yc]);if(fu){var r=eu(fu,n),i=eu([r[1],-r[0],0],r);iu(i),i=Kc(i);var a,o=t-uu,s=o>0?1:-1,c=i[0]*gc*s,u=vc(o)>180;u^(s*uu<c&&c<s*t)?(a=i[1]*gc)>cu&&(cu=a):u^(s*uu<(c=(c+360)%360-180)&&c<s*t)?(a=-i[1]*gc)<ou&&(ou=a):(e<ou&&(ou=e),e>cu&&(cu=e)),u?t<uu?Eu(au,t)>Eu(au,su)&&(su=t):Eu(t,su)>Eu(au,su)&&(au=t):su>=au?(t<au&&(au=t),t>su&&(su=t)):t>uu?Eu(au,t)>Eu(au,su)&&(su=t):Eu(t,su)>Eu(au,su)&&(au=t)}else du.push(pu=[au=t,su=t]);e<ou&&(ou=e),e>cu&&(cu=e),fu=n,uu=t}function bu(){yu.point=mu}function xu(){pu[0]=au,pu[1]=su,yu.point=vu,fu=null}function _u(t,e){if(fu){var n=t-uu;gu.add(vc(n)>180?n+(n>0?360:-360):n)}else lu=t,hu=e;Vc.point(t,e),mu(t,e)}function ku(){Vc.lineStart()}function wu(){_u(lu,hu),Vc.lineEnd(),vc(gu)>1e-6&&(au=-(su=180)),pu[0]=au,pu[1]=su,fu=null}function Eu(t,e){return(e-=t)<0?e+360:e}function Tu(t,e){return t[0]-e[0]}function Cu(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}var Au,Su,Mu,Ou,Du,Nu,Bu,Lu,Pu,Iu,Fu,ju,Ru,Yu,zu,Uu,$u=function(t){var e,n,r,i,a,o,s;if(cu=su=-(au=ou=1/0),du=[],$c(t,yu),n=du.length){for(du.sort(Tu),e=1,a=[r=du[0]];e<n;++e)Cu(r,(i=du[e])[0])||Cu(r,i[1])?(Eu(r[0],i[1])>Eu(r[0],r[1])&&(r[1]=i[1]),Eu(i[0],r[1])>Eu(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,e=0,r=a[n=a.length-1];e<=n;r=i,++e)i=a[e],(s=Eu(r[1],i[0]))>o&&(o=s,au=i[0],su=r[1])}return du=pu=null,au===1/0||ou===1/0?[[NaN,NaN],[NaN,NaN]]:[[au,ou],[su,cu]]},Wu={sphere:Nc,point:Hu,lineStart:Gu,lineEnd:Zu,polygonStart:function(){Wu.lineStart=Ju,Wu.lineEnd=Ku},polygonEnd:function(){Wu.lineStart=Gu,Wu.lineEnd=Zu}};function Hu(t,e){t*=yc;var n=xc(e*=yc);Vu(n*xc(t),n*Tc(t),Tc(e))}function Vu(t,e,n){++Au,Mu+=(t-Mu)/Au,Ou+=(e-Ou)/Au,Du+=(n-Du)/Au}function Gu(){Wu.point=qu}function qu(t,e){t*=yc;var n=xc(e*=yc);Yu=n*xc(t),zu=n*Tc(t),Uu=Tc(e),Wu.point=Xu,Vu(Yu,zu,Uu)}function Xu(t,e){t*=yc;var n=xc(e*=yc),r=n*xc(t),i=n*Tc(t),a=Tc(e),o=bc(Ac((o=zu*a-Uu*i)*o+(o=Uu*r-Yu*a)*o+(o=Yu*i-zu*r)*o),Yu*r+zu*i+Uu*a);Su+=o,Nu+=o*(Yu+(Yu=r)),Bu+=o*(zu+(zu=i)),Lu+=o*(Uu+(Uu=a)),Vu(Yu,zu,Uu)}function Zu(){Wu.point=Hu}function Ju(){Wu.point=Qu}function Ku(){tl(ju,Ru),Wu.point=Hu}function Qu(t,e){ju=t,Ru=e,t*=yc,e*=yc,Wu.point=tl;var n=xc(e);Yu=n*xc(t),zu=n*Tc(t),Uu=Tc(e),Vu(Yu,zu,Uu)}function tl(t,e){t*=yc;var n=xc(e*=yc),r=n*xc(t),i=n*Tc(t),a=Tc(e),o=zu*a-Uu*i,s=Uu*r-Yu*a,c=Yu*i-zu*r,u=Ac(o*o+s*s+c*c),l=Oc(u),h=u&&-l/u;Pu+=h*o,Iu+=h*s,Fu+=h*c,Su+=l,Nu+=l*(Yu+(Yu=r)),Bu+=l*(zu+(zu=i)),Lu+=l*(Uu+(Uu=a)),Vu(Yu,zu,Uu)}var el=function(t){Au=Su=Mu=Ou=Du=Nu=Bu=Lu=Pu=Iu=Fu=0,$c(t,Wu);var e=Pu,n=Iu,r=Fu,i=e*e+n*n+r*r;return i<1e-12&&(e=Nu,n=Bu,r=Lu,Su<1e-6&&(e=Mu,n=Ou,r=Du),(i=e*e+n*n+r*r)<1e-12)?[NaN,NaN]:[bc(n,e)*gc,Oc(r/Ac(i))*gc]},nl=function(t){return function(){return t}},rl=function(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,r){return(n=e.invert(n,r))&&t.invert(n[0],n[1])}),n};function il(t,e){return[vc(t)>hc?t+Math.round(-t/pc)*pc:t,e]}function al(t,e,n){return(t%=pc)?e||n?rl(sl(t),cl(e,n)):sl(t):e||n?cl(e,n):il}function ol(t){return function(e,n){return[(e+=t)>hc?e-pc:e<-hc?e+pc:e,n]}}function sl(t){var e=ol(t);return e.invert=ol(-t),e}function cl(t,e){var n=xc(t),r=Tc(t),i=xc(e),a=Tc(e);function o(t,e){var o=xc(e),s=xc(t)*o,c=Tc(t)*o,u=Tc(e),l=u*n+s*r;return[bc(c*i-l*a,s*n-u*r),Oc(l*i+c*a)]}return o.invert=function(t,e){var o=xc(e),s=xc(t)*o,c=Tc(t)*o,u=Tc(e),l=u*i-c*a;return[bc(c*i+u*a,s*n+l*r),Oc(l*n-s*r)]},o}il.invert=il;var ul=function(t){function e(e){return(e=t(e[0]*yc,e[1]*yc))[0]*=gc,e[1]*=gc,e}return t=al(t[0]*yc,t[1]*yc,t.length>2?t[2]*yc:0),e.invert=function(e){return(e=t.invert(e[0]*yc,e[1]*yc))[0]*=gc,e[1]*=gc,e},e};function ll(t,e,n,r,i,a){if(n){var o=xc(e),s=Tc(e),c=r*n;null==i?(i=e+r*pc,a=e-c/2):(i=hl(o,i),a=hl(o,a),(r>0?i<a:i>a)&&(i+=r*pc));for(var u,l=i;r>0?l>a:l<a;l-=c)u=Kc([o,-s*xc(l),-s*Tc(l)]),t.point(u[0],u[1])}}function hl(t,e){(e=Qc(e))[0]-=t,iu(e);var n=Mc(-e[1]);return((-e[2]<0?-n:n)+pc-1e-6)%pc}var fl=function(){var t,e,n=nl([0,0]),r=nl(90),i=nl(6),a={point:function(n,r){t.push(n=e(n,r)),n[0]*=gc,n[1]*=gc}};function o(){var o=n.apply(this,arguments),s=r.apply(this,arguments)*yc,c=i.apply(this,arguments)*yc;return t=[],e=al(-o[0]*yc,-o[1]*yc,0).invert,ll(a,s,c,1),o={type:"Polygon",coordinates:[t]},t=e=null,o}return o.center=function(t){return arguments.length?(n="function"==typeof t?t:nl([+t[0],+t[1]]),o):n},o.radius=function(t){return arguments.length?(r="function"==typeof t?t:nl(+t),o):r},o.precision=function(t){return arguments.length?(i="function"==typeof t?t:nl(+t),o):i},o},dl=function(){var t,e=[];return{point:function(e,n){t.push([e,n])},lineStart:function(){e.push(t=[])},lineEnd:Nc,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}},pl=function(t,e){return vc(t[0]-e[0])<1e-6&&vc(t[1]-e[1])<1e-6};function gl(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}var yl=function(t,e,n,r,i){var a,o,s=[],c=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,n,r=t[0],o=t[e];if(pl(r,o)){for(i.lineStart(),a=0;a<e;++a)i.point((r=t[a])[0],r[1]);i.lineEnd()}else s.push(n=new gl(r,t,null,!0)),c.push(n.o=new gl(r,null,n,!1)),s.push(n=new gl(o,t,null,!1)),c.push(n.o=new gl(o,null,n,!0))}})),s.length){for(c.sort(e),vl(s),vl(c),a=0,o=c.length;a<o;++a)c[a].e=n=!n;for(var u,l,h=s[0];;){for(var f=h,d=!0;f.v;)if((f=f.n)===h)return;u=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(d)for(a=0,o=u.length;a<o;++a)i.point((l=u[a])[0],l[1]);else r(f.x,f.n.x,1,i);f=f.n}else{if(d)for(u=f.p.z,a=u.length-1;a>=0;--a)i.point((l=u[a])[0],l[1]);else r(f.x,f.p.x,-1,i);f=f.p}u=(f=f.o).z,d=!d}while(!f.v);i.lineEnd()}}};function vl(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r<e;)i.n=n=t[r],n.p=i,i=n;i.n=n=t[0],n.p=i}}var ml=sc();function bl(t){return vc(t[0])<=hc?t[0]:Cc(t[0])*((vc(t[0])+hc)%pc-hc)}var xl=function(t,e){var n=bl(e),r=e[1],i=Tc(r),a=[Tc(n),-xc(n),0],o=0,s=0;ml.reset(),1===i?r=fc+1e-6:-1===i&&(r=-fc-1e-6);for(var c=0,u=t.length;c<u;++c)if(h=(l=t[c]).length)for(var l,h,f=l[h-1],d=bl(f),p=f[1]/2+dc,g=Tc(p),y=xc(p),v=0;v<h;++v,d=b,g=_,y=k,f=m){var m=l[v],b=bl(m),x=m[1]/2+dc,_=Tc(x),k=xc(x),w=b-d,E=w>=0?1:-1,T=E*w,C=T>hc,A=g*_;if(ml.add(bc(A*E*Tc(T),y*k+A*xc(T))),o+=C?w+E*pc:w,C^d>=n^b>=n){var S=eu(Qc(f),Qc(m));iu(S);var M=eu(a,S);iu(M);var O=(C^w>=0?-1:1)*Oc(M[2]);(r>O||r===O&&(S[0]||S[1]))&&(s+=C^w>=0?1:-1)}}return(o<-1e-6||o<1e-6&&ml<-1e-6)^1&s},_l=function(t,e,n,r){return function(i){var a,o,s,c=e(i),u=dl(),l=e(u),h=!1,f={point:d,lineStart:g,lineEnd:y,polygonStart:function(){f.point=v,f.lineStart=m,f.lineEnd=b,o=[],a=[]},polygonEnd:function(){f.point=d,f.lineStart=g,f.lineEnd=y,o=F(o);var t=xl(a,r);o.length?(h||(i.polygonStart(),h=!0),yl(o,wl,t,n,i)):t&&(h||(i.polygonStart(),h=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),h&&(i.polygonEnd(),h=!1),o=a=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function d(e,n){t(e,n)&&i.point(e,n)}function p(t,e){c.point(t,e)}function g(){f.point=p,c.lineStart()}function y(){f.point=d,c.lineEnd()}function v(t,e){s.push([t,e]),l.point(t,e)}function m(){l.lineStart(),s=[]}function b(){v(s[0][0],s[0][1]),l.lineEnd();var t,e,n,r,c=l.clean(),f=u.result(),d=f.length;if(s.pop(),a.push(s),s=null,d)if(1&c){if((e=(n=f[0]).length-1)>0){for(h||(i.polygonStart(),h=!0),i.lineStart(),t=0;t<e;++t)i.point((r=n[t])[0],r[1]);i.lineEnd()}}else d>1&&2&c&&f.push(f.pop().concat(f.shift())),o.push(f.filter(kl))}return f}};function kl(t){return t.length>1}function wl(t,e){return((t=t.x)[0]<0?t[1]-fc-1e-6:fc-t[1])-((e=e.x)[0]<0?e[1]-fc-1e-6:fc-e[1])}var El=_l((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?hc:-hc,c=vc(a-n);vc(c-hc)<1e-6?(t.point(n,r=(r+o)/2>0?fc:-fc),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(a,r),e=0):i!==s&&c>=hc&&(vc(n-i)<1e-6&&(n-=1e-6*i),vc(a-s)<1e-6&&(a-=1e-6*s),r=function(t,e,n,r){var i,a,o=Tc(t-n);return vc(o)>1e-6?mc((Tc(e)*(a=xc(r))*Tc(n)-Tc(r)*(i=xc(e))*Tc(t))/(i*a*o)):(e+r)/2}(n,r,a,o),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),e=0),t.point(n=a,r=o),i=s},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*fc,r.point(-hc,i),r.point(0,i),r.point(hc,i),r.point(hc,0),r.point(hc,-i),r.point(0,-i),r.point(-hc,-i),r.point(-hc,0),r.point(-hc,i);else if(vc(t[0]-e[0])>1e-6){var a=t[0]<e[0]?hc:-hc;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(e[0],e[1])}),[-hc,-fc]);var Tl=function(t){var e=xc(t),n=6*yc,r=e>0,i=vc(e)>1e-6;function a(t,n){return xc(t)*xc(n)>e}function o(t,n,r){var i=[1,0,0],a=eu(Qc(t),Qc(n)),o=tu(a,a),s=a[0],c=o-s*s;if(!c)return!r&&t;var u=e*o/c,l=-e*s/c,h=eu(i,a),f=ru(i,u);nu(f,ru(a,l));var d=h,p=tu(f,d),g=tu(d,d),y=p*p-g*(tu(f,f)-1);if(!(y<0)){var v=Ac(y),m=ru(d,(-p-v)/g);if(nu(m,f),m=Kc(m),!r)return m;var b,x=t[0],_=n[0],k=t[1],w=n[1];_<x&&(b=x,x=_,_=b);var E=_-x,T=vc(E-hc)<1e-6;if(!T&&w<k&&(b=k,k=w,w=b),T||E<1e-6?T?k+w>0^m[1]<(vc(m[0]-x)<1e-6?k:w):k<=m[1]&&m[1]<=w:E>hc^(x<=m[0]&&m[0]<=_)){var C=ru(d,(-p+v)/g);return nu(C,f),[m,Kc(C)]}}}function s(e,n){var i=r?t:hc-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}return _l(a,(function(t){var e,n,c,u,l;return{lineStart:function(){u=c=!1,l=1},point:function(h,f){var d,p=[h,f],g=a(h,f),y=r?g?0:s(h,f):g?s(h+(h<0?hc:-hc),f):0;if(!e&&(u=c=g)&&t.lineStart(),g!==c&&(!(d=o(e,p))||pl(e,d)||pl(p,d))&&(p[0]+=1e-6,p[1]+=1e-6,g=a(p[0],p[1])),g!==c)l=0,g?(t.lineStart(),d=o(p,e),t.point(d[0],d[1])):(d=o(e,p),t.point(d[0],d[1]),t.lineEnd()),e=d;else if(i&&e&&r^g){var v;y&n||!(v=o(p,e,!0))||(l=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||e&&pl(e,p)||t.point(p[0],p[1]),e=p,c=g,n=y},lineEnd:function(){c&&t.lineEnd(),e=null},clean:function(){return l|(u&&c)<<1}}}),(function(e,r,i,a){ll(a,t,n,i,e,r)}),r?[0,-t]:[-hc,t-hc])};function Cl(t,e,n,r){function i(i,a){return t<=i&&i<=n&&e<=a&&a<=r}function a(i,a,s,u){var l=0,h=0;if(null==i||(l=o(i,s))!==(h=o(a,s))||c(i,a)<0^s>0)do{u.point(0===l||3===l?t:n,l>1?r:e)}while((l=(l+s+4)%4)!==h);else u.point(a[0],a[1])}function o(r,i){return vc(r[0]-t)<1e-6?i>0?0:3:vc(r[0]-n)<1e-6?i>0?2:1:vc(r[1]-e)<1e-6?i>0?1:0:i>0?3:2}function s(t,e){return c(t.x,e.x)}function c(t,e){var n=o(t,1),r=o(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(o){var c,u,l,h,f,d,p,g,y,v,m,b=o,x=dl(),_={point:k,lineStart:function(){_.point=w,u&&u.push(l=[]);v=!0,y=!1,p=g=NaN},lineEnd:function(){c&&(w(h,f),d&&y&&x.rejoin(),c.push(x.result()));_.point=k,y&&b.lineEnd()},polygonStart:function(){b=x,c=[],u=[],m=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=u.length;n<i;++n)for(var a,o,s=u[n],c=1,l=s.length,h=s[0],f=h[0],d=h[1];c<l;++c)a=f,o=d,h=s[c],f=h[0],d=h[1],o<=r?d>r&&(f-a)*(r-o)>(d-o)*(t-a)&&++e:d<=r&&(f-a)*(r-o)<(d-o)*(t-a)&&--e;return e}(),n=m&&e,i=(c=F(c)).length;(n||i)&&(o.polygonStart(),n&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),i&&yl(c,s,e,a,o),o.polygonEnd());b=o,c=u=l=null}};function k(t,e){i(t,e)&&b.point(t,e)}function w(a,o){var s=i(a,o);if(u&&l.push([a,o]),v)h=a,f=o,d=s,v=!1,s&&(b.lineStart(),b.point(a,o));else if(s&&y)b.point(a,o);else{var c=[p=Math.max(-1e9,Math.min(1e9,p)),g=Math.max(-1e9,Math.min(1e9,g))],x=[a=Math.max(-1e9,Math.min(1e9,a)),o=Math.max(-1e9,Math.min(1e9,o))];!function(t,e,n,r,i,a){var o,s=t[0],c=t[1],u=0,l=1,h=e[0]-s,f=e[1]-c;if(o=n-s,h||!(o>0)){if(o/=h,h<0){if(o<u)return;o<l&&(l=o)}else if(h>0){if(o>l)return;o>u&&(u=o)}if(o=i-s,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>u&&(u=o)}else if(h>0){if(o<u)return;o<l&&(l=o)}if(o=r-c,f||!(o>0)){if(o/=f,f<0){if(o<u)return;o<l&&(l=o)}else if(f>0){if(o>l)return;o>u&&(u=o)}if(o=a-c,f||!(o<0)){if(o/=f,f<0){if(o>l)return;o>u&&(u=o)}else if(f>0){if(o<u)return;o<l&&(l=o)}return u>0&&(t[0]=s+u*h,t[1]=c+u*f),l<1&&(e[0]=s+l*h,e[1]=c+l*f),!0}}}}}(c,x,t,e,n,r)?s&&(b.lineStart(),b.point(a,o),m=!1):(y||(b.lineStart(),b.point(c[0],c[1])),b.point(x[0],x[1]),s||b.lineEnd(),m=!1)}p=a,g=o,y=s}return _}}var Al,Sl,Ml,Ol=function(){var t,e,n,r=0,i=0,a=960,o=500;return n={stream:function(n){return t&&e===n?t:t=Cl(r,i,a,o)(e=n)},extent:function(s){return arguments.length?(r=+s[0][0],i=+s[0][1],a=+s[1][0],o=+s[1][1],t=e=null,n):[[r,i],[a,o]]}}},Dl=sc(),Nl={sphere:Nc,point:Nc,lineStart:function(){Nl.point=Ll,Nl.lineEnd=Bl},lineEnd:Nc,polygonStart:Nc,polygonEnd:Nc};function Bl(){Nl.point=Nl.lineEnd=Nc}function Ll(t,e){Al=t*=yc,Sl=Tc(e*=yc),Ml=xc(e),Nl.point=Pl}function Pl(t,e){t*=yc;var n=Tc(e*=yc),r=xc(e),i=vc(t-Al),a=xc(i),o=r*Tc(i),s=Ml*n-Sl*r*a,c=Sl*n+Ml*r*a;Dl.add(bc(Ac(o*o+s*s),c)),Al=t,Sl=n,Ml=r}var Il=function(t){return Dl.reset(),$c(t,Nl),+Dl},Fl=[null,null],jl={type:"LineString",coordinates:Fl},Rl=function(t,e){return Fl[0]=t,Fl[1]=e,Il(jl)},Yl={Feature:function(t,e){return Ul(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r<i;)if(Ul(n[r].geometry,e))return!0;return!1}},zl={Sphere:function(){return!0},Point:function(t,e){return $l(t.coordinates,e)},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if($l(n[r],e))return!0;return!1},LineString:function(t,e){return Wl(t.coordinates,e)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(Wl(n[r],e))return!0;return!1},Polygon:function(t,e){return Hl(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,i=n.length;++r<i;)if(Hl(n[r],e))return!0;return!1},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,i=n.length;++r<i;)if(Ul(n[r],e))return!0;return!1}};function Ul(t,e){return!(!t||!zl.hasOwnProperty(t.type))&&zl[t.type](t,e)}function $l(t,e){return 0===Rl(t,e)}function Wl(t,e){for(var n,r,i,a=0,o=t.length;a<o;a++){if(0===(r=Rl(t[a],e)))return!0;if(a>0&&(i=Rl(t[a],t[a-1]))>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))<1e-12*i)return!0;n=r}return!1}function Hl(t,e){return!!xl(t.map(Vl),Gl(e))}function Vl(t){return(t=t.map(Gl)).pop(),t}function Gl(t){return[t[0]*yc,t[1]*yc]}var ql=function(t,e){return(t&&Yl.hasOwnProperty(t.type)?Yl[t.type]:Ul)(t,e)};function Xl(t,e,n){var r=k(t,e-1e-6,n).concat(e);return function(t){return r.map((function(e){return[t,e]}))}}function Zl(t,e,n){var r=k(t,e-1e-6,n).concat(e);return function(t){return r.map((function(e){return[e,t]}))}}function Jl(){var t,e,n,r,i,a,o,s,c,u,l,h,f=10,d=f,p=90,g=360,y=2.5;function v(){return{type:"MultiLineString",coordinates:m()}}function m(){return k(_c(r/p)*p,n,p).map(l).concat(k(_c(s/g)*g,o,g).map(h)).concat(k(_c(e/f)*f,t,f).filter((function(t){return vc(t%p)>1e-6})).map(c)).concat(k(_c(a/d)*d,i,d).filter((function(t){return vc(t%g)>1e-6})).map(u))}return v.lines=function(){return m().map((function(t){return{type:"LineString",coordinates:t}}))},v.outline=function(){return{type:"Polygon",coordinates:[l(r).concat(h(o).slice(1),l(n).reverse().slice(1),h(s).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(r=+t[0][0],n=+t[1][0],s=+t[0][1],o=+t[1][1],r>n&&(t=r,r=n,n=t),s>o&&(t=s,s=o,o=t),v.precision(y)):[[r,s],[n,o]]},v.extentMinor=function(n){return arguments.length?(e=+n[0][0],t=+n[1][0],a=+n[0][1],i=+n[1][1],e>t&&(n=e,e=t,t=n),a>i&&(n=a,a=i,i=n),v.precision(y)):[[e,a],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(p=+t[0],g=+t[1],v):[p,g]},v.stepMinor=function(t){return arguments.length?(f=+t[0],d=+t[1],v):[f,d]},v.precision=function(f){return arguments.length?(y=+f,c=Xl(a,i,90),u=Zl(e,t,y),l=Xl(s,o,90),h=Zl(r,n,y),v):y},v.extentMajor([[-180,1e-6-90],[180,90-1e-6]]).extentMinor([[-180,-80-1e-6],[180,80+1e-6]])}function Kl(){return Jl()()}var Ql,th,eh,nh,rh=function(t,e){var n=t[0]*yc,r=t[1]*yc,i=e[0]*yc,a=e[1]*yc,o=xc(r),s=Tc(r),c=xc(a),u=Tc(a),l=o*xc(n),h=o*Tc(n),f=c*xc(i),d=c*Tc(i),p=2*Oc(Ac(Dc(a-r)+o*c*Dc(i-n))),g=Tc(p),y=p?function(t){var e=Tc(t*=p)/g,n=Tc(p-t)/g,r=n*l+e*f,i=n*h+e*d,a=n*s+e*u;return[bc(i,r)*gc,bc(a,Ac(r*r+i*i))*gc]}:function(){return[n*gc,r*gc]};return y.distance=p,y},ih=function(t){return t},ah=sc(),oh=sc(),sh={point:Nc,lineStart:Nc,lineEnd:Nc,polygonStart:function(){sh.lineStart=ch,sh.lineEnd=hh},polygonEnd:function(){sh.lineStart=sh.lineEnd=sh.point=Nc,ah.add(vc(oh)),oh.reset()},result:function(){var t=ah/2;return ah.reset(),t}};function ch(){sh.point=uh}function uh(t,e){sh.point=lh,Ql=eh=t,th=nh=e}function lh(t,e){oh.add(nh*t-eh*e),eh=t,nh=e}function hh(){lh(Ql,th)}var fh=sh,dh=1/0,ph=dh,gh=-dh,yh=gh;var vh,mh,bh,xh,_h={point:function(t,e){t<dh&&(dh=t);t>gh&&(gh=t);e<ph&&(ph=e);e>yh&&(yh=e)},lineStart:Nc,lineEnd:Nc,polygonStart:Nc,polygonEnd:Nc,result:function(){var t=[[dh,ph],[gh,yh]];return gh=yh=-(ph=dh=1/0),t}},kh=0,wh=0,Eh=0,Th=0,Ch=0,Ah=0,Sh=0,Mh=0,Oh=0,Dh={point:Nh,lineStart:Bh,lineEnd:Ih,polygonStart:function(){Dh.lineStart=Fh,Dh.lineEnd=jh},polygonEnd:function(){Dh.point=Nh,Dh.lineStart=Bh,Dh.lineEnd=Ih},result:function(){var t=Oh?[Sh/Oh,Mh/Oh]:Ah?[Th/Ah,Ch/Ah]:Eh?[kh/Eh,wh/Eh]:[NaN,NaN];return kh=wh=Eh=Th=Ch=Ah=Sh=Mh=Oh=0,t}};function Nh(t,e){kh+=t,wh+=e,++Eh}function Bh(){Dh.point=Lh}function Lh(t,e){Dh.point=Ph,Nh(bh=t,xh=e)}function Ph(t,e){var n=t-bh,r=e-xh,i=Ac(n*n+r*r);Th+=i*(bh+t)/2,Ch+=i*(xh+e)/2,Ah+=i,Nh(bh=t,xh=e)}function Ih(){Dh.point=Nh}function Fh(){Dh.point=Rh}function jh(){Yh(vh,mh)}function Rh(t,e){Dh.point=Yh,Nh(vh=bh=t,mh=xh=e)}function Yh(t,e){var n=t-bh,r=e-xh,i=Ac(n*n+r*r);Th+=i*(bh+t)/2,Ch+=i*(xh+e)/2,Ah+=i,Sh+=(i=xh*t-bh*e)*(bh+t),Mh+=i*(xh+e),Oh+=3*i,Nh(bh=t,xh=e)}var zh=Dh;function Uh(t){this._context=t}Uh.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,pc)}},result:Nc};var $h,Wh,Hh,Vh,Gh,qh=sc(),Xh={point:Nc,lineStart:function(){Xh.point=Zh},lineEnd:function(){$h&&Jh(Wh,Hh),Xh.point=Nc},polygonStart:function(){$h=!0},polygonEnd:function(){$h=null},result:function(){var t=+qh;return qh.reset(),t}};function Zh(t,e){Xh.point=Jh,Wh=Vh=t,Hh=Gh=e}function Jh(t,e){Vh-=t,Gh-=e,qh.add(Ac(Vh*Vh+Gh*Gh)),Vh=t,Gh=e}var Kh=Xh;function Qh(){this._string=[]}function tf(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}Qh.prototype={_radius:4.5,_circle:tf(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=tf(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var ef=function(t,e){var n,r,i=4.5;function a(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),$c(t,n(r))),r.result()}return a.area=function(t){return $c(t,n(fh)),fh.result()},a.measure=function(t){return $c(t,n(Kh)),Kh.result()},a.bounds=function(t){return $c(t,n(_h)),_h.result()},a.centroid=function(t){return $c(t,n(zh)),zh.result()},a.projection=function(e){return arguments.length?(n=null==e?(t=null,ih):(t=e).stream,a):t},a.context=function(t){return arguments.length?(r=null==t?(e=null,new Qh):new Uh(e=t),"function"!=typeof i&&r.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(r.pointRadius(+t),+t),a):i},a.projection(t).context(e)},nf=function(t){return{stream:rf(t)}};function rf(t){return function(e){var n=new af;for(var r in t)n[r]=t[r];return n.stream=e,n}}function af(){}function of(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),$c(n,t.stream(_h)),e(_h.result()),null!=r&&t.clipExtent(r),t}function sf(t,e,n){return of(t,(function(n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],a=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),o=+e[0][0]+(r-a*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(i-a*(n[1][1]+n[0][1]))/2;t.scale(150*a).translate([o,s])}),n)}function cf(t,e,n){return sf(t,[[0,0],e],n)}function uf(t,e,n){return of(t,(function(n){var r=+e,i=r/(n[1][0]-n[0][0]),a=(r-i*(n[1][0]+n[0][0]))/2,o=-i*n[0][1];t.scale(150*i).translate([a,o])}),n)}function lf(t,e,n){return of(t,(function(n){var r=+e,i=r/(n[1][1]-n[0][1]),a=-i*n[0][0],o=(r-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([a,o])}),n)}af.prototype={constructor:af,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var hf=xc(30*yc),ff=function(t,e){return+e?function(t,e){function n(r,i,a,o,s,c,u,l,h,f,d,p,g,y){var v=u-r,m=l-i,b=v*v+m*m;if(b>4*e&&g--){var x=o+f,_=s+d,k=c+p,w=Ac(x*x+_*_+k*k),E=Oc(k/=w),T=vc(vc(k)-1)<1e-6||vc(a-h)<1e-6?(a+h)/2:bc(_,x),C=t(T,E),A=C[0],S=C[1],M=A-r,O=S-i,D=m*M-v*O;(D*D/b>e||vc((v*M+m*O)/b-.5)>.3||o*f+s*d+c*p<hf)&&(n(r,i,a,o,s,c,A,S,T,x/=w,_/=w,k,g,y),y.point(A,S),n(A,S,T,x,_,k,u,l,h,f,d,p,g,y))}}return function(e){var r,i,a,o,s,c,u,l,h,f,d,p,g={point:y,lineStart:v,lineEnd:b,polygonStart:function(){e.polygonStart(),g.lineStart=x},polygonEnd:function(){e.polygonEnd(),g.lineStart=v}};function y(n,r){n=t(n,r),e.point(n[0],n[1])}function v(){l=NaN,g.point=m,e.lineStart()}function m(r,i){var a=Qc([r,i]),o=t(r,i);n(l,h,u,f,d,p,l=o[0],h=o[1],u=r,f=a[0],d=a[1],p=a[2],16,e),e.point(l,h)}function b(){g.point=y,e.lineEnd()}function x(){v(),g.point=_,g.lineEnd=k}function _(t,e){m(r=t,e),i=l,a=h,o=f,s=d,c=p,g.point=m}function k(){n(l,h,u,f,d,p,i,a,r,o,s,c,16,e),g.lineEnd=b,b()}return g}}(t,e):function(t){return rf({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}(t)};var df=rf({point:function(t,e){this.stream.point(t*yc,e*yc)}});function pf(t,e,n){function r(r,i){return[e+t*r,n-t*i]}return r.invert=function(r,i){return[(r-e)/t,(n-i)/t]},r}function gf(t,e,n,r){var i=xc(r),a=Tc(r),o=i*t,s=a*t,c=i/t,u=a/t,l=(a*n-i*e)/t,h=(a*e+i*n)/t;function f(t,r){return[o*t-s*r+e,n-s*t-o*r]}return f.invert=function(t,e){return[c*t-u*e+l,h-u*t-c*e]},f}function yf(t){return vf((function(){return t}))()}function vf(t){var e,n,r,i,a,o,s,c,u,l,h=150,f=480,d=250,p=0,g=0,y=0,v=0,m=0,b=0,x=null,_=El,k=null,w=ih,E=.5;function T(t){return c(t[0]*yc,t[1]*yc)}function C(t){return(t=c.invert(t[0],t[1]))&&[t[0]*gc,t[1]*gc]}function A(){var t=gf(h,0,0,b).apply(null,e(p,g)),r=(b?gf:pf)(h,f-t[0],d-t[1],b);return n=al(y,v,m),s=rl(e,r),c=rl(n,s),o=ff(s,E),S()}function S(){return u=l=null,T}return T.stream=function(t){return u&&l===t?u:u=df(function(t){return rf({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}(n)(_(o(w(l=t)))))},T.preclip=function(t){return arguments.length?(_=t,x=void 0,S()):_},T.postclip=function(t){return arguments.length?(w=t,k=r=i=a=null,S()):w},T.clipAngle=function(t){return arguments.length?(_=+t?Tl(x=t*yc):(x=null,El),S()):x*gc},T.clipExtent=function(t){return arguments.length?(w=null==t?(k=r=i=a=null,ih):Cl(k=+t[0][0],r=+t[0][1],i=+t[1][0],a=+t[1][1]),S()):null==k?null:[[k,r],[i,a]]},T.scale=function(t){return arguments.length?(h=+t,A()):h},T.translate=function(t){return arguments.length?(f=+t[0],d=+t[1],A()):[f,d]},T.center=function(t){return arguments.length?(p=t[0]%360*yc,g=t[1]%360*yc,A()):[p*gc,g*gc]},T.rotate=function(t){return arguments.length?(y=t[0]%360*yc,v=t[1]%360*yc,m=t.length>2?t[2]%360*yc:0,A()):[y*gc,v*gc,m*gc]},T.angle=function(t){return arguments.length?(b=t%360*yc,A()):b*gc},T.precision=function(t){return arguments.length?(o=ff(s,E=t*t),S()):Ac(E)},T.fitExtent=function(t,e){return sf(T,t,e)},T.fitSize=function(t,e){return cf(T,t,e)},T.fitWidth=function(t,e){return uf(T,t,e)},T.fitHeight=function(t,e){return lf(T,t,e)},function(){return e=t.apply(this,arguments),T.invert=e.invert&&C,A()}}function mf(t){var e=0,n=hc/3,r=vf(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*yc,n=t[1]*yc):[e*gc,n*gc]},i}function bf(t,e){var n=Tc(t),r=(n+Tc(e))/2;if(vc(r)<1e-6)return function(t){var e=xc(t);function n(t,n){return[t*e,Tc(n)/e]}return n.invert=function(t,n){return[t/e,Oc(n*e)]},n}(t);var i=1+n*(2*r-n),a=Ac(i)/r;function o(t,e){var n=Ac(i-2*r*Tc(e))/r;return[n*Tc(t*=r),a-n*xc(t)]}return o.invert=function(t,e){var n=a-e;return[bc(t,vc(n))/r*Cc(n),Oc((i-(t*t+n*n)*r*r)/(2*r))]},o}var xf=function(){return mf(bf).scale(155.424).center([0,33.6442])},_f=function(){return xf().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])};var kf=function(){var t,e,n,r,i,a,o=_f(),s=xf().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=xf().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(t,e){a=[t,e]}};function l(t){var e=t[0],o=t[1];return a=null,n.point(e,o),a||(r.point(e,o),a)||(i.point(e,o),a)}function h(){return t=e=null,l}return l.invert=function(t){var e=o.scale(),n=o.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?c:o).invert(t)},l.stream=function(n){return t&&e===n?t:(r=[o.stream(e=n),s.stream(n),c.stream(n)],i=r.length,t={point:function(t,e){for(var n=-1;++n<i;)r[n].point(t,e)},sphere:function(){for(var t=-1;++t<i;)r[t].sphere()},lineStart:function(){for(var t=-1;++t<i;)r[t].lineStart()},lineEnd:function(){for(var t=-1;++t<i;)r[t].lineEnd()},polygonStart:function(){for(var t=-1;++t<i;)r[t].polygonStart()},polygonEnd:function(){for(var t=-1;++t<i;)r[t].polygonEnd()}});var r,i},l.precision=function(t){return arguments.length?(o.precision(t),s.precision(t),c.precision(t),h()):o.precision()},l.scale=function(t){return arguments.length?(o.scale(t),s.scale(.35*t),c.scale(t),l.translate(o.translate())):o.scale()},l.translate=function(t){if(!arguments.length)return o.translate();var e=o.scale(),a=+t[0],l=+t[1];return n=o.translate(t).clipExtent([[a-.455*e,l-.238*e],[a+.455*e,l+.238*e]]).stream(u),r=s.translate([a-.307*e,l+.201*e]).clipExtent([[a-.425*e+1e-6,l+.12*e+1e-6],[a-.214*e-1e-6,l+.234*e-1e-6]]).stream(u),i=c.translate([a-.205*e,l+.212*e]).clipExtent([[a-.214*e+1e-6,l+.166*e+1e-6],[a-.115*e-1e-6,l+.234*e-1e-6]]).stream(u),h()},l.fitExtent=function(t,e){return sf(l,t,e)},l.fitSize=function(t,e){return cf(l,t,e)},l.fitWidth=function(t,e){return uf(l,t,e)},l.fitHeight=function(t,e){return lf(l,t,e)},l.scale(1070)};function wf(t){return function(e,n){var r=xc(e),i=xc(n),a=t(r*i);return[a*i*Tc(e),a*Tc(n)]}}function Ef(t){return function(e,n){var r=Ac(e*e+n*n),i=t(r),a=Tc(i),o=xc(i);return[bc(e*a,r*o),Oc(r&&n*a/r)]}}var Tf=wf((function(t){return Ac(2/(1+t))}));Tf.invert=Ef((function(t){return 2*Oc(t/2)}));var Cf=function(){return yf(Tf).scale(124.75).clipAngle(179.999)},Af=wf((function(t){return(t=Mc(t))&&t/Tc(t)}));Af.invert=Ef((function(t){return t}));var Sf=function(){return yf(Af).scale(79.4188).clipAngle(179.999)};function Mf(t,e){return[t,wc(Sc((fc+e)/2))]}Mf.invert=function(t,e){return[t,2*mc(kc(e))-fc]};var Of=function(){return Df(Mf).scale(961/pc)};function Df(t){var e,n,r,i=yf(t),a=i.center,o=i.scale,s=i.translate,c=i.clipExtent,u=null;function l(){var a=hc*o(),s=i(ul(i.rotate()).invert([0,0]));return c(null==u?[[s[0]-a,s[1]-a],[s[0]+a,s[1]+a]]:t===Mf?[[Math.max(s[0]-a,u),e],[Math.min(s[0]+a,n),r]]:[[u,Math.max(s[1]-a,e)],[n,Math.min(s[1]+a,r)]])}return i.scale=function(t){return arguments.length?(o(t),l()):o()},i.translate=function(t){return arguments.length?(s(t),l()):s()},i.center=function(t){return arguments.length?(a(t),l()):a()},i.clipExtent=function(t){return arguments.length?(null==t?u=e=n=r=null:(u=+t[0][0],e=+t[0][1],n=+t[1][0],r=+t[1][1]),l()):null==u?null:[[u,e],[n,r]]},l()}function Nf(t){return Sc((fc+t)/2)}function Bf(t,e){var n=xc(t),r=t===e?Tc(t):wc(n/xc(e))/wc(Nf(e)/Nf(t)),i=n*Ec(Nf(t),r)/r;if(!r)return Mf;function a(t,e){i>0?e<1e-6-fc&&(e=1e-6-fc):e>fc-1e-6&&(e=fc-1e-6);var n=i/Ec(Nf(e),r);return[n*Tc(r*t),i-n*xc(r*t)]}return a.invert=function(t,e){var n=i-e,a=Cc(r)*Ac(t*t+n*n);return[bc(t,vc(n))/r*Cc(n),2*mc(Ec(i/a,1/r))-fc]},a}var Lf=function(){return mf(Bf).scale(109.5).parallels([30,30])};function Pf(t,e){return[t,e]}Pf.invert=Pf;var If=function(){return yf(Pf).scale(152.63)};function Ff(t,e){var n=xc(t),r=t===e?Tc(t):(n-xc(e))/(e-t),i=n/r+t;if(vc(r)<1e-6)return Pf;function a(t,e){var n=i-e,a=r*t;return[n*Tc(a),i-n*xc(a)]}return a.invert=function(t,e){var n=i-e;return[bc(t,vc(n))/r*Cc(n),i-Cc(r)*Ac(t*t+n*n)]},a}var jf=function(){return mf(Ff).scale(131.154).center([0,13.9389])},Rf=1.340264,Yf=-.081106,zf=893e-6,Uf=.003796,$f=Ac(3)/2;function Wf(t,e){var n=Oc($f*Tc(e)),r=n*n,i=r*r*r;return[t*xc(n)/($f*(Rf+3*Yf*r+i*(7*zf+9*Uf*r))),n*(Rf+Yf*r+i*(zf+Uf*r))]}Wf.invert=function(t,e){for(var n,r=e,i=r*r,a=i*i*i,o=0;o<12&&(a=(i=(r-=n=(r*(Rf+Yf*i+a*(zf+Uf*i))-e)/(Rf+3*Yf*i+a*(7*zf+9*Uf*i)))*r)*i*i,!(vc(n)<1e-12));++o);return[$f*t*(Rf+3*Yf*i+a*(7*zf+9*Uf*i))/xc(r),Oc(Tc(r)/$f)]};var Hf=function(){return yf(Wf).scale(177.158)};function Vf(t,e){var n=xc(e),r=xc(t)*n;return[n*Tc(t)/r,Tc(e)/r]}Vf.invert=Ef(mc);var Gf=function(){return yf(Vf).scale(144.049).clipAngle(60)};function qf(t,e,n,r){return 1===t&&1===e&&0===n&&0===r?ih:rf({point:function(i,a){this.stream.point(i*t+n,a*e+r)}})}var Xf=function(){var t,e,n,r,i,a,o=1,s=0,c=0,u=1,l=1,h=ih,f=null,d=ih;function p(){return r=i=null,a}return a={stream:function(t){return r&&i===t?r:r=h(d(i=t))},postclip:function(r){return arguments.length?(d=r,f=t=e=n=null,p()):d},clipExtent:function(r){return arguments.length?(d=null==r?(f=t=e=n=null,ih):Cl(f=+r[0][0],t=+r[0][1],e=+r[1][0],n=+r[1][1]),p()):null==f?null:[[f,t],[e,n]]},scale:function(t){return arguments.length?(h=qf((o=+t)*u,o*l,s,c),p()):o},translate:function(t){return arguments.length?(h=qf(o*u,o*l,s=+t[0],c=+t[1]),p()):[s,c]},reflectX:function(t){return arguments.length?(h=qf(o*(u=t?-1:1),o*l,s,c),p()):u<0},reflectY:function(t){return arguments.length?(h=qf(o*u,o*(l=t?-1:1),s,c),p()):l<0},fitExtent:function(t,e){return sf(a,t,e)},fitSize:function(t,e){return cf(a,t,e)},fitWidth:function(t,e){return uf(a,t,e)},fitHeight:function(t,e){return lf(a,t,e)}}};function Zf(t,e){var n=e*e,r=n*n;return[t*(.8707-.131979*n+r*(r*(.003971*n-.001529*r)-.013791)),e*(1.007226+n*(.015085+r*(.028874*n-.044475-.005916*r)))]}Zf.invert=function(t,e){var n,r=e,i=25;do{var a=r*r,o=a*a;r-=n=(r*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(vc(n)>1e-6&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]};var Jf=function(){return yf(Zf).scale(175.295)};function Kf(t,e){return[xc(e)*Tc(t),Tc(e)]}Kf.invert=Ef(Oc);var Qf=function(){return yf(Kf).scale(249.5).clipAngle(90+1e-6)};function td(t,e){var n=xc(e),r=1+xc(t)*n;return[n*Tc(t)/r,Tc(e)/r]}td.invert=Ef((function(t){return 2*mc(t)}));var ed=function(){return yf(td).scale(250).clipAngle(142)};function nd(t,e){return[wc(Sc((fc+e)/2)),-t]}nd.invert=function(t,e){return[-e,2*mc(kc(t))-fc]};var rd=function(){var t=Df(nd),e=t.center,n=t.rotate;return t.center=function(t){return arguments.length?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):[(t=n())[0],t[1],t[2]-90]},n([0,0,90]).scale(159.155)};function id(t,e){return t.parent===e.parent?1:2}function ad(t,e){return t+e.x}function od(t,e){return Math.max(t,e.y)}var sd=function(){var t=id,e=1,n=1,r=!1;function i(i){var a,o=0;i.eachAfter((function(e){var n=e.children;n?(e.x=function(t){return t.reduce(ad,0)/t.length}(n),e.y=function(t){return 1+t.reduce(od,0)}(n)):(e.x=a?o+=t(e,a):0,e.y=0,a=e)}));var s=function(t){for(var e;e=t.children;)t=e[0];return t}(i),c=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(i),u=s.x-t(s,c)/2,l=c.x+t(c,s)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*e,t.y=(i.y-t.y)*n}:function(t){t.x=(t.x-u)/(l-u)*e,t.y=(1-(i.y?t.y/i.y:1))*n})}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i};function cd(t){var e=0,n=t.children,r=n&&n.length;if(r)for(;--r>=0;)e+=n[r].value;else e=1;t.value=e}function ud(t,e){var n,r,i,a,o,s=new dd(t),c=+t.value&&(s.value=t.value),u=[s];for(null==e&&(e=ld);n=u.pop();)if(c&&(n.value=+n.data.value),(i=e(n.data))&&(o=i.length))for(n.children=new Array(o),a=o-1;a>=0;--a)u.push(r=n.children[a]=new dd(i[a])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(fd)}function ld(t){return t.children}function hd(t){t.data=t.data.data}function fd(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function dd(t){this.data=t,this.depth=this.height=0,this.parent=null}dd.prototype=ud.prototype={constructor:dd,count:function(){return this.eachAfter(cd)},each:function(t){var e,n,r,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),n=a.children)for(r=0,i=n.length;r<i;++r)o.push(n[r])}while(o.length);return this},eachAfter:function(t){for(var e,n,r,i=this,a=[i],o=[];i=a.pop();)if(o.push(i),e=i.children)for(n=0,r=e.length;n<r;++n)a.push(e[n]);for(;i=o.pop();)t(i);return this},eachBefore:function(t){for(var e,n,r=this,i=[r];r=i.pop();)if(t(r),e=r.children)for(n=e.length-1;n>=0;--n)i.push(e[n]);return this},sum:function(t){return this.eachAfter((function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;t=n.pop(),e=r.pop();for(;t===e;)i=t,t=n.pop(),e=r.pop();return i}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(n){n!==t&&e.push({source:n.parent,target:n})})),e},copy:function(){return ud(this).eachBefore(hd)}};var pd=Array.prototype.slice;var gd=function(t){for(var e,n,r=0,i=(t=function(t){for(var e,n,r=t.length;r;)n=Math.random()*r--|0,e=t[r],t[r]=t[n],t[n]=e;return t}(pd.call(t))).length,a=[];r<i;)e=t[r],n&&md(n,e)?++r:(n=xd(a=yd(a,e)),r=0);return n};function yd(t,e){var n,r;if(bd(e,t))return[e];for(n=0;n<t.length;++n)if(vd(e,t[n])&&bd(_d(t[n],e),t))return[t[n],e];for(n=0;n<t.length-1;++n)for(r=n+1;r<t.length;++r)if(vd(_d(t[n],t[r]),e)&&vd(_d(t[n],e),t[r])&&vd(_d(t[r],e),t[n])&&bd(kd(t[n],t[r],e),t))return[t[n],t[r],e];throw new Error}function vd(t,e){var n=t.r-e.r,r=e.x-t.x,i=e.y-t.y;return n<0||n*n<r*r+i*i}function md(t,e){var n=t.r-e.r+1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function bd(t,e){for(var n=0;n<e.length;++n)if(!md(t,e[n]))return!1;return!0}function xd(t){switch(t.length){case 1:return{x:(e=t[0]).x,y:e.y,r:e.r};case 2:return _d(t[0],t[1]);case 3:return kd(t[0],t[1],t[2])}var e}function _d(t,e){var n=t.x,r=t.y,i=t.r,a=e.x,o=e.y,s=e.r,c=a-n,u=o-r,l=s-i,h=Math.sqrt(c*c+u*u);return{x:(n+a+c/h*l)/2,y:(r+o+u/h*l)/2,r:(h+i+s)/2}}function kd(t,e,n){var r=t.x,i=t.y,a=t.r,o=e.x,s=e.y,c=e.r,u=n.x,l=n.y,h=n.r,f=r-o,d=r-u,p=i-s,g=i-l,y=c-a,v=h-a,m=r*r+i*i-a*a,b=m-o*o-s*s+c*c,x=m-u*u-l*l+h*h,_=d*p-f*g,k=(p*x-g*b)/(2*_)-r,w=(g*y-p*v)/_,E=(d*b-f*x)/(2*_)-i,T=(f*v-d*y)/_,C=w*w+T*T-1,A=2*(a+k*w+E*T),S=k*k+E*E-a*a,M=-(C?(A+Math.sqrt(A*A-4*C*S))/(2*C):S/A);return{x:r+k+w*M,y:i+E+T*M,r:M}}function wd(t,e,n){var r,i,a,o,s=t.x-e.x,c=t.y-e.y,u=s*s+c*c;u?(i=e.r+n.r,i*=i,o=t.r+n.r,i>(o*=o)?(r=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-r*r)),n.x=t.x-r*s-a*c,n.y=t.y-r*c+a*s):(r=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-r*r)),n.x=e.x+r*s-a*c,n.y=e.y+r*c+a*s)):(n.x=e.x+n.r,n.y=e.y)}function Ed(t,e){var n=t.r+e.r-1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function Td(t){var e=t._,n=t.next._,r=e.r+n.r,i=(e.x*n.r+n.x*e.r)/r,a=(e.y*n.r+n.y*e.r)/r;return i*i+a*a}function Cd(t){this._=t,this.next=null,this.previous=null}function Ad(t){if(!(i=t.length))return 0;var e,n,r,i,a,o,s,c,u,l,h;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(n=t[1],e.x=-n.r,n.x=e.r,n.y=0,!(i>2))return e.r+n.r;wd(n,e,r=t[2]),e=new Cd(e),n=new Cd(n),r=new Cd(r),e.next=r.previous=n,n.next=e.previous=r,r.next=n.previous=e;t:for(s=3;s<i;++s){wd(e._,n._,r=t[s]),r=new Cd(r),c=n.next,u=e.previous,l=n._.r,h=e._.r;do{if(l<=h){if(Ed(c._,r._)){n=c,e.next=n,n.previous=e,--s;continue t}l+=c._.r,c=c.next}else{if(Ed(u._,r._)){(e=u).next=n,n.previous=e,--s;continue t}h+=u._.r,u=u.previous}}while(c!==u.next);for(r.previous=e,r.next=n,e.next=n.previous=n=r,a=Td(e);(r=r.next)!==n;)(o=Td(r))<a&&(e=r,a=o);n=e.next}for(e=[n._],r=n;(r=r.next)!==n;)e.push(r._);for(r=gd(e),s=0;s<i;++s)(e=t[s]).x-=r.x,e.y-=r.y;return r.r}var Sd=function(t){return Ad(t),t};function Md(t){return null==t?null:Od(t)}function Od(t){if("function"!=typeof t)throw new Error;return t}function Dd(){return 0}var Nd=function(t){return function(){return t}};function Bd(t){return Math.sqrt(t.value)}var Ld=function(){var t=null,e=1,n=1,r=Dd;function i(i){return i.x=e/2,i.y=n/2,t?i.eachBefore(Pd(t)).eachAfter(Id(r,.5)).eachBefore(Fd(1)):i.eachBefore(Pd(Bd)).eachAfter(Id(Dd,1)).eachAfter(Id(r,i.r/Math.min(e,n))).eachBefore(Fd(Math.min(e,n)/(2*i.r))),i}return i.radius=function(e){return arguments.length?(t=Md(e),i):t},i.size=function(t){return arguments.length?(e=+t[0],n=+t[1],i):[e,n]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:Nd(+t),i):r},i};function Pd(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function Id(t,e){return function(n){if(r=n.children){var r,i,a,o=r.length,s=t(n)*e||0;if(s)for(i=0;i<o;++i)r[i].r+=s;if(a=Ad(r),s)for(i=0;i<o;++i)r[i].r-=s;n.r=a+s}}}function Fd(t){return function(e){var n=e.parent;e.r*=t,n&&(e.x=n.x+t*e.x,e.y=n.y+t*e.y)}}var jd=function(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)},Rd=function(t,e,n,r,i){for(var a,o=t.children,s=-1,c=o.length,u=t.value&&(r-e)/t.value;++s<c;)(a=o[s]).y0=n,a.y1=i,a.x0=e,a.x1=e+=a.value*u},Yd=function(){var t=1,e=1,n=0,r=!1;function i(i){var a=i.height+1;return i.x0=i.y0=n,i.x1=t,i.y1=e/a,i.eachBefore(function(t,e){return function(r){r.children&&Rd(r,r.x0,t*(r.depth+1)/e,r.x1,t*(r.depth+2)/e);var i=r.x0,a=r.y0,o=r.x1-n,s=r.y1-n;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),r.x0=i,r.y0=a,r.x1=o,r.y1=s}}(e,a)),r&&i.eachBefore(jd),i}return i.round=function(t){return arguments.length?(r=!!t,i):r},i.size=function(n){return arguments.length?(t=+n[0],e=+n[1],i):[t,e]},i.padding=function(t){return arguments.length?(n=+t,i):n},i},zd={depth:-1},Ud={};function $d(t){return t.id}function Wd(t){return t.parentId}var Hd=function(){var t=$d,e=Wd;function n(n){var r,i,a,o,s,c,u,l=n.length,h=new Array(l),f={};for(i=0;i<l;++i)r=n[i],s=h[i]=new dd(r),null!=(c=t(r,i,n))&&(c+="")&&(f[u="$"+(s.id=c)]=u in f?Ud:s);for(i=0;i<l;++i)if(s=h[i],null!=(c=e(n[i],i,n))&&(c+="")){if(!(o=f["$"+c]))throw new Error("missing: "+c);if(o===Ud)throw new Error("ambiguous: "+c);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(a)throw new Error("multiple roots");a=s}if(!a)throw new Error("no root");if(a.parent=zd,a.eachBefore((function(t){t.depth=t.parent.depth+1,--l})).eachBefore(fd),a.parent=null,l>0)throw new Error("cycle");return a}return n.id=function(e){return arguments.length?(t=Od(e),n):t},n.parentId=function(t){return arguments.length?(e=Od(t),n):e},n};function Vd(t,e){return t.parent===e.parent?1:2}function Gd(t){var e=t.children;return e?e[0]:t.t}function qd(t){var e=t.children;return e?e[e.length-1]:t.t}function Xd(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function Zd(t,e,n){return t.a.parent===e.parent?t.a:n}function Jd(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}Jd.prototype=Object.create(dd.prototype);var Kd=function(){var t=Vd,e=1,n=1,r=null;function i(i){var c=function(t){for(var e,n,r,i,a,o=new Jd(t,0),s=[o];e=s.pop();)if(r=e._.children)for(e.children=new Array(a=r.length),i=a-1;i>=0;--i)s.push(n=e.children[i]=new Jd(r[i],i)),n.parent=e;return(o.parent=new Jd(null,0)).children=[o],o}(i);if(c.eachAfter(a),c.parent.m=-c.z,c.eachBefore(o),r)i.eachBefore(s);else{var u=i,l=i,h=i;i.eachBefore((function(t){t.x<u.x&&(u=t),t.x>l.x&&(l=t),t.depth>h.depth&&(h=t)}));var f=u===l?1:t(u,l)/2,d=f-u.x,p=e/(l.x+f+d),g=n/(h.depth||1);i.eachBefore((function(t){t.x=(t.x+d)*p,t.y=t.depth*g}))}return i}function a(e){var n=e.children,r=e.parent.children,i=e.i?r[e.i-1]:null;if(n){!function(t){for(var e,n=0,r=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=n,e.m+=n,n+=e.s+(r+=e.c)}(e);var a=(n[0].z+n[n.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,n,r){if(n){for(var i,a=e,o=e,s=n,c=a.parent.children[0],u=a.m,l=o.m,h=s.m,f=c.m;s=qd(s),a=Gd(a),s&&a;)c=Gd(c),(o=qd(o)).a=e,(i=s.z+h-a.z-u+t(s._,a._))>0&&(Xd(Zd(s,e,r),e,i),u+=i,l+=i),h+=s.m,u+=a.m,f+=c.m,l+=o.m;s&&!qd(o)&&(o.t=s,o.m+=h-l),a&&!Gd(c)&&(c.t=a,c.m+=u-f,r=e)}return r}(e,i,e.parent.A||r[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*n}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i},Qd=function(t,e,n,r,i){for(var a,o=t.children,s=-1,c=o.length,u=t.value&&(i-n)/t.value;++s<c;)(a=o[s]).x0=e,a.x1=r,a.y0=n,a.y1=n+=a.value*u},tp=(1+Math.sqrt(5))/2;function ep(t,e,n,r,i,a){for(var o,s,c,u,l,h,f,d,p,g,y,v=[],m=e.children,b=0,x=0,_=m.length,k=e.value;b<_;){c=i-n,u=a-r;do{l=m[x++].value}while(!l&&x<_);for(h=f=l,y=l*l*(g=Math.max(u/c,c/u)/(k*t)),p=Math.max(f/y,y/h);x<_;++x){if(l+=s=m[x].value,s<h&&(h=s),s>f&&(f=s),y=l*l*g,(d=Math.max(f/y,y/h))>p){l-=s;break}p=d}v.push(o={value:l,dice:c<u,children:m.slice(b,x)}),o.dice?Rd(o,n,r,i,k?r+=u*l/k:a):Qd(o,n,r,k?n+=c*l/k:i,a),k-=l,b=x}return v}var np=function t(e){function n(t,n,r,i,a){ep(e,t,n,r,i,a)}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}(tp),rp=function(){var t=np,e=!1,n=1,r=1,i=[0],a=Dd,o=Dd,s=Dd,c=Dd,u=Dd;function l(t){return t.x0=t.y0=0,t.x1=n,t.y1=r,t.eachBefore(h),i=[0],e&&t.eachBefore(jd),t}function h(e){var n=i[e.depth],r=e.x0+n,l=e.y0+n,h=e.x1-n,f=e.y1-n;h<r&&(r=h=(r+h)/2),f<l&&(l=f=(l+f)/2),e.x0=r,e.y0=l,e.x1=h,e.y1=f,e.children&&(n=i[e.depth+1]=a(e)/2,r+=u(e)-n,l+=o(e)-n,(h-=s(e)-n)<r&&(r=h=(r+h)/2),(f-=c(e)-n)<l&&(l=f=(l+f)/2),t(e,r,l,h,f))}return l.round=function(t){return arguments.length?(e=!!t,l):e},l.size=function(t){return arguments.length?(n=+t[0],r=+t[1],l):[n,r]},l.tile=function(e){return arguments.length?(t=Od(e),l):t},l.padding=function(t){return arguments.length?l.paddingInner(t).paddingOuter(t):l.paddingInner()},l.paddingInner=function(t){return arguments.length?(a="function"==typeof t?t:Nd(+t),l):a},l.paddingOuter=function(t){return arguments.length?l.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):l.paddingTop()},l.paddingTop=function(t){return arguments.length?(o="function"==typeof t?t:Nd(+t),l):o},l.paddingRight=function(t){return arguments.length?(s="function"==typeof t?t:Nd(+t),l):s},l.paddingBottom=function(t){return arguments.length?(c="function"==typeof t?t:Nd(+t),l):c},l.paddingLeft=function(t){return arguments.length?(u="function"==typeof t?t:Nd(+t),l):u},l},ip=function(t,e,n,r,i){var a,o,s=t.children,c=s.length,u=new Array(c+1);for(u[0]=o=a=0;a<c;++a)u[a+1]=o+=s[a].value;!function t(e,n,r,i,a,o,c){if(e>=n-1){var l=s[e];return l.x0=i,l.y0=a,l.x1=o,void(l.y1=c)}var h=u[e],f=r/2+h,d=e+1,p=n-1;for(;d<p;){var g=d+p>>>1;u[g]<f?d=g+1:p=g}f-u[d-1]<u[d]-f&&e+1<d&&--d;var y=u[d]-h,v=r-y;if(o-i>c-a){var m=(i*v+o*y)/r;t(e,d,y,i,a,m,c),t(d,n,v,m,a,o,c)}else{var b=(a*v+c*y)/r;t(e,d,y,i,a,o,b),t(d,n,v,i,b,o,c)}}(0,c,t.value,e,n,r,i)},ap=function(t,e,n,r,i){(1&t.depth?Qd:Rd)(t,e,n,r,i)},op=function t(e){function n(t,n,r,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,c,u,l,h=-1,f=o.length,d=t.value;++h<f;){for(c=(s=o[h]).children,u=s.value=0,l=c.length;u<l;++u)s.value+=c[u].value;s.dice?Rd(s,n,r,i,r+=(a-r)*s.value/d):Qd(s,n,r,n+=(i-n)*s.value/d,a),d-=s.value}else t._squarify=o=ep(e,t,n,r,i,a),o.ratio=e}return n.ratio=function(e){return t((e=+e)>1?e:1)},n}(tp),sp=function(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}},cp=function(t,e){var n=un(+t,+e);return function(t){var e=n(t);return e-360*Math.floor(e/360)}},up=function(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}},lp=Math.SQRT2;function hp(t){return((t=Math.exp(t))+1/t)/2}var fp=function(t,e){var n,r,i=t[0],a=t[1],o=t[2],s=e[0],c=e[1],u=e[2],l=s-i,h=c-a,f=l*l+h*h;if(f<1e-12)r=Math.log(u/o)/lp,n=function(t){return[i+t*l,a+t*h,o*Math.exp(lp*t*r)]};else{var d=Math.sqrt(f),p=(u*u-o*o+4*f)/(2*o*2*d),g=(u*u-o*o-4*f)/(2*u*2*d),y=Math.log(Math.sqrt(p*p+1)-p),v=Math.log(Math.sqrt(g*g+1)-g);r=(v-y)/lp,n=function(t){var e,n=t*r,s=hp(y),c=o/(2*d)*(s*(e=lp*n+y,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(y));return[i+c*l,a+c*h,o*s/hp(lp*n+y)]}}return n.duration=1e3*r,n};function dp(t){return function(e,n){var r=t((e=tn(e)).h,(n=tn(n)).h),i=hn(e.s,n.s),a=hn(e.l,n.l),o=hn(e.opacity,n.opacity);return function(t){return e.h=r(t),e.s=i(t),e.l=a(t),e.opacity=o(t),e+""}}}var pp=dp(un),gp=dp(hn);function yp(t,e){var n=hn((t=pa(t)).l,(e=pa(e)).l),r=hn(t.a,e.a),i=hn(t.b,e.b),a=hn(t.opacity,e.opacity);return function(e){return t.l=n(e),t.a=r(e),t.b=i(e),t.opacity=a(e),t+""}}function vp(t){return function(e,n){var r=t((e=ka(e)).h,(n=ka(n)).h),i=hn(e.c,n.c),a=hn(e.l,n.l),o=hn(e.opacity,n.opacity);return function(t){return e.h=r(t),e.c=i(t),e.l=a(t),e.opacity=o(t),e+""}}}var mp=vp(un),bp=vp(hn);function xp(t){return function e(n){function r(e,r){var i=t((e=Oa(e)).h,(r=Oa(r)).h),a=hn(e.s,r.s),o=hn(e.l,r.l),s=hn(e.opacity,r.opacity);return function(t){return e.h=i(t),e.s=a(t),e.l=o(Math.pow(t,n)),e.opacity=s(t),e+""}}return n=+n,r.gamma=e,r}(1)}var _p=xp(un),kp=xp(hn);function wp(t,e){for(var n=0,r=e.length-1,i=e[0],a=new Array(r<0?0:r);n<r;)a[n]=t(i,i=e[++n]);return function(t){var e=Math.max(0,Math.min(r-1,Math.floor(t*=r)));return a[e](t-e)}}var Ep=function(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t(r/(e-1));return n},Tp=function(t){for(var e,n=-1,r=t.length,i=t[r-1],a=0;++n<r;)e=i,i=t[n],a+=e[1]*i[0]-e[0]*i[1];return a/2},Cp=function(t){for(var e,n,r=-1,i=t.length,a=0,o=0,s=t[i-1],c=0;++r<i;)e=s,s=t[r],c+=n=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*n,o+=(e[1]+s[1])*n;return[a/(c*=3),o/c]};function Ap(t,e){return t[0]-e[0]||t[1]-e[1]}function Sp(t){for(var e,n,r,i=t.length,a=[0,1],o=2,s=2;s<i;++s){for(;o>1&&(e=t[a[o-2]],n=t[a[o-1]],r=t[s],(n[0]-e[0])*(r[1]-e[1])-(n[1]-e[1])*(r[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}var Mp=function(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),i=new Array(n);for(e=0;e<n;++e)r[e]=[+t[e][0],+t[e][1],e];for(r.sort(Ap),e=0;e<n;++e)i[e]=[r[e][0],-r[e][1]];var a=Sp(r),o=Sp(i),s=o[0]===a[0],c=o[o.length-1]===a[a.length-1],u=[];for(e=a.length-1;e>=0;--e)u.push(t[r[a[e]][2]]);for(e=+s;e<o.length-c;++e)u.push(t[r[o[e]][2]]);return u},Op=function(t,e){for(var n,r,i=t.length,a=t[i-1],o=e[0],s=e[1],c=a[0],u=a[1],l=!1,h=0;h<i;++h)n=(a=t[h])[0],(r=a[1])>s!=u>s&&o<(c-n)*(s-r)/(u-r)+n&&(l=!l),c=n,u=r;return l},Dp=function(t){for(var e,n,r=-1,i=t.length,a=t[i-1],o=a[0],s=a[1],c=0;++r<i;)e=o,n=s,e-=o=(a=t[r])[0],n-=s=a[1],c+=Math.sqrt(e*e+n*n);return c},Np=function(){return Math.random()},Bp=function t(e){function n(t,n){return t=null==t?0:+t,n=null==n?1:+n,1===arguments.length?(n=t,t=0):n-=t,function(){return e()*n+t}}return n.source=t,n}(Np),Lp=function t(e){function n(t,n){var r,i;return t=null==t?0:+t,n=null==n?1:+n,function(){var a;if(null!=r)a=r,r=null;else do{r=2*e()-1,a=2*e()-1,i=r*r+a*a}while(!i||i>1);return t+n*a*Math.sqrt(-2*Math.log(i)/i)}}return n.source=t,n}(Np),Pp=function t(e){function n(){var t=Lp.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}(Np),Ip=function t(e){function n(t){return function(){for(var n=0,r=0;r<t;++r)n+=e();return n}}return n.source=t,n}(Np),Fp=function t(e){function n(t){var n=Ip.source(e)(t);return function(){return n()/t}}return n.source=t,n}(Np),jp=function t(e){function n(t){return function(){return-Math.log(1-e())/t}}return n.source=t,n}(Np);function Rp(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}function Yp(t,e){switch(arguments.length){case 0:break;case 1:this.interpolator(t);break;default:this.interpolator(e).domain(t)}return this}var zp=Array.prototype,Up=zp.map,$p=zp.slice,Wp={name:"implicit"};function Hp(){var t=Ji(),e=[],n=[],r=Wp;function i(i){var a=i+"",o=t.get(a);if(!o){if(r!==Wp)return r;t.set(a,o=e.push(i))}return n[(o-1)%n.length]}return i.domain=function(n){if(!arguments.length)return e.slice();e=[],t=Ji();for(var r,a,o=-1,s=n.length;++o<s;)t.has(a=(r=n[o])+"")||t.set(a,e.push(r));return i},i.range=function(t){return arguments.length?(n=$p.call(t),i):n.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return Hp(e,n).unknown(r)},Rp.apply(i,arguments),i}function Vp(){var t,e,n=Hp().unknown(void 0),r=n.domain,i=n.range,a=[0,1],o=!1,s=0,c=0,u=.5;function l(){var n=r().length,l=a[1]<a[0],h=a[l-0],f=a[1-l];t=(f-h)/Math.max(1,n-s+2*c),o&&(t=Math.floor(t)),h+=(f-h-t*(n-s))*u,e=t*(1-s),o&&(h=Math.round(h),e=Math.round(e));var d=k(n).map((function(e){return h+t*e}));return i(l?d.reverse():d)}return delete n.unknown,n.domain=function(t){return arguments.length?(r(t),l()):r()},n.range=function(t){return arguments.length?(a=[+t[0],+t[1]],l()):a.slice()},n.rangeRound=function(t){return a=[+t[0],+t[1]],o=!0,l()},n.bandwidth=function(){return e},n.step=function(){return t},n.round=function(t){return arguments.length?(o=!!t,l()):o},n.padding=function(t){return arguments.length?(s=Math.min(1,c=+t),l()):s},n.paddingInner=function(t){return arguments.length?(s=Math.min(1,t),l()):s},n.paddingOuter=function(t){return arguments.length?(c=+t,l()):c},n.align=function(t){return arguments.length?(u=Math.max(0,Math.min(1,t)),l()):u},n.copy=function(){return Vp(r(),a).round(o).paddingInner(s).paddingOuter(c).align(u)},Rp.apply(l(),arguments)}function Gp(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return Gp(e())},t}function qp(){return Gp(Vp.apply(null,arguments).paddingInner(1))}var Xp=function(t){return+t},Zp=[0,1];function Jp(t){return t}function Kp(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:(n=isNaN(e)?NaN:.5,function(){return n});var n}function Qp(t){var e,n=t[0],r=t[t.length-1];return n>r&&(e=n,n=r,r=e),function(t){return Math.max(n,Math.min(r,t))}}function tg(t,e,n){var r=t[0],i=t[1],a=e[0],o=e[1];return i<r?(r=Kp(i,r),a=n(o,a)):(r=Kp(r,i),a=n(a,o)),function(t){return a(r(t))}}function eg(t,e,n){var r=Math.min(t.length,e.length)-1,i=new Array(r),a=new Array(r),o=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<r;)i[o]=Kp(t[o],t[o+1]),a[o]=n(e[o],e[o+1]);return function(e){var n=c(t,e,1,r)-1;return a[n](i[n](e))}}function ng(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function rg(){var t,e,n,r,i,a,o=Zp,s=Zp,c=Sn,u=Jp;function l(){return r=Math.min(o.length,s.length)>2?eg:tg,i=a=null,h}function h(e){return isNaN(e=+e)?n:(i||(i=r(o.map(t),s,c)))(t(u(e)))}return h.invert=function(n){return u(e((a||(a=r(s,o.map(t),_n)))(n)))},h.domain=function(t){return arguments.length?(o=Up.call(t,Xp),u===Jp||(u=Qp(o)),l()):o.slice()},h.range=function(t){return arguments.length?(s=$p.call(t),l()):s.slice()},h.rangeRound=function(t){return s=$p.call(t),c=up,l()},h.clamp=function(t){return arguments.length?(u=t?Qp(o):Jp,h):u!==Jp},h.interpolate=function(t){return arguments.length?(c=t,l()):c},h.unknown=function(t){return arguments.length?(n=t,h):n},function(n,r){return t=n,e=r,l()}}function ig(t,e){return rg()(t,e)}var ag=function(t,e,n,r){var i,a=S(t,e,n);switch((r=Hs(null==r?",f":r)).type){case"s":var o=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=ac(a,o))||(r.precision=i),Zs(r,o);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=oc(a,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=ic(a))||(r.precision=i-2*("%"===r.type))}return Xs(r)};function og(t){var e=t.domain;return t.ticks=function(t){var n=e();return C(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return ag(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,i=e(),a=0,o=i.length-1,s=i[a],c=i[o];return c<s&&(r=s,s=c,c=r,r=a,a=o,o=r),(r=A(s,c,n))>0?r=A(s=Math.floor(s/r)*r,c=Math.ceil(c/r)*r,n):r<0&&(r=A(s=Math.ceil(s*r)/r,c=Math.floor(c*r)/r,n)),r>0?(i[a]=Math.floor(s/r)*r,i[o]=Math.ceil(c/r)*r,e(i)):r<0&&(i[a]=Math.ceil(s*r)/r,i[o]=Math.floor(c*r)/r,e(i)),t},t}function sg(){var t=ig(Jp,Jp);return t.copy=function(){return ng(t,sg())},Rp.apply(t,arguments),og(t)}function cg(t){var e;function n(t){return isNaN(t=+t)?e:t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=Up.call(e,Xp),n):t.slice()},n.unknown=function(t){return arguments.length?(e=t,n):e},n.copy=function(){return cg(t).unknown(e)},t=arguments.length?Up.call(t,Xp):[0,1],og(n)}var ug=function(t,e){var n,r=0,i=(t=t.slice()).length-1,a=t[r],o=t[i];return o<a&&(n=r,r=i,i=n,n=a,a=o,o=n),t[r]=e.floor(a),t[i]=e.ceil(o),t};function lg(t){return Math.log(t)}function hg(t){return Math.exp(t)}function fg(t){return-Math.log(-t)}function dg(t){return-Math.exp(-t)}function pg(t){return isFinite(t)?+("1e"+t):t<0?0:t}function gg(t){return function(e){return-t(-e)}}function yg(t){var e,n,r=t(lg,hg),i=r.domain,a=10;function o(){return e=function(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(e){return Math.log(e)/t})}(a),n=function(t){return 10===t?pg:t===Math.E?Math.exp:function(e){return Math.pow(t,e)}}(a),i()[0]<0?(e=gg(e),n=gg(n),t(fg,dg)):t(lg,hg),r}return r.base=function(t){return arguments.length?(a=+t,o()):a},r.domain=function(t){return arguments.length?(i(t),o()):i()},r.ticks=function(t){var r,o=i(),s=o[0],c=o[o.length-1];(r=c<s)&&(f=s,s=c,c=f);var u,l,h,f=e(s),d=e(c),p=null==t?10:+t,g=[];if(!(a%1)&&d-f<p){if(f=Math.round(f)-1,d=Math.round(d)+1,s>0){for(;f<d;++f)for(l=1,u=n(f);l<a;++l)if(!((h=u*l)<s)){if(h>c)break;g.push(h)}}else for(;f<d;++f)for(l=a-1,u=n(f);l>=1;--l)if(!((h=u*l)<s)){if(h>c)break;g.push(h)}}else g=C(f,d,Math.min(d-f,p)).map(n);return r?g.reverse():g},r.tickFormat=function(t,i){if(null==i&&(i=10===a?".0e":","),"function"!=typeof i&&(i=Xs(i)),t===1/0)return i;null==t&&(t=10);var o=Math.max(1,a*t/r.ticks().length);return function(t){var r=t/n(Math.round(e(t)));return r*a<a-.5&&(r*=a),r<=o?i(t):""}},r.nice=function(){return i(ug(i(),{floor:function(t){return n(Math.floor(e(t)))},ceil:function(t){return n(Math.ceil(e(t)))}}))},r}function vg(){var t=yg(rg()).domain([1,10]);return t.copy=function(){return ng(t,vg()).base(t.base())},Rp.apply(t,arguments),t}function mg(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function bg(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function xg(t){var e=1,n=t(mg(e),bg(e));return n.constant=function(n){return arguments.length?t(mg(e=+n),bg(e)):e},og(n)}function _g(){var t=xg(rg());return t.copy=function(){return ng(t,_g()).constant(t.constant())},Rp.apply(t,arguments)}function kg(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function wg(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function Eg(t){return t<0?-t*t:t*t}function Tg(t){var e=t(Jp,Jp),n=1;function r(){return 1===n?t(Jp,Jp):.5===n?t(wg,Eg):t(kg(n),kg(1/n))}return e.exponent=function(t){return arguments.length?(n=+t,r()):n},og(e)}function Cg(){var t=Tg(rg());return t.copy=function(){return ng(t,Cg()).exponent(t.exponent())},Rp.apply(t,arguments),t}function Ag(){return Cg.apply(null,arguments).exponent(.5)}function Sg(){var t,e=[],n=[],i=[];function a(){var t=0,r=Math.max(1,n.length);for(i=new Array(r-1);++t<r;)i[t-1]=D(e,t/r);return o}function o(e){return isNaN(e=+e)?t:n[c(i,e)]}return o.invertExtent=function(t){var r=n.indexOf(t);return r<0?[NaN,NaN]:[r>0?i[r-1]:e[0],r<i.length?i[r]:e[e.length-1]]},o.domain=function(t){if(!arguments.length)return e.slice();e=[];for(var n,i=0,o=t.length;i<o;++i)null==(n=t[i])||isNaN(n=+n)||e.push(n);return e.sort(r),a()},o.range=function(t){return arguments.length?(n=$p.call(t),a()):n.slice()},o.unknown=function(e){return arguments.length?(t=e,o):t},o.quantiles=function(){return i.slice()},o.copy=function(){return Sg().domain(e).range(n).unknown(t)},Rp.apply(o,arguments)}function Mg(){var t,e=0,n=1,r=1,i=[.5],a=[0,1];function o(e){return e<=e?a[c(i,e,0,r)]:t}function s(){var t=-1;for(i=new Array(r);++t<r;)i[t]=((t+1)*n-(t-r)*e)/(r+1);return o}return o.domain=function(t){return arguments.length?(e=+t[0],n=+t[1],s()):[e,n]},o.range=function(t){return arguments.length?(r=(a=$p.call(t)).length-1,s()):a.slice()},o.invertExtent=function(t){var o=a.indexOf(t);return o<0?[NaN,NaN]:o<1?[e,i[0]]:o>=r?[i[r-1],n]:[i[o-1],i[o]]},o.unknown=function(e){return arguments.length?(t=e,o):o},o.thresholds=function(){return i.slice()},o.copy=function(){return Mg().domain([e,n]).range(a).unknown(t)},Rp.apply(og(o),arguments)}function Og(){var t,e=[.5],n=[0,1],r=1;function i(i){return i<=i?n[c(e,i,0,r)]:t}return i.domain=function(t){return arguments.length?(e=$p.call(t),r=Math.min(e.length,n.length-1),i):e.slice()},i.range=function(t){return arguments.length?(n=$p.call(t),r=Math.min(e.length,n.length-1),i):n.slice()},i.invertExtent=function(t){var r=n.indexOf(t);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(t=e,i):t},i.copy=function(){return Og().domain(e).range(n).unknown(t)},Rp.apply(i,arguments)}var Dg=new Date,Ng=new Date;function Bg(t,e,n,r){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=function(e){return t(e=new Date(+e)),e},i.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},i.round=function(t){var e=i(t),n=i.ceil(t);return t-e<n-t?e:n},i.offset=function(t,n){return e(t=new Date(+t),null==n?1:Math.floor(n)),t},i.range=function(n,r,a){var o,s=[];if(n=i.ceil(n),a=null==a?1:Math.floor(a),!(n<r&&a>0))return s;do{s.push(o=new Date(+n)),e(n,a),t(n)}while(o<n&&n<r);return s},i.filter=function(n){return Bg((function(e){if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}))},n&&(i.count=function(e,r){return Dg.setTime(+e),Ng.setTime(+r),t(Dg),t(Ng),Math.floor(n(Dg,Ng))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(e){return r(e)%t==0}:function(e){return i.count(0,e)%t==0}):i:null}),i}var Lg=Bg((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));Lg.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Bg((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,n){e.setFullYear(e.getFullYear()+n*t)})):null};var Pg=Lg,Ig=Lg.range,Fg=Bg((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),jg=Fg,Rg=Fg.range;function Yg(t){return Bg((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var zg=Yg(0),Ug=Yg(1),$g=Yg(2),Wg=Yg(3),Hg=Yg(4),Vg=Yg(5),Gg=Yg(6),qg=zg.range,Xg=Ug.range,Zg=$g.range,Jg=Wg.range,Kg=Hg.range,Qg=Vg.range,ty=Gg.range,ey=Bg((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1})),ny=ey,ry=ey.range,iy=Bg((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getHours()})),ay=iy,oy=iy.range,sy=Bg((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getMinutes()})),cy=sy,uy=sy.range,ly=Bg((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+1e3*e)}),(function(t,e){return(e-t)/1e3}),(function(t){return t.getUTCSeconds()})),hy=ly,fy=ly.range,dy=Bg((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));dy.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Bg((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t})):dy:null};var py=dy,gy=dy.range;function yy(t){return Bg((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/6048e5}))}var vy=yy(0),my=yy(1),by=yy(2),xy=yy(3),_y=yy(4),ky=yy(5),wy=yy(6),Ey=vy.range,Ty=my.range,Cy=by.range,Ay=xy.range,Sy=_y.range,My=ky.range,Oy=wy.range,Dy=Bg((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/864e5}),(function(t){return t.getUTCDate()-1})),Ny=Dy,By=Dy.range,Ly=Bg((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));Ly.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Bg((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null};var Py=Ly,Iy=Ly.range;function Fy(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function jy(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Ry(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Yy(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,s=t.months,c=t.shortMonths,u=Ky(i),l=Qy(i),h=Ky(a),f=Qy(a),d=Ky(o),p=Qy(o),g=Ky(s),y=Qy(s),v=Ky(c),m=Qy(c),b={a:function(t){return o[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return s[t.getMonth()]},c:null,d:xv,e:xv,f:Tv,H:_v,I:kv,j:wv,L:Ev,m:Cv,M:Av,p:function(t){return i[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:em,s:nm,S:Sv,u:Mv,U:Ov,V:Dv,w:Nv,W:Bv,x:null,X:null,y:Lv,Y:Pv,Z:Iv,"%":tm},x={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:Fv,e:Fv,f:Uv,H:jv,I:Rv,j:Yv,L:zv,m:$v,M:Wv,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:em,s:nm,S:Hv,u:Vv,U:Gv,V:qv,w:Xv,W:Zv,x:null,X:null,y:Jv,Y:Kv,Z:Qv,"%":tm},_={a:function(t,e,n){var r=d.exec(e.slice(n));return r?(t.w=p[r[0].toLowerCase()],n+r[0].length):-1},A:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=f[r[0].toLowerCase()],n+r[0].length):-1},b:function(t,e,n){var r=v.exec(e.slice(n));return r?(t.m=m[r[0].toLowerCase()],n+r[0].length):-1},B:function(t,e,n){var r=g.exec(e.slice(n));return r?(t.m=y[r[0].toLowerCase()],n+r[0].length):-1},c:function(t,n,r){return E(t,e,n,r)},d:lv,e:lv,f:yv,H:fv,I:fv,j:hv,L:gv,m:uv,M:dv,p:function(t,e,n){var r=u.exec(e.slice(n));return r?(t.p=l[r[0].toLowerCase()],n+r[0].length):-1},q:cv,Q:mv,s:bv,S:pv,u:ev,U:nv,V:rv,w:tv,W:iv,x:function(t,e,r){return E(t,n,e,r)},X:function(t,e,n){return E(t,r,e,n)},y:ov,Y:av,Z:sv,"%":vv};function k(t,e){return function(n){var r,i,a,o=[],s=-1,c=0,u=t.length;for(n instanceof Date||(n=new Date(+n));++s<u;)37===t.charCodeAt(s)&&(o.push(t.slice(c,s)),null!=(i=Vy[r=t.charAt(++s)])?r=t.charAt(++s):i="e"===r?" ":"0",(a=e[r])&&(r=a(n,i)),o.push(r),c=s+1);return o.push(t.slice(c,s)),o.join("")}}function w(t,e){return function(n){var r,i,a=Ry(1900,void 0,1);if(E(a,t,n+="",0)!=n.length)return null;if("Q"in a)return new Date(a.Q);if("s"in a)return new Date(1e3*a.s+("L"in a?a.L:0));if(!e||"Z"in a||(a.Z=0),"p"in a&&(a.H=a.H%12+12*a.p),void 0===a.m&&(a.m="q"in a?a.q:0),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=jy(Ry(a.y,0,1))).getUTCDay(),r=i>4||0===i?my.ceil(r):my(r),r=Ny.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=Fy(Ry(a.y,0,1))).getDay(),r=i>4||0===i?Ug.ceil(r):Ug(r),r=ny.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?jy(Ry(a.y,0,1)).getUTCDay():Fy(Ry(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,jy(a)):Fy(a)}}function E(t,e,n,r){for(var i,a,o=0,s=e.length,c=n.length;o<s;){if(r>=c)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=_[i in Vy?e.charAt(o++):i])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return(b.x=k(n,b),b.X=k(r,b),b.c=k(e,b),x.x=k(n,x),x.X=k(r,x),x.c=k(e,x),{format:function(t){var e=k(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=w(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=k(t+="",x);return e.toString=function(){return t},e},utcParse:function(t){var e=w(t+="",!0);return e.toString=function(){return t},e}})}var zy,Uy,$y,Wy,Hy,Vy={"-":"",_:" ",0:"0"},Gy=/^\s*\d+/,qy=/^%/,Xy=/[\\^$*+?|[\]().{}]/g;function Zy(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function Jy(t){return t.replace(Xy,"\\$&")}function Ky(t){return new RegExp("^(?:"+t.map(Jy).join("|")+")","i")}function Qy(t){for(var e={},n=-1,r=t.length;++n<r;)e[t[n].toLowerCase()]=n;return e}function tv(t,e,n){var r=Gy.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function ev(t,e,n){var r=Gy.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function nv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function rv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function iv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function av(t,e,n){var r=Gy.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function ov(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function sv(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function cv(t,e,n){var r=Gy.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function uv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function lv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function hv(t,e,n){var r=Gy.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function fv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function dv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function pv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function gv(t,e,n){var r=Gy.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function yv(t,e,n){var r=Gy.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function vv(t,e,n){var r=qy.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function mv(t,e,n){var r=Gy.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function bv(t,e,n){var r=Gy.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function xv(t,e){return Zy(t.getDate(),e,2)}function _v(t,e){return Zy(t.getHours(),e,2)}function kv(t,e){return Zy(t.getHours()%12||12,e,2)}function wv(t,e){return Zy(1+ny.count(Pg(t),t),e,3)}function Ev(t,e){return Zy(t.getMilliseconds(),e,3)}function Tv(t,e){return Ev(t,e)+"000"}function Cv(t,e){return Zy(t.getMonth()+1,e,2)}function Av(t,e){return Zy(t.getMinutes(),e,2)}function Sv(t,e){return Zy(t.getSeconds(),e,2)}function Mv(t){var e=t.getDay();return 0===e?7:e}function Ov(t,e){return Zy(zg.count(Pg(t)-1,t),e,2)}function Dv(t,e){var n=t.getDay();return t=n>=4||0===n?Hg(t):Hg.ceil(t),Zy(Hg.count(Pg(t),t)+(4===Pg(t).getDay()),e,2)}function Nv(t){return t.getDay()}function Bv(t,e){return Zy(Ug.count(Pg(t)-1,t),e,2)}function Lv(t,e){return Zy(t.getFullYear()%100,e,2)}function Pv(t,e){return Zy(t.getFullYear()%1e4,e,4)}function Iv(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Zy(e/60|0,"0",2)+Zy(e%60,"0",2)}function Fv(t,e){return Zy(t.getUTCDate(),e,2)}function jv(t,e){return Zy(t.getUTCHours(),e,2)}function Rv(t,e){return Zy(t.getUTCHours()%12||12,e,2)}function Yv(t,e){return Zy(1+Ny.count(Py(t),t),e,3)}function zv(t,e){return Zy(t.getUTCMilliseconds(),e,3)}function Uv(t,e){return zv(t,e)+"000"}function $v(t,e){return Zy(t.getUTCMonth()+1,e,2)}function Wv(t,e){return Zy(t.getUTCMinutes(),e,2)}function Hv(t,e){return Zy(t.getUTCSeconds(),e,2)}function Vv(t){var e=t.getUTCDay();return 0===e?7:e}function Gv(t,e){return Zy(vy.count(Py(t)-1,t),e,2)}function qv(t,e){var n=t.getUTCDay();return t=n>=4||0===n?_y(t):_y.ceil(t),Zy(_y.count(Py(t),t)+(4===Py(t).getUTCDay()),e,2)}function Xv(t){return t.getUTCDay()}function Zv(t,e){return Zy(my.count(Py(t)-1,t),e,2)}function Jv(t,e){return Zy(t.getUTCFullYear()%100,e,2)}function Kv(t,e){return Zy(t.getUTCFullYear()%1e4,e,4)}function Qv(){return"+0000"}function tm(){return"%"}function em(t){return+t}function nm(t){return Math.floor(+t/1e3)}function rm(t){return zy=Yy(t),Uy=zy.format,$y=zy.parse,Wy=zy.utcFormat,Hy=zy.utcParse,zy}rm({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function im(t){return new Date(t)}function am(t){return t instanceof Date?+t:+new Date(+t)}function om(t,e,n,r,a,o,s,c,u){var l=ig(Jp,Jp),h=l.invert,f=l.domain,d=u(".%L"),p=u(":%S"),g=u("%I:%M"),y=u("%I %p"),v=u("%a %d"),m=u("%b %d"),b=u("%B"),x=u("%Y"),_=[[s,1,1e3],[s,5,5e3],[s,15,15e3],[s,30,3e4],[o,1,6e4],[o,5,3e5],[o,15,9e5],[o,30,18e5],[a,1,36e5],[a,3,108e5],[a,6,216e5],[a,12,432e5],[r,1,864e5],[r,2,1728e5],[n,1,6048e5],[e,1,2592e6],[e,3,7776e6],[t,1,31536e6]];function k(i){return(s(i)<i?d:o(i)<i?p:a(i)<i?g:r(i)<i?y:e(i)<i?n(i)<i?v:m:t(i)<i?b:x)(i)}function w(e,n,r,a){if(null==e&&(e=10),"number"==typeof e){var o=Math.abs(r-n)/e,s=i((function(t){return t[2]})).right(_,o);s===_.length?(a=S(n/31536e6,r/31536e6,e),e=t):s?(a=(s=_[o/_[s-1][2]<_[s][2]/o?s-1:s])[1],e=s[0]):(a=Math.max(S(n,r,e),1),e=c)}return null==a?e:e.every(a)}return l.invert=function(t){return new Date(h(t))},l.domain=function(t){return arguments.length?f(Up.call(t,am)):f().map(im)},l.ticks=function(t,e){var n,r=f(),i=r[0],a=r[r.length-1],o=a<i;return o&&(n=i,i=a,a=n),n=(n=w(t,i,a,e))?n.range(i,a+1):[],o?n.reverse():n},l.tickFormat=function(t,e){return null==e?k:u(e)},l.nice=function(t,e){var n=f();return(t=w(t,n[0],n[n.length-1],e))?f(ug(n,t)):l},l.copy=function(){return ng(l,om(t,e,n,r,a,o,s,c,u))},l}var sm=function(){return Rp.apply(om(Pg,jg,zg,ny,ay,cy,hy,py,Uy).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},cm=Bg((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),um=cm,lm=cm.range,hm=Bg((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getUTCHours()})),fm=hm,dm=hm.range,pm=Bg((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getUTCMinutes()})),gm=pm,ym=pm.range,vm=function(){return Rp.apply(om(Py,um,vy,Ny,fm,gm,hy,py,Wy).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)};function mm(){var t,e,n,r,i,a=0,o=1,s=Jp,c=!1;function u(e){return isNaN(e=+e)?i:s(0===n?.5:(e=(r(e)-t)*n,c?Math.max(0,Math.min(1,e)):e))}return u.domain=function(i){return arguments.length?(t=r(a=+i[0]),e=r(o=+i[1]),n=t===e?0:1/(e-t),u):[a,o]},u.clamp=function(t){return arguments.length?(c=!!t,u):c},u.interpolator=function(t){return arguments.length?(s=t,u):s},u.unknown=function(t){return arguments.length?(i=t,u):i},function(i){return r=i,t=i(a),e=i(o),n=t===e?0:1/(e-t),u}}function bm(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function xm(){var t=og(mm()(Jp));return t.copy=function(){return bm(t,xm())},Yp.apply(t,arguments)}function _m(){var t=yg(mm()).domain([1,10]);return t.copy=function(){return bm(t,_m()).base(t.base())},Yp.apply(t,arguments)}function km(){var t=xg(mm());return t.copy=function(){return bm(t,km()).constant(t.constant())},Yp.apply(t,arguments)}function wm(){var t=Tg(mm());return t.copy=function(){return bm(t,wm()).exponent(t.exponent())},Yp.apply(t,arguments)}function Em(){return wm.apply(null,arguments).exponent(.5)}function Tm(){var t=[],e=Jp;function n(n){if(!isNaN(n=+n))return e((c(t,n)-1)/(t.length-1))}return n.domain=function(e){if(!arguments.length)return t.slice();t=[];for(var i,a=0,o=e.length;a<o;++a)null==(i=e[a])||isNaN(i=+i)||t.push(i);return t.sort(r),n},n.interpolator=function(t){return arguments.length?(e=t,n):e},n.copy=function(){return Tm(e).domain(t)},Yp.apply(n,arguments)}function Cm(){var t,e,n,r,i,a,o,s=0,c=.5,u=1,l=Jp,h=!1;function f(t){return isNaN(t=+t)?o:(t=.5+((t=+a(t))-e)*(t<e?r:i),l(h?Math.max(0,Math.min(1,t)):t))}return f.domain=function(o){return arguments.length?(t=a(s=+o[0]),e=a(c=+o[1]),n=a(u=+o[2]),r=t===e?0:.5/(e-t),i=e===n?0:.5/(n-e),f):[s,c,u]},f.clamp=function(t){return arguments.length?(h=!!t,f):h},f.interpolator=function(t){return arguments.length?(l=t,f):l},f.unknown=function(t){return arguments.length?(o=t,f):o},function(o){return a=o,t=o(s),e=o(c),n=o(u),r=t===e?0:.5/(e-t),i=e===n?0:.5/(n-e),f}}function Am(){var t=og(Cm()(Jp));return t.copy=function(){return bm(t,Am())},Yp.apply(t,arguments)}function Sm(){var t=yg(Cm()).domain([.1,1,10]);return t.copy=function(){return bm(t,Sm()).base(t.base())},Yp.apply(t,arguments)}function Mm(){var t=xg(Cm());return t.copy=function(){return bm(t,Mm()).constant(t.constant())},Yp.apply(t,arguments)}function Om(){var t=Tg(Cm());return t.copy=function(){return bm(t,Om()).exponent(t.exponent())},Yp.apply(t,arguments)}function Dm(){return Om.apply(null,arguments).exponent(.5)}var Nm=function(t){for(var e=t.length/6|0,n=new Array(e),r=0;r<e;)n[r]="#"+t.slice(6*r,6*++r);return n},Bm=Nm("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),Lm=Nm("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),Pm=Nm("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),Im=Nm("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),Fm=Nm("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),jm=Nm("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),Rm=Nm("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),Ym=Nm("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),zm=Nm("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"),Um=Nm("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"),$m=function(t){return pn(t[t.length-1])},Wm=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(Nm),Hm=$m(Wm),Vm=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(Nm),Gm=$m(Vm),qm=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(Nm),Xm=$m(qm),Zm=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(Nm),Jm=$m(Zm),Km=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(Nm),Qm=$m(Km),tb=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(Nm),eb=$m(tb),nb=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(Nm),rb=$m(nb),ib=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(Nm),ab=$m(ib),ob=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(Nm),sb=$m(ob),cb=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(Nm),ub=$m(cb),lb=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(Nm),hb=$m(lb),fb=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(Nm),db=$m(fb),pb=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(Nm),gb=$m(pb),yb=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(Nm),vb=$m(yb),mb=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(Nm),bb=$m(mb),xb=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(Nm),_b=$m(xb),kb=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(Nm),wb=$m(kb),Eb=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(Nm),Tb=$m(Eb),Cb=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(Nm),Ab=$m(Cb),Sb=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(Nm),Mb=$m(Sb),Ob=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(Nm),Db=$m(Ob),Nb=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(Nm),Bb=$m(Nb),Lb=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(Nm),Pb=$m(Lb),Ib=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(Nm),Fb=$m(Ib),jb=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(Nm),Rb=$m(jb),Yb=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(Nm),zb=$m(Yb),Ub=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(Nm),$b=$m(Ub),Wb=function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-2710.57*t)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-67.37*t)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-2475.67*t)))))))+")"},Hb=kp(Oa(300,.5,0),Oa(-240,.5,1)),Vb=kp(Oa(-100,.75,.35),Oa(80,1.5,.8)),Gb=kp(Oa(260,.75,.35),Oa(80,1.5,.8)),qb=Oa(),Xb=function(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return qb.h=360*t-100,qb.s=1.5-1.5*e,qb.l=.8-.9*e,qb+""},Zb=Ge(),Jb=Math.PI/3,Kb=2*Math.PI/3,Qb=function(t){var e;return t=(.5-t)*Math.PI,Zb.r=255*(e=Math.sin(t))*e,Zb.g=255*(e=Math.sin(t+Jb))*e,Zb.b=255*(e=Math.sin(t+Kb))*e,Zb+""},tx=function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-14825.05*t)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+707.56*t)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-6838.66*t)))))))+")"};function ex(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var nx=ex(Nm("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),rx=ex(Nm("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),ix=ex(Nm("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),ax=ex(Nm("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),ox=function(t){return ke(ne(t).call(document.documentElement))},sx=0;function cx(){return new ux}function ux(){this._="@"+(++sx).toString(36)}ux.prototype=cx.prototype={constructor:ux,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var lx=function(t){return"string"==typeof t?new be([document.querySelectorAll(t)],[document.documentElement]):new be([null==t?[]:t],me)},hx=function(t,e){null==e&&(e=Mn().touches);for(var n=0,r=e?e.length:0,i=new Array(r);n<r;++n)i[n]=On(t,e[n]);return i},fx=function(t){return function(){return t}},dx=Math.abs,px=Math.atan2,gx=Math.cos,yx=Math.max,vx=Math.min,mx=Math.sin,bx=Math.sqrt,xx=Math.PI,_x=xx/2,kx=2*xx;function wx(t){return t>1?0:t<-1?xx:Math.acos(t)}function Ex(t){return t>=1?_x:t<=-1?-_x:Math.asin(t)}function Tx(t){return t.innerRadius}function Cx(t){return t.outerRadius}function Ax(t){return t.startAngle}function Sx(t){return t.endAngle}function Mx(t){return t&&t.padAngle}function Ox(t,e,n,r,i,a,o,s){var c=n-t,u=r-e,l=o-i,h=s-a,f=h*c-l*u;if(!(f*f<1e-12))return[t+(f=(l*(e-a)-h*(t-i))/f)*c,e+f*u]}function Dx(t,e,n,r,i,a,o){var s=t-n,c=e-r,u=(o?a:-a)/bx(s*s+c*c),l=u*c,h=-u*s,f=t+l,d=e+h,p=n+l,g=r+h,y=(f+p)/2,v=(d+g)/2,m=p-f,b=g-d,x=m*m+b*b,_=i-a,k=f*g-p*d,w=(b<0?-1:1)*bx(yx(0,_*_*x-k*k)),E=(k*b-m*w)/x,T=(-k*m-b*w)/x,C=(k*b+m*w)/x,A=(-k*m+b*w)/x,S=E-y,M=T-v,O=C-y,D=A-v;return S*S+M*M>O*O+D*D&&(E=C,T=A),{cx:E,cy:T,x01:-l,y01:-h,x11:E*(i/_-1),y11:T*(i/_-1)}}var Nx=function(){var t=Tx,e=Cx,n=fx(0),r=null,i=Ax,a=Sx,o=Mx,s=null;function c(){var c,u,l=+t.apply(this,arguments),h=+e.apply(this,arguments),f=i.apply(this,arguments)-_x,d=a.apply(this,arguments)-_x,p=dx(d-f),g=d>f;if(s||(s=c=Ui()),h<l&&(u=h,h=l,l=u),h>1e-12)if(p>kx-1e-12)s.moveTo(h*gx(f),h*mx(f)),s.arc(0,0,h,f,d,!g),l>1e-12&&(s.moveTo(l*gx(d),l*mx(d)),s.arc(0,0,l,d,f,g));else{var y,v,m=f,b=d,x=f,_=d,k=p,w=p,E=o.apply(this,arguments)/2,T=E>1e-12&&(r?+r.apply(this,arguments):bx(l*l+h*h)),C=vx(dx(h-l)/2,+n.apply(this,arguments)),A=C,S=C;if(T>1e-12){var M=Ex(T/l*mx(E)),O=Ex(T/h*mx(E));(k-=2*M)>1e-12?(x+=M*=g?1:-1,_-=M):(k=0,x=_=(f+d)/2),(w-=2*O)>1e-12?(m+=O*=g?1:-1,b-=O):(w=0,m=b=(f+d)/2)}var D=h*gx(m),N=h*mx(m),B=l*gx(_),L=l*mx(_);if(C>1e-12){var P,I=h*gx(b),F=h*mx(b),j=l*gx(x),R=l*mx(x);if(p<xx&&(P=Ox(D,N,j,R,I,F,B,L))){var Y=D-P[0],z=N-P[1],U=I-P[0],$=F-P[1],W=1/mx(wx((Y*U+z*$)/(bx(Y*Y+z*z)*bx(U*U+$*$)))/2),H=bx(P[0]*P[0]+P[1]*P[1]);A=vx(C,(l-H)/(W-1)),S=vx(C,(h-H)/(W+1))}}w>1e-12?S>1e-12?(y=Dx(j,R,D,N,h,S,g),v=Dx(I,F,B,L,h,S,g),s.moveTo(y.cx+y.x01,y.cy+y.y01),S<C?s.arc(y.cx,y.cy,S,px(y.y01,y.x01),px(v.y01,v.x01),!g):(s.arc(y.cx,y.cy,S,px(y.y01,y.x01),px(y.y11,y.x11),!g),s.arc(0,0,h,px(y.cy+y.y11,y.cx+y.x11),px(v.cy+v.y11,v.cx+v.x11),!g),s.arc(v.cx,v.cy,S,px(v.y11,v.x11),px(v.y01,v.x01),!g))):(s.moveTo(D,N),s.arc(0,0,h,m,b,!g)):s.moveTo(D,N),l>1e-12&&k>1e-12?A>1e-12?(y=Dx(B,L,I,F,l,-A,g),v=Dx(D,N,j,R,l,-A,g),s.lineTo(y.cx+y.x01,y.cy+y.y01),A<C?s.arc(y.cx,y.cy,A,px(y.y01,y.x01),px(v.y01,v.x01),!g):(s.arc(y.cx,y.cy,A,px(y.y01,y.x01),px(y.y11,y.x11),!g),s.arc(0,0,l,px(y.cy+y.y11,y.cx+y.x11),px(v.cy+v.y11,v.cx+v.x11),g),s.arc(v.cx,v.cy,A,px(v.y11,v.x11),px(v.y01,v.x01),!g))):s.arc(0,0,l,_,x,g):s.lineTo(B,L)}else s.moveTo(0,0);if(s.closePath(),c)return s=null,c+""||null}return c.centroid=function(){var n=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-xx/2;return[gx(r)*n,mx(r)*n]},c.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:fx(+e),c):t},c.outerRadius=function(t){return arguments.length?(e="function"==typeof t?t:fx(+t),c):e},c.cornerRadius=function(t){return arguments.length?(n="function"==typeof t?t:fx(+t),c):n},c.padRadius=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:fx(+t),c):r},c.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:fx(+t),c):i},c.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:fx(+t),c):a},c.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:fx(+t),c):o},c.context=function(t){return arguments.length?(s=null==t?null:t,c):s},c};function Bx(t){this._context=t}Bx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var Lx=function(t){return new Bx(t)};function Px(t){return t[0]}function Ix(t){return t[1]}var Fx=function(){var t=Px,e=Ix,n=fx(!0),r=null,i=Lx,a=null;function o(o){var s,c,u,l=o.length,h=!1;for(null==r&&(a=i(u=Ui())),s=0;s<=l;++s)!(s<l&&n(c=o[s],s,o))===h&&((h=!h)?a.lineStart():a.lineEnd()),h&&a.point(+t(c,s,o),+e(c,s,o));if(u)return a=null,u+""||null}return o.x=function(e){return arguments.length?(t="function"==typeof e?e:fx(+e),o):t},o.y=function(t){return arguments.length?(e="function"==typeof t?t:fx(+t),o):e},o.defined=function(t){return arguments.length?(n="function"==typeof t?t:fx(!!t),o):n},o.curve=function(t){return arguments.length?(i=t,null!=r&&(a=i(r)),o):i},o.context=function(t){return arguments.length?(null==t?r=a=null:a=i(r=t),o):r},o},jx=function(){var t=Px,e=null,n=fx(0),r=Ix,i=fx(!0),a=null,o=Lx,s=null;function c(c){var u,l,h,f,d,p=c.length,g=!1,y=new Array(p),v=new Array(p);for(null==a&&(s=o(d=Ui())),u=0;u<=p;++u){if(!(u<p&&i(f=c[u],u,c))===g)if(g=!g)l=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),h=u-1;h>=l;--h)s.point(y[h],v[h]);s.lineEnd(),s.areaEnd()}g&&(y[u]=+t(f,u,c),v[u]=+n(f,u,c),s.point(e?+e(f,u,c):y[u],r?+r(f,u,c):v[u]))}if(d)return s=null,d+""||null}function u(){return Fx().defined(i).curve(o).context(a)}return c.x=function(n){return arguments.length?(t="function"==typeof n?n:fx(+n),e=null,c):t},c.x0=function(e){return arguments.length?(t="function"==typeof e?e:fx(+e),c):t},c.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:fx(+t),c):e},c.y=function(t){return arguments.length?(n="function"==typeof t?t:fx(+t),r=null,c):n},c.y0=function(t){return arguments.length?(n="function"==typeof t?t:fx(+t),c):n},c.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:fx(+t),c):r},c.lineX0=c.lineY0=function(){return u().x(t).y(n)},c.lineY1=function(){return u().x(t).y(r)},c.lineX1=function(){return u().x(e).y(n)},c.defined=function(t){return arguments.length?(i="function"==typeof t?t:fx(!!t),c):i},c.curve=function(t){return arguments.length?(o=t,null!=a&&(s=o(a)),c):o},c.context=function(t){return arguments.length?(null==t?a=s=null:s=o(a=t),c):a},c},Rx=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},Yx=function(t){return t},zx=function(){var t=Yx,e=Rx,n=null,r=fx(0),i=fx(kx),a=fx(0);function o(o){var s,c,u,l,h,f=o.length,d=0,p=new Array(f),g=new Array(f),y=+r.apply(this,arguments),v=Math.min(kx,Math.max(-kx,i.apply(this,arguments)-y)),m=Math.min(Math.abs(v)/f,a.apply(this,arguments)),b=m*(v<0?-1:1);for(s=0;s<f;++s)(h=g[p[s]=s]=+t(o[s],s,o))>0&&(d+=h);for(null!=e?p.sort((function(t,n){return e(g[t],g[n])})):null!=n&&p.sort((function(t,e){return n(o[t],o[e])})),s=0,u=d?(v-f*b)/d:0;s<f;++s,y=l)c=p[s],l=y+((h=g[c])>0?h*u:0)+b,g[c]={data:o[c],index:s,value:h,startAngle:y,endAngle:l,padAngle:m};return g}return o.value=function(e){return arguments.length?(t="function"==typeof e?e:fx(+e),o):t},o.sortValues=function(t){return arguments.length?(e=t,n=null,o):e},o.sort=function(t){return arguments.length?(n=t,e=null,o):n},o.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:fx(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:fx(+t),o):i},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:fx(+t),o):a},o},Ux=Wx(Lx);function $x(t){this._curve=t}function Wx(t){function e(e){return new $x(t(e))}return e._curve=t,e}function Hx(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(Wx(t)):e()._curve},t}$x.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var Vx=function(){return Hx(Fx().curve(Ux))},Gx=function(){var t=jx().curve(Ux),e=t.curve,n=t.lineX0,r=t.lineX1,i=t.lineY0,a=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Hx(n())},delete t.lineX0,t.lineEndAngle=function(){return Hx(r())},delete t.lineX1,t.lineInnerRadius=function(){return Hx(i())},delete t.lineY0,t.lineOuterRadius=function(){return Hx(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(Wx(t)):e()._curve},t},qx=function(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]},Xx=Array.prototype.slice;function Zx(t){return t.source}function Jx(t){return t.target}function Kx(t){var e=Zx,n=Jx,r=Px,i=Ix,a=null;function o(){var o,s=Xx.call(arguments),c=e.apply(this,s),u=n.apply(this,s);if(a||(a=o=Ui()),t(a,+r.apply(this,(s[0]=c,s)),+i.apply(this,s),+r.apply(this,(s[0]=u,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(r="function"==typeof t?t:fx(+t),o):r},o.y=function(t){return arguments.length?(i="function"==typeof t?t:fx(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}function Qx(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e=(e+r)/2,n,e,i,r,i)}function t_(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e,n=(n+i)/2,r,n,r,i)}function e_(t,e,n,r,i){var a=qx(e,n),o=qx(e,n=(n+i)/2),s=qx(r,n),c=qx(r,i);t.moveTo(a[0],a[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],c[0],c[1])}function n_(){return Kx(Qx)}function r_(){return Kx(t_)}function i_(){var t=Kx(e_);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}var a_={draw:function(t,e){var n=Math.sqrt(e/xx);t.moveTo(n,0),t.arc(0,0,n,0,kx)}},o_={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},s_=Math.sqrt(1/3),c_=2*s_,u_={draw:function(t,e){var n=Math.sqrt(e/c_),r=n*s_;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},l_=Math.sin(xx/10)/Math.sin(7*xx/10),h_=Math.sin(kx/10)*l_,f_=-Math.cos(kx/10)*l_,d_={draw:function(t,e){var n=Math.sqrt(.8908130915292852*e),r=h_*n,i=f_*n;t.moveTo(0,-n),t.lineTo(r,i);for(var a=1;a<5;++a){var o=kx*a/5,s=Math.cos(o),c=Math.sin(o);t.lineTo(c*n,-s*n),t.lineTo(s*r-c*i,c*r+s*i)}t.closePath()}},p_={draw:function(t,e){var n=Math.sqrt(e),r=-n/2;t.rect(r,r,n,n)}},g_=Math.sqrt(3),y_={draw:function(t,e){var n=-Math.sqrt(e/(3*g_));t.moveTo(0,2*n),t.lineTo(-g_*n,-n),t.lineTo(g_*n,-n),t.closePath()}},v_=Math.sqrt(3)/2,m_=1/Math.sqrt(12),b_=3*(m_/2+1),x_={draw:function(t,e){var n=Math.sqrt(e/b_),r=n/2,i=n*m_,a=r,o=n*m_+n,s=-a,c=o;t.moveTo(r,i),t.lineTo(a,o),t.lineTo(s,c),t.lineTo(-.5*r-v_*i,v_*r+-.5*i),t.lineTo(-.5*a-v_*o,v_*a+-.5*o),t.lineTo(-.5*s-v_*c,v_*s+-.5*c),t.lineTo(-.5*r+v_*i,-.5*i-v_*r),t.lineTo(-.5*a+v_*o,-.5*o-v_*a),t.lineTo(-.5*s+v_*c,-.5*c-v_*s),t.closePath()}},__=[a_,o_,u_,p_,d_,y_,x_],k_=function(){var t=fx(a_),e=fx(64),n=null;function r(){var r;if(n||(n=r=Ui()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),r)return n=null,r+""||null}return r.type=function(e){return arguments.length?(t="function"==typeof e?e:fx(e),r):t},r.size=function(t){return arguments.length?(e="function"==typeof t?t:fx(+t),r):e},r.context=function(t){return arguments.length?(n=null==t?null:t,r):n},r},w_=function(){};function E_(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function T_(t){this._context=t}T_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:E_(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:E_(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var C_=function(t){return new T_(t)};function A_(t){this._context=t}A_.prototype={areaStart:w_,areaEnd:w_,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:E_(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var S_=function(t){return new A_(t)};function M_(t){this._context=t}M_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:E_(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var O_=function(t){return new M_(t)};function D_(t,e){this._basis=new T_(t),this._beta=e}D_.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],a=e[0],o=t[n]-i,s=e[n]-a,c=-1;++c<=n;)r=c/n,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*o),this._beta*e[c]+(1-this._beta)*(a+r*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var N_=function t(e){function n(t){return 1===e?new T_(t):new D_(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function B_(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function L_(t,e){this._context=t,this._k=(1-e)/6}L_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:B_(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:B_(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var P_=function t(e){function n(t){return new L_(t,e)}return n.tension=function(e){return t(+e)},n}(0);function I_(t,e){this._context=t,this._k=(1-e)/6}I_.prototype={areaStart:w_,areaEnd:w_,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:B_(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var F_=function t(e){function n(t){return new I_(t,e)}return n.tension=function(e){return t(+e)},n}(0);function j_(t,e){this._context=t,this._k=(1-e)/6}j_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:B_(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var R_=function t(e){function n(t){return new j_(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Y_(t,e,n){var r=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>1e-12){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>1e-12){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/l,o=(o*u+t._y1*t._l23_2a-n*t._l12_2a)/l}t._context.bezierCurveTo(r,i,a,o,t._x2,t._y2)}function z_(t,e){this._context=t,this._alpha=e}z_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Y_(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var U_=function t(e){function n(t){return e?new z_(t,e):new L_(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function $_(t,e){this._context=t,this._alpha=e}$_.prototype={areaStart:w_,areaEnd:w_,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Y_(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var W_=function t(e){function n(t){return e?new $_(t,e):new I_(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function H_(t,e){this._context=t,this._alpha=e}H_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Y_(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var V_=function t(e){function n(t){return e?new H_(t,e):new j_(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function G_(t){this._context=t}G_.prototype={areaStart:w_,areaEnd:w_,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};var q_=function(t){return new G_(t)};function X_(t){return t<0?-1:1}function Z_(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),o=(n-t._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(X_(a)+X_(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function J_(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function K_(t,e,n){var r=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-r)/3;t._context.bezierCurveTo(r+s,i+s*e,a-s,o-s*n,a,o)}function Q_(t){this._context=t}function tk(t){this._context=new ek(t)}function ek(t){this._context=t}function nk(t){return new Q_(t)}function rk(t){return new tk(t)}function ik(t){this._context=t}function ak(t){var e,n,r=t.length-1,i=new Array(r),a=new Array(r),o=new Array(r);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e<r-1;++e)i[e]=1,a[e]=4,o[e]=4*t[e]+2*t[e+1];for(i[r-1]=2,a[r-1]=7,o[r-1]=8*t[r-1]+t[r],e=1;e<r;++e)n=i[e]/a[e-1],a[e]-=n,o[e]-=n*o[e-1];for(i[r-1]=o[r-1]/a[r-1],e=r-2;e>=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e<r-1;++e)a[e]=2*t[e+1]-i[e+1];return[i,a]}Q_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:K_(this,this._t0,J_(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,K_(this,J_(this,n=Z_(this,t,e)),n);break;default:K_(this,this._t0,n=Z_(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}},(tk.prototype=Object.create(Q_.prototype)).point=function(t,e){Q_.prototype.point.call(this,e,t)},ek.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,a){this._context.bezierCurveTo(e,t,r,n,a,i)}},ik.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===n)this._context.lineTo(t[1],e[1]);else for(var r=ak(t),i=ak(e),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],t[o],e[o]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var ok=function(t){return new ik(t)};function sk(t,e){this._context=t,this._t=e}sk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var ck=function(t){return new sk(t,.5)};function uk(t){return new sk(t,0)}function lk(t){return new sk(t,1)}var hk=function(t,e){if((i=t.length)>1)for(var n,r,i,a=1,o=t[e[0]],s=o.length;a<i;++a)for(r=o,o=t[e[a]],n=0;n<s;++n)o[n][1]+=o[n][0]=isNaN(r[n][1])?r[n][0]:r[n][1]},fk=function(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n};function dk(t,e){return t[e]}var pk=function(){var t=fx([]),e=fk,n=hk,r=dk;function i(i){var a,o,s=t.apply(this,arguments),c=i.length,u=s.length,l=new Array(u);for(a=0;a<u;++a){for(var h,f=s[a],d=l[a]=new Array(c),p=0;p<c;++p)d[p]=h=[0,+r(i[p],f,p,i)],h.data=i[p];d.key=f}for(a=0,o=e(l);a<u;++a)l[o[a]].index=a;return n(l,o),l}return i.keys=function(e){return arguments.length?(t="function"==typeof e?e:fx(Xx.call(e)),i):t},i.value=function(t){return arguments.length?(r="function"==typeof t?t:fx(+t),i):r},i.order=function(t){return arguments.length?(e=null==t?fk:"function"==typeof t?t:fx(Xx.call(t)),i):e},i.offset=function(t){return arguments.length?(n=null==t?hk:t,i):n},i},gk=function(t,e){if((r=t.length)>0){for(var n,r,i,a=0,o=t[0].length;a<o;++a){for(i=n=0;n<r;++n)i+=t[n][a][1]||0;if(i)for(n=0;n<r;++n)t[n][a][1]/=i}hk(t,e)}},yk=function(t,e){if((s=t.length)>0)for(var n,r,i,a,o,s,c=0,u=t[e[0]].length;c<u;++c)for(a=o=0,n=0;n<s;++n)(i=(r=t[e[n]][c])[1]-r[0])>0?(r[0]=a,r[1]=a+=i):i<0?(r[1]=o,r[0]=o+=i):(r[0]=0,r[1]=i)},vk=function(t,e){if((n=t.length)>0){for(var n,r=0,i=t[e[0]],a=i.length;r<a;++r){for(var o=0,s=0;o<n;++o)s+=t[o][r][1]||0;i[r][1]+=i[r][0]=-s/2}hk(t,e)}},mk=function(t,e){if((i=t.length)>0&&(r=(n=t[e[0]]).length)>0){for(var n,r,i,a=0,o=1;o<r;++o){for(var s=0,c=0,u=0;s<i;++s){for(var l=t[e[s]],h=l[o][1]||0,f=(h-(l[o-1][1]||0))/2,d=0;d<s;++d){var p=t[e[d]];f+=(p[o][1]||0)-(p[o-1][1]||0)}c+=h,u+=f*h}n[o-1][1]+=n[o-1][0]=a,c&&(a-=u/c)}n[o-1][1]+=n[o-1][0]=a,hk(t,e)}},bk=function(t){var e=t.map(xk);return fk(t).sort((function(t,n){return e[t]-e[n]}))};function xk(t){for(var e,n=-1,r=0,i=t.length,a=-1/0;++n<i;)(e=+t[n][1])>a&&(a=e,r=n);return r}var _k=function(t){var e=t.map(kk);return fk(t).sort((function(t,n){return e[t]-e[n]}))};function kk(t){for(var e,n=0,r=-1,i=t.length;++r<i;)(e=+t[r][1])&&(n+=e);return n}var wk=function(t){return _k(t).reverse()},Ek=function(t){var e,n,r=t.length,i=t.map(kk),a=bk(t),o=0,s=0,c=[],u=[];for(e=0;e<r;++e)n=a[e],o<s?(o+=i[n],c.push(n)):(s+=i[n],u.push(n));return u.reverse().concat(c)},Tk=function(t){return fk(t).reverse()};var Ck=Date.prototype.toISOString?function(t){return t.toISOString()}:Wy("%Y-%m-%dT%H:%M:%S.%LZ");var Ak=+new Date("2000-01-01T00:00:00.000Z")?function(t){var e=new Date(t);return isNaN(e)?null:e}:Hy("%Y-%m-%dT%H:%M:%S.%LZ"),Sk=function(t,e,n){var r=new $n,i=e;return null==e?(r.restart(t,e,n),r):(e=+e,n=null==n?zn():+n,r.restart((function a(o){o+=i,r.restart(a,i+=e,n),t(o)}),e,n),r)},Mk=function(t){return function(){return t}};function Ok(t){return t[0]}function Dk(t){return t[1]}function Nk(){this._=null}function Bk(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Lk(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function Pk(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function Ik(t){for(;t.L;)t=t.L;return t}Nk.prototype={constructor:Nk,insert:function(t,e){var n,r,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;n=t}else this._?(t=Ik(this._),e.P=null,e.N=t,t.P=t.L=e,n=t):(e.P=e.N=null,this._=e,n=null);for(e.L=e.R=null,e.U=n,e.C=!0,t=e;n&&n.C;)n===(r=n.U).L?(i=r.R)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.R&&(Lk(this,n),n=(t=n).U),n.C=!1,r.C=!0,Pk(this,r)):(i=r.L)&&i.C?(n.C=i.C=!1,r.C=!0,t=r):(t===n.L&&(Pk(this,n),n=(t=n).U),n.C=!1,r.C=!0,Lk(this,r)),n=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,n,r,i=t.U,a=t.L,o=t.R;if(n=a?o?Ik(o):a:o,i?i.L===t?i.L=n:i.R=n:this._=n,a&&o?(r=n.C,n.C=t.C,n.L=a,a.U=n,n!==o?(i=n.U,n.U=t.U,t=n.R,i.L=t,n.R=o,o.U=n):(n.U=i,i=n,t=n.R)):(r=t.C,t=n),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,Lk(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Pk(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Lk(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Pk(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Lk(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Pk(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var Fk=Nk;function jk(t,e,n,r){var i=[null,null],a=cw.push(i)-1;return i.left=t,i.right=e,n&&Yk(i,t,e,n),r&&Yk(i,e,t,r),ow[t.index].halfedges.push(a),ow[e.index].halfedges.push(a),i}function Rk(t,e,n){var r=[e,n];return r.left=t,r}function Yk(t,e,n,r){t[0]||t[1]?t.left===n?t[1]=r:t[0]=r:(t[0]=r,t.left=e,t.right=n)}function zk(t,e,n,r,i){var a,o=t[0],s=t[1],c=o[0],u=o[1],l=0,h=1,f=s[0]-c,d=s[1]-u;if(a=e-c,f||!(a>0)){if(a/=f,f<0){if(a<l)return;a<h&&(h=a)}else if(f>0){if(a>h)return;a>l&&(l=a)}if(a=r-c,f||!(a<0)){if(a/=f,f<0){if(a>h)return;a>l&&(l=a)}else if(f>0){if(a<l)return;a<h&&(h=a)}if(a=n-u,d||!(a>0)){if(a/=d,d<0){if(a<l)return;a<h&&(h=a)}else if(d>0){if(a>h)return;a>l&&(l=a)}if(a=i-u,d||!(a<0)){if(a/=d,d<0){if(a>h)return;a>l&&(l=a)}else if(d>0){if(a<l)return;a<h&&(h=a)}return!(l>0||h<1)||(l>0&&(t[0]=[c+l*f,u+l*d]),h<1&&(t[1]=[c+h*f,u+h*d]),!0)}}}}}function Uk(t,e,n,r,i){var a=t[1];if(a)return!0;var o,s,c=t[0],u=t.left,l=t.right,h=u[0],f=u[1],d=l[0],p=l[1],g=(h+d)/2,y=(f+p)/2;if(p===f){if(g<e||g>=r)return;if(h>d){if(c){if(c[1]>=i)return}else c=[g,n];a=[g,i]}else{if(c){if(c[1]<n)return}else c=[g,i];a=[g,n]}}else if(s=y-(o=(h-d)/(p-f))*g,o<-1||o>1)if(h>d){if(c){if(c[1]>=i)return}else c=[(n-s)/o,n];a=[(i-s)/o,i]}else{if(c){if(c[1]<n)return}else c=[(i-s)/o,i];a=[(n-s)/o,n]}else if(f<p){if(c){if(c[0]>=r)return}else c=[e,o*e+s];a=[r,o*r+s]}else{if(c){if(c[0]<e)return}else c=[r,o*r+s];a=[e,o*e+s]}return t[0]=c,t[1]=a,!0}function $k(t,e){var n=t.site,r=e.left,i=e.right;return n===i&&(i=r,r=n),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(n===r?(r=e[1],i=e[0]):(r=e[0],i=e[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function Wk(t,e){return e[+(e.left!==t.site)]}function Hk(t,e){return e[+(e.left===t.site)]}var Vk,Gk=[];function qk(){Bk(this),this.x=this.y=this.arc=this.site=this.cy=null}function Xk(t){var e=t.P,n=t.N;if(e&&n){var r=e.site,i=t.site,a=n.site;if(r!==a){var o=i[0],s=i[1],c=r[0]-o,u=r[1]-s,l=a[0]-o,h=a[1]-s,f=2*(c*h-u*l);if(!(f>=-lw)){var d=c*c+u*u,p=l*l+h*h,g=(h*d-u*p)/f,y=(c*p-l*d)/f,v=Gk.pop()||new qk;v.arc=t,v.site=i,v.x=g+o,v.y=(v.cy=y+s)+Math.sqrt(g*g+y*y),t.circle=v;for(var m=null,b=sw._;b;)if(v.y<b.y||v.y===b.y&&v.x<=b.x){if(!b.L){m=b.P;break}b=b.L}else{if(!b.R){m=b;break}b=b.R}sw.insert(m,v),m||(Vk=v)}}}}function Zk(t){var e=t.circle;e&&(e.P||(Vk=e.N),sw.remove(e),Gk.push(e),Bk(e),t.circle=null)}var Jk=[];function Kk(){Bk(this),this.edge=this.site=this.circle=null}function Qk(t){var e=Jk.pop()||new Kk;return e.site=t,e}function tw(t){Zk(t),aw.remove(t),Jk.push(t),Bk(t)}function ew(t){var e=t.circle,n=e.x,r=e.cy,i=[n,r],a=t.P,o=t.N,s=[t];tw(t);for(var c=a;c.circle&&Math.abs(n-c.circle.x)<uw&&Math.abs(r-c.circle.cy)<uw;)a=c.P,s.unshift(c),tw(c),c=a;s.unshift(c),Zk(c);for(var u=o;u.circle&&Math.abs(n-u.circle.x)<uw&&Math.abs(r-u.circle.cy)<uw;)o=u.N,s.push(u),tw(u),u=o;s.push(u),Zk(u);var l,h=s.length;for(l=1;l<h;++l)u=s[l],c=s[l-1],Yk(u.edge,c.site,u.site,i);c=s[0],(u=s[h-1]).edge=jk(c.site,u.site,null,i),Xk(c),Xk(u)}function nw(t){for(var e,n,r,i,a=t[0],o=t[1],s=aw._;s;)if((r=rw(s,o)-a)>uw)s=s.L;else{if(!((i=a-iw(s,o))>uw)){r>-uw?(e=s.P,n=s):i>-uw?(e=s,n=s.N):e=n=s;break}if(!s.R){e=s;break}s=s.R}!function(t){ow[t.index]={site:t,halfedges:[]}}(t);var c=Qk(t);if(aw.insert(e,c),e||n){if(e===n)return Zk(e),n=Qk(e.site),aw.insert(c,n),c.edge=n.edge=jk(e.site,c.site),Xk(e),void Xk(n);if(n){Zk(e),Zk(n);var u=e.site,l=u[0],h=u[1],f=t[0]-l,d=t[1]-h,p=n.site,g=p[0]-l,y=p[1]-h,v=2*(f*y-d*g),m=f*f+d*d,b=g*g+y*y,x=[(y*m-d*b)/v+l,(f*b-g*m)/v+h];Yk(n.edge,u,p,x),c.edge=jk(u,t,null,x),n.edge=jk(t,p,null,x),Xk(e),Xk(n)}else c.edge=jk(e.site,c.site)}}function rw(t,e){var n=t.site,r=n[0],i=n[1],a=i-e;if(!a)return r;var o=t.P;if(!o)return-1/0;var s=(n=o.site)[0],c=n[1],u=c-e;if(!u)return s;var l=s-r,h=1/a-1/u,f=l/u;return h?(-f+Math.sqrt(f*f-2*h*(l*l/(-2*u)-c+u/2+i-a/2)))/h+r:(r+s)/2}function iw(t,e){var n=t.N;if(n)return rw(n,e);var r=t.site;return r[1]===e?r[0]:1/0}var aw,ow,sw,cw,uw=1e-6,lw=1e-12;function hw(t,e){return e[1]-t[1]||e[0]-t[0]}function fw(t,e){var n,r,i,a=t.sort(hw).pop();for(cw=[],ow=new Array(t.length),aw=new Fk,sw=new Fk;;)if(i=Vk,a&&(!i||a[1]<i.y||a[1]===i.y&&a[0]<i.x))a[0]===n&&a[1]===r||(nw(a),n=a[0],r=a[1]),a=t.pop();else{if(!i)break;ew(i.arc)}if(function(){for(var t,e,n,r,i=0,a=ow.length;i<a;++i)if((t=ow[i])&&(r=(e=t.halfedges).length)){var o=new Array(r),s=new Array(r);for(n=0;n<r;++n)o[n]=n,s[n]=$k(t,cw[e[n]]);for(o.sort((function(t,e){return s[e]-s[t]})),n=0;n<r;++n)s[n]=e[o[n]];for(n=0;n<r;++n)e[n]=s[n]}}(),e){var o=+e[0][0],s=+e[0][1],c=+e[1][0],u=+e[1][1];!function(t,e,n,r){for(var i,a=cw.length;a--;)Uk(i=cw[a],t,e,n,r)&&zk(i,t,e,n,r)&&(Math.abs(i[0][0]-i[1][0])>uw||Math.abs(i[0][1]-i[1][1])>uw)||delete cw[a]}(o,s,c,u),function(t,e,n,r){var i,a,o,s,c,u,l,h,f,d,p,g,y=ow.length,v=!0;for(i=0;i<y;++i)if(a=ow[i]){for(o=a.site,s=(c=a.halfedges).length;s--;)cw[c[s]]||c.splice(s,1);for(s=0,u=c.length;s<u;)p=(d=Hk(a,cw[c[s]]))[0],g=d[1],h=(l=Wk(a,cw[c[++s%u]]))[0],f=l[1],(Math.abs(p-h)>uw||Math.abs(g-f)>uw)&&(c.splice(s,0,cw.push(Rk(o,d,Math.abs(p-t)<uw&&r-g>uw?[t,Math.abs(h-t)<uw?f:r]:Math.abs(g-r)<uw&&n-p>uw?[Math.abs(f-r)<uw?h:n,r]:Math.abs(p-n)<uw&&g-e>uw?[n,Math.abs(h-n)<uw?f:e]:Math.abs(g-e)<uw&&p-t>uw?[Math.abs(f-e)<uw?h:t,e]:null))-1),++u);u&&(v=!1)}if(v){var m,b,x,_=1/0;for(i=0,v=null;i<y;++i)(a=ow[i])&&(x=(m=(o=a.site)[0]-t)*m+(b=o[1]-e)*b)<_&&(_=x,v=a);if(v){var k=[t,e],w=[t,r],E=[n,r],T=[n,e];v.halfedges.push(cw.push(Rk(o=v.site,k,w))-1,cw.push(Rk(o,w,E))-1,cw.push(Rk(o,E,T))-1,cw.push(Rk(o,T,k))-1)}}for(i=0;i<y;++i)(a=ow[i])&&(a.halfedges.length||delete ow[i])}(o,s,c,u)}this.edges=cw,this.cells=ow,aw=sw=cw=ow=null}fw.prototype={constructor:fw,polygons:function(){var t=this.edges;return this.cells.map((function(e){var n=e.halfedges.map((function(n){return Wk(e,t[n])}));return n.data=e.site.data,n}))},triangles:function(){var t=[],e=this.edges;return this.cells.forEach((function(n,r){if(a=(i=n.halfedges).length)for(var i,a,o,s,c,u,l=n.site,h=-1,f=e[i[a-1]],d=f.left===l?f.right:f.left;++h<a;)o=d,d=(f=e[i[h]]).left===l?f.right:f.left,o&&d&&r<o.index&&r<d.index&&(c=o,u=d,((s=l)[0]-u[0])*(c[1]-s[1])-(s[0]-c[0])*(u[1]-s[1])<0)&&t.push([l.data,o.data,d.data])})),t},links:function(){return this.edges.filter((function(t){return t.right})).map((function(t){return{source:t.left.data,target:t.right.data}}))},find:function(t,e,n){for(var r,i,a=this,o=a._found||0,s=a.cells.length;!(i=a.cells[o]);)if(++o>=s)return null;var c=t-i.site[0],u=e-i.site[1],l=c*c+u*u;do{i=a.cells[r=o],o=null,i.halfedges.forEach((function(n){var r=a.edges[n],s=r.left;if(s!==i.site&&s||(s=r.right)){var c=t-s[0],u=e-s[1],h=c*c+u*u;h<l&&(l=h,o=s.index)}}))}while(null!==o);return a._found=r,null==n||l<=n*n?i.site:null}};var dw=function(){var t=Ok,e=Dk,n=null;function r(r){return new fw(r.map((function(n,i){var a=[Math.round(t(n,i,r)/uw)*uw,Math.round(e(n,i,r)/uw)*uw];return a.index=i,a.data=n,a})),n)}return r.polygons=function(t){return r(t).polygons()},r.links=function(t){return r(t).links()},r.triangles=function(t){return r(t).triangles()},r.x=function(e){return arguments.length?(t="function"==typeof e?e:Mk(+e),r):t},r.y=function(t){return arguments.length?(e="function"==typeof t?t:Mk(+t),r):e},r.extent=function(t){return arguments.length?(n=null==t?null:[[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]],r):n&&[[n[0][0],n[0][1]],[n[1][0],n[1][1]]]},r.size=function(t){return arguments.length?(n=null==t?null:[[0,0],[+t[0],+t[1]]],r):n&&[n[1][0]-n[0][0],n[1][1]-n[0][1]]},r},pw=function(t){return function(){return t}};function gw(t,e,n){this.target=t,this.type=e,this.transform=n}function yw(t,e,n){this.k=t,this.x=e,this.y=n}yw.prototype={constructor:yw,scale:function(t){return 1===t?this:new yw(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new yw(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var vw=new yw(1,0,0);function mw(t){for(;!t.__zoom;)if(!(t=t.parentNode))return vw;return t.__zoom}function bw(){ce.stopImmediatePropagation()}mw.prototype=yw.prototype;var xw=function(){ce.preventDefault(),ce.stopImmediatePropagation()};function _w(){return!ce.ctrlKey&&!ce.button}function kw(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function ww(){return this.__zoom||vw}function Ew(){return-ce.deltaY*(1===ce.deltaMode?.05:ce.deltaMode?1:.002)}function Tw(){return navigator.maxTouchPoints||"ontouchstart"in this}function Cw(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],a=t.invertY(e[0][1])-n[0][1],o=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}var Aw=function(){var t,e,n=_w,r=kw,i=Cw,a=Ew,o=Tw,s=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,l=fp,h=lt("start","zoom","end"),f=0;function d(t){t.property("__zoom",ww).on("wheel.zoom",x).on("mousedown.zoom",_).on("dblclick.zoom",k).filter(o).on("touchstart.zoom",w).on("touchmove.zoom",E).on("touchend.zoom touchcancel.zoom",T).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(t,e){return(e=Math.max(s[0],Math.min(s[1],e)))===t.k?t:new yw(e,t.x,t.y)}function g(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new yw(t.k,r,i)}function y(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function v(t,e,n){t.on("start.zoom",(function(){m(this,arguments).start()})).on("interrupt.zoom end.zoom",(function(){m(this,arguments).end()})).tween("zoom",(function(){var t=this,i=arguments,a=m(t,i),o=r.apply(t,i),s=null==n?y(o):"function"==typeof n?n.apply(t,i):n,c=Math.max(o[1][0]-o[0][0],o[1][1]-o[0][1]),u=t.__zoom,h="function"==typeof e?e.apply(t,i):e,f=l(u.invert(s).concat(c/u.k),h.invert(s).concat(c/h.k));return function(t){if(1===t)t=h;else{var e=f(t),n=c/e[2];t=new yw(n,s[0]-e[0]*n,s[1]-e[1]*n)}a.zoom(null,t)}}))}function m(t,e,n){return!n&&t.__zooming||new b(t,e)}function b(t,e){this.that=t,this.args=e,this.active=0,this.extent=r.apply(t,e),this.taps=0}function x(){if(n.apply(this,arguments)){var t=m(this,arguments),e=this.__zoom,r=Math.max(s[0],Math.min(s[1],e.k*Math.pow(2,a.apply(this,arguments)))),o=Nn(this);if(t.wheel)t.mouse[0][0]===o[0]&&t.mouse[0][1]===o[1]||(t.mouse[1]=e.invert(t.mouse[0]=o)),clearTimeout(t.wheel);else{if(e.k===r)return;t.mouse=[o,e.invert(o)],or(this),t.start()}xw(),t.wheel=setTimeout(u,150),t.zoom("mouse",i(g(p(e,r),t.mouse[0],t.mouse[1]),t.extent,c))}function u(){t.wheel=null,t.end()}}function _(){if(!e&&n.apply(this,arguments)){var t=m(this,arguments,!0),r=ke(ce.view).on("mousemove.zoom",u,!0).on("mouseup.zoom",l,!0),a=Nn(this),o=ce.clientX,s=ce.clientY;Te(ce.view),bw(),t.mouse=[a,this.__zoom.invert(a)],or(this),t.start()}function u(){if(xw(),!t.moved){var e=ce.clientX-o,n=ce.clientY-s;t.moved=e*e+n*n>f}t.zoom("mouse",i(g(t.that.__zoom,t.mouse[0]=Nn(t.that),t.mouse[1]),t.extent,c))}function l(){r.on("mousemove.zoom mouseup.zoom",null),Ce(ce.view,t.moved),xw(),t.end()}}function k(){if(n.apply(this,arguments)){var t=this.__zoom,e=Nn(this),a=t.invert(e),o=t.k*(ce.shiftKey?.5:2),s=i(g(p(t,o),e,a),r.apply(this,arguments),c);xw(),u>0?ke(this).transition().duration(u).call(v,s,e):ke(this).call(d.transform,s)}}function w(){if(n.apply(this,arguments)){var e,r,i,a,o=ce.touches,s=o.length,c=m(this,arguments,ce.changedTouches.length===s);for(bw(),r=0;r<s;++r)i=o[r],a=[a=Dn(this,o,i.identifier),this.__zoom.invert(a),i.identifier],c.touch0?c.touch1||c.touch0[2]===a[2]||(c.touch1=a,c.taps=0):(c.touch0=a,e=!0,c.taps=1+!!t);t&&(t=clearTimeout(t)),e&&(c.taps<2&&(t=setTimeout((function(){t=null}),500)),or(this),c.start())}}function E(){if(this.__zooming){var e,n,r,a,o=m(this,arguments),s=ce.changedTouches,u=s.length;for(xw(),t&&(t=clearTimeout(t)),o.taps=0,e=0;e<u;++e)n=s[e],r=Dn(this,s,n.identifier),o.touch0&&o.touch0[2]===n.identifier?o.touch0[0]=r:o.touch1&&o.touch1[2]===n.identifier&&(o.touch1[0]=r);if(n=o.that.__zoom,o.touch1){var l=o.touch0[0],h=o.touch0[1],f=o.touch1[0],d=o.touch1[1],y=(y=f[0]-l[0])*y+(y=f[1]-l[1])*y,v=(v=d[0]-h[0])*v+(v=d[1]-h[1])*v;n=p(n,Math.sqrt(y/v)),r=[(l[0]+f[0])/2,(l[1]+f[1])/2],a=[(h[0]+d[0])/2,(h[1]+d[1])/2]}else{if(!o.touch0)return;r=o.touch0[0],a=o.touch0[1]}o.zoom("touch",i(g(n,r,a),o.extent,c))}}function T(){if(this.__zooming){var t,n,r=m(this,arguments),i=ce.changedTouches,a=i.length;for(bw(),e&&clearTimeout(e),e=setTimeout((function(){e=null}),500),t=0;t<a;++t)n=i[t],r.touch0&&r.touch0[2]===n.identifier?delete r.touch0:r.touch1&&r.touch1[2]===n.identifier&&delete r.touch1;if(r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0)r.touch0[1]=this.__zoom.invert(r.touch0[0]);else if(r.end(),2===r.taps){var o=ke(this).on("dblclick.zoom");o&&o.apply(this,arguments)}}}return d.transform=function(t,e,n){var r=t.selection?t.selection():t;r.property("__zoom",ww),t!==r?v(t,e,n):r.interrupt().each((function(){m(this,arguments).start().zoom(null,"function"==typeof e?e.apply(this,arguments):e).end()}))},d.scaleBy=function(t,e,n){d.scaleTo(t,(function(){var t=this.__zoom.k,n="function"==typeof e?e.apply(this,arguments):e;return t*n}),n)},d.scaleTo=function(t,e,n){d.transform(t,(function(){var t=r.apply(this,arguments),a=this.__zoom,o=null==n?y(t):"function"==typeof n?n.apply(this,arguments):n,s=a.invert(o),u="function"==typeof e?e.apply(this,arguments):e;return i(g(p(a,u),o,s),t,c)}),n)},d.translateBy=function(t,e,n){d.transform(t,(function(){return i(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof n?n.apply(this,arguments):n),r.apply(this,arguments),c)}))},d.translateTo=function(t,e,n,a){d.transform(t,(function(){var t=r.apply(this,arguments),o=this.__zoom,s=null==a?y(t):"function"==typeof a?a.apply(this,arguments):a;return i(vw.translate(s[0],s[1]).scale(o.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof n?-n.apply(this,arguments):-n),t,c)}),a)},b.prototype={start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,e){return this.mouse&&"mouse"!==t&&(this.mouse[1]=e.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=e.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=e.invert(this.touch1[0])),this.that.__zoom=e,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){pe(new gw(d,t,this.that.__zoom),h.apply,h,[t,this.that,this.args])}},d.wheelDelta=function(t){return arguments.length?(a="function"==typeof t?t:pw(+t),d):a},d.filter=function(t){return arguments.length?(n="function"==typeof t?t:pw(!!t),d):n},d.touchable=function(t){return arguments.length?(o="function"==typeof t?t:pw(!!t),d):o},d.extent=function(t){return arguments.length?(r="function"==typeof t?t:pw([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),d):r},d.scaleExtent=function(t){return arguments.length?(s[0]=+t[0],s[1]=+t[1],d):[s[0],s[1]]},d.translateExtent=function(t){return arguments.length?(c[0][0]=+t[0][0],c[1][0]=+t[1][0],c[0][1]=+t[0][1],c[1][1]=+t[1][1],d):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},d.constrain=function(t){return arguments.length?(i=t,d):i},d.duration=function(t){return arguments.length?(u=+t,d):u},d.interpolate=function(t){return arguments.length?(l=t,d):l},d.on=function(){var t=h.on.apply(h,arguments);return t===h?d:t},d.clickDistance=function(t){return arguments.length?(f=(t=+t)*t,d):Math.sqrt(f)},d};n.d(e,"version",(function(){return"5.15.0"})),n.d(e,"bisect",(function(){return c})),n.d(e,"bisectRight",(function(){return o})),n.d(e,"bisectLeft",(function(){return s})),n.d(e,"ascending",(function(){return r})),n.d(e,"bisector",(function(){return i})),n.d(e,"cross",(function(){return h})),n.d(e,"descending",(function(){return f})),n.d(e,"deviation",(function(){return g})),n.d(e,"extent",(function(){return y})),n.d(e,"histogram",(function(){return O})),n.d(e,"thresholdFreedmanDiaconis",(function(){return N})),n.d(e,"thresholdScott",(function(){return B})),n.d(e,"thresholdSturges",(function(){return M})),n.d(e,"max",(function(){return L})),n.d(e,"mean",(function(){return P})),n.d(e,"median",(function(){return I})),n.d(e,"merge",(function(){return F})),n.d(e,"min",(function(){return j})),n.d(e,"pairs",(function(){return u})),n.d(e,"permute",(function(){return R})),n.d(e,"quantile",(function(){return D})),n.d(e,"range",(function(){return k})),n.d(e,"scan",(function(){return Y})),n.d(e,"shuffle",(function(){return z})),n.d(e,"sum",(function(){return U})),n.d(e,"ticks",(function(){return C})),n.d(e,"tickIncrement",(function(){return A})),n.d(e,"tickStep",(function(){return S})),n.d(e,"transpose",(function(){return $})),n.d(e,"variance",(function(){return p})),n.d(e,"zip",(function(){return H})),n.d(e,"axisTop",(function(){return tt})),n.d(e,"axisRight",(function(){return et})),n.d(e,"axisBottom",(function(){return nt})),n.d(e,"axisLeft",(function(){return rt})),n.d(e,"brush",(function(){return Ti})),n.d(e,"brushX",(function(){return wi})),n.d(e,"brushY",(function(){return Ei})),n.d(e,"brushSelection",(function(){return ki})),n.d(e,"chord",(function(){return Li})),n.d(e,"ribbon",(function(){return qi})),n.d(e,"nest",(function(){return Ki})),n.d(e,"set",(function(){return oa})),n.d(e,"map",(function(){return Ji})),n.d(e,"keys",(function(){return sa})),n.d(e,"values",(function(){return ca})),n.d(e,"entries",(function(){return ua})),n.d(e,"color",(function(){return $e})),n.d(e,"rgb",(function(){return Ge})),n.d(e,"hsl",(function(){return tn})),n.d(e,"lab",(function(){return pa})),n.d(e,"hcl",(function(){return ka})),n.d(e,"lch",(function(){return _a})),n.d(e,"gray",(function(){return da})),n.d(e,"cubehelix",(function(){return Oa})),n.d(e,"contours",(function(){return Ya})),n.d(e,"contourDensity",(function(){return Va})),n.d(e,"dispatch",(function(){return lt})),n.d(e,"drag",(function(){return Qa})),n.d(e,"dragDisable",(function(){return Te})),n.d(e,"dragEnable",(function(){return Ce})),n.d(e,"dsvFormat",(function(){return oo})),n.d(e,"csvParse",(function(){return co})),n.d(e,"csvParseRows",(function(){return uo})),n.d(e,"csvFormat",(function(){return lo})),n.d(e,"csvFormatBody",(function(){return ho})),n.d(e,"csvFormatRows",(function(){return fo})),n.d(e,"csvFormatRow",(function(){return po})),n.d(e,"csvFormatValue",(function(){return go})),n.d(e,"tsvParse",(function(){return vo})),n.d(e,"tsvParseRows",(function(){return mo})),n.d(e,"tsvFormat",(function(){return bo})),n.d(e,"tsvFormatBody",(function(){return xo})),n.d(e,"tsvFormatRows",(function(){return _o})),n.d(e,"tsvFormatRow",(function(){return ko})),n.d(e,"tsvFormatValue",(function(){return wo})),n.d(e,"autoType",(function(){return Eo})),n.d(e,"easeLinear",(function(){return Co})),n.d(e,"easeQuad",(function(){return Mo})),n.d(e,"easeQuadIn",(function(){return Ao})),n.d(e,"easeQuadOut",(function(){return So})),n.d(e,"easeQuadInOut",(function(){return Mo})),n.d(e,"easeCubic",(function(){return Vr})),n.d(e,"easeCubicIn",(function(){return Wr})),n.d(e,"easeCubicOut",(function(){return Hr})),n.d(e,"easeCubicInOut",(function(){return Vr})),n.d(e,"easePoly",(function(){return No})),n.d(e,"easePolyIn",(function(){return Oo})),n.d(e,"easePolyOut",(function(){return Do})),n.d(e,"easePolyInOut",(function(){return No})),n.d(e,"easeSin",(function(){return Fo})),n.d(e,"easeSinIn",(function(){return Po})),n.d(e,"easeSinOut",(function(){return Io})),n.d(e,"easeSinInOut",(function(){return Fo})),n.d(e,"easeExp",(function(){return Yo})),n.d(e,"easeExpIn",(function(){return jo})),n.d(e,"easeExpOut",(function(){return Ro})),n.d(e,"easeExpInOut",(function(){return Yo})),n.d(e,"easeCircle",(function(){return $o})),n.d(e,"easeCircleIn",(function(){return zo})),n.d(e,"easeCircleOut",(function(){return Uo})),n.d(e,"easeCircleInOut",(function(){return $o})),n.d(e,"easeBounce",(function(){return Ho})),n.d(e,"easeBounceIn",(function(){return Wo})),n.d(e,"easeBounceOut",(function(){return Ho})),n.d(e,"easeBounceInOut",(function(){return Vo})),n.d(e,"easeBack",(function(){return Xo})),n.d(e,"easeBackIn",(function(){return Go})),n.d(e,"easeBackOut",(function(){return qo})),n.d(e,"easeBackInOut",(function(){return Xo})),n.d(e,"easeElastic",(function(){return Ko})),n.d(e,"easeElasticIn",(function(){return Jo})),n.d(e,"easeElasticOut",(function(){return Ko})),n.d(e,"easeElasticInOut",(function(){return Qo})),n.d(e,"blob",(function(){return es})),n.d(e,"buffer",(function(){return rs})),n.d(e,"dsv",(function(){return ss})),n.d(e,"csv",(function(){return cs})),n.d(e,"tsv",(function(){return us})),n.d(e,"image",(function(){return ls})),n.d(e,"json",(function(){return fs})),n.d(e,"text",(function(){return as})),n.d(e,"xml",(function(){return ps})),n.d(e,"html",(function(){return gs})),n.d(e,"svg",(function(){return ys})),n.d(e,"forceCenter",(function(){return vs})),n.d(e,"forceCollide",(function(){return Os})),n.d(e,"forceLink",(function(){return Bs})),n.d(e,"forceManyBody",(function(){return js})),n.d(e,"forceRadial",(function(){return Rs})),n.d(e,"forceSimulation",(function(){return Fs})),n.d(e,"forceX",(function(){return Ys})),n.d(e,"forceY",(function(){return zs})),n.d(e,"formatDefaultLocale",(function(){return rc})),n.d(e,"format",(function(){return Xs})),n.d(e,"formatPrefix",(function(){return Zs})),n.d(e,"formatLocale",(function(){return nc})),n.d(e,"formatSpecifier",(function(){return Hs})),n.d(e,"FormatSpecifier",(function(){return Vs})),n.d(e,"precisionFixed",(function(){return ic})),n.d(e,"precisionPrefix",(function(){return ac})),n.d(e,"precisionRound",(function(){return oc})),n.d(e,"geoArea",(function(){return Jc})),n.d(e,"geoBounds",(function(){return $u})),n.d(e,"geoCentroid",(function(){return el})),n.d(e,"geoCircle",(function(){return fl})),n.d(e,"geoClipAntimeridian",(function(){return El})),n.d(e,"geoClipCircle",(function(){return Tl})),n.d(e,"geoClipExtent",(function(){return Ol})),n.d(e,"geoClipRectangle",(function(){return Cl})),n.d(e,"geoContains",(function(){return ql})),n.d(e,"geoDistance",(function(){return Rl})),n.d(e,"geoGraticule",(function(){return Jl})),n.d(e,"geoGraticule10",(function(){return Kl})),n.d(e,"geoInterpolate",(function(){return rh})),n.d(e,"geoLength",(function(){return Il})),n.d(e,"geoPath",(function(){return ef})),n.d(e,"geoAlbers",(function(){return _f})),n.d(e,"geoAlbersUsa",(function(){return kf})),n.d(e,"geoAzimuthalEqualArea",(function(){return Cf})),n.d(e,"geoAzimuthalEqualAreaRaw",(function(){return Tf})),n.d(e,"geoAzimuthalEquidistant",(function(){return Sf})),n.d(e,"geoAzimuthalEquidistantRaw",(function(){return Af})),n.d(e,"geoConicConformal",(function(){return Lf})),n.d(e,"geoConicConformalRaw",(function(){return Bf})),n.d(e,"geoConicEqualArea",(function(){return xf})),n.d(e,"geoConicEqualAreaRaw",(function(){return bf})),n.d(e,"geoConicEquidistant",(function(){return jf})),n.d(e,"geoConicEquidistantRaw",(function(){return Ff})),n.d(e,"geoEqualEarth",(function(){return Hf})),n.d(e,"geoEqualEarthRaw",(function(){return Wf})),n.d(e,"geoEquirectangular",(function(){return If})),n.d(e,"geoEquirectangularRaw",(function(){return Pf})),n.d(e,"geoGnomonic",(function(){return Gf})),n.d(e,"geoGnomonicRaw",(function(){return Vf})),n.d(e,"geoIdentity",(function(){return Xf})),n.d(e,"geoProjection",(function(){return yf})),n.d(e,"geoProjectionMutator",(function(){return vf})),n.d(e,"geoMercator",(function(){return Of})),n.d(e,"geoMercatorRaw",(function(){return Mf})),n.d(e,"geoNaturalEarth1",(function(){return Jf})),n.d(e,"geoNaturalEarth1Raw",(function(){return Zf})),n.d(e,"geoOrthographic",(function(){return Qf})),n.d(e,"geoOrthographicRaw",(function(){return Kf})),n.d(e,"geoStereographic",(function(){return ed})),n.d(e,"geoStereographicRaw",(function(){return td})),n.d(e,"geoTransverseMercator",(function(){return rd})),n.d(e,"geoTransverseMercatorRaw",(function(){return nd})),n.d(e,"geoRotation",(function(){return ul})),n.d(e,"geoStream",(function(){return $c})),n.d(e,"geoTransform",(function(){return nf})),n.d(e,"cluster",(function(){return sd})),n.d(e,"hierarchy",(function(){return ud})),n.d(e,"pack",(function(){return Ld})),n.d(e,"packSiblings",(function(){return Sd})),n.d(e,"packEnclose",(function(){return gd})),n.d(e,"partition",(function(){return Yd})),n.d(e,"stratify",(function(){return Hd})),n.d(e,"tree",(function(){return Kd})),n.d(e,"treemap",(function(){return rp})),n.d(e,"treemapBinary",(function(){return ip})),n.d(e,"treemapDice",(function(){return Rd})),n.d(e,"treemapSlice",(function(){return Qd})),n.d(e,"treemapSliceDice",(function(){return ap})),n.d(e,"treemapSquarify",(function(){return np})),n.d(e,"treemapResquarify",(function(){return op})),n.d(e,"interpolate",(function(){return Sn})),n.d(e,"interpolateArray",(function(){return mn})),n.d(e,"interpolateBasis",(function(){return an})),n.d(e,"interpolateBasisClosed",(function(){return on})),n.d(e,"interpolateDate",(function(){return xn})),n.d(e,"interpolateDiscrete",(function(){return sp})),n.d(e,"interpolateHue",(function(){return cp})),n.d(e,"interpolateNumber",(function(){return _n})),n.d(e,"interpolateNumberArray",(function(){return yn})),n.d(e,"interpolateObject",(function(){return kn})),n.d(e,"interpolateRound",(function(){return up})),n.d(e,"interpolateString",(function(){return An})),n.d(e,"interpolateTransformCss",(function(){return hr})),n.d(e,"interpolateTransformSvg",(function(){return fr})),n.d(e,"interpolateZoom",(function(){return fp})),n.d(e,"interpolateRgb",(function(){return fn})),n.d(e,"interpolateRgbBasis",(function(){return pn})),n.d(e,"interpolateRgbBasisClosed",(function(){return gn})),n.d(e,"interpolateHsl",(function(){return pp})),n.d(e,"interpolateHslLong",(function(){return gp})),n.d(e,"interpolateLab",(function(){return yp})),n.d(e,"interpolateHcl",(function(){return mp})),n.d(e,"interpolateHclLong",(function(){return bp})),n.d(e,"interpolateCubehelix",(function(){return _p})),n.d(e,"interpolateCubehelixLong",(function(){return kp})),n.d(e,"piecewise",(function(){return wp})),n.d(e,"quantize",(function(){return Ep})),n.d(e,"path",(function(){return Ui})),n.d(e,"polygonArea",(function(){return Tp})),n.d(e,"polygonCentroid",(function(){return Cp})),n.d(e,"polygonHull",(function(){return Mp})),n.d(e,"polygonContains",(function(){return Op})),n.d(e,"polygonLength",(function(){return Dp})),n.d(e,"quadtree",(function(){return Es})),n.d(e,"randomUniform",(function(){return Bp})),n.d(e,"randomNormal",(function(){return Lp})),n.d(e,"randomLogNormal",(function(){return Pp})),n.d(e,"randomBates",(function(){return Fp})),n.d(e,"randomIrwinHall",(function(){return Ip})),n.d(e,"randomExponential",(function(){return jp})),n.d(e,"scaleBand",(function(){return Vp})),n.d(e,"scalePoint",(function(){return qp})),n.d(e,"scaleIdentity",(function(){return cg})),n.d(e,"scaleLinear",(function(){return sg})),n.d(e,"scaleLog",(function(){return vg})),n.d(e,"scaleSymlog",(function(){return _g})),n.d(e,"scaleOrdinal",(function(){return Hp})),n.d(e,"scaleImplicit",(function(){return Wp})),n.d(e,"scalePow",(function(){return Cg})),n.d(e,"scaleSqrt",(function(){return Ag})),n.d(e,"scaleQuantile",(function(){return Sg})),n.d(e,"scaleQuantize",(function(){return Mg})),n.d(e,"scaleThreshold",(function(){return Og})),n.d(e,"scaleTime",(function(){return sm})),n.d(e,"scaleUtc",(function(){return vm})),n.d(e,"scaleSequential",(function(){return xm})),n.d(e,"scaleSequentialLog",(function(){return _m})),n.d(e,"scaleSequentialPow",(function(){return wm})),n.d(e,"scaleSequentialSqrt",(function(){return Em})),n.d(e,"scaleSequentialSymlog",(function(){return km})),n.d(e,"scaleSequentialQuantile",(function(){return Tm})),n.d(e,"scaleDiverging",(function(){return Am})),n.d(e,"scaleDivergingLog",(function(){return Sm})),n.d(e,"scaleDivergingPow",(function(){return Om})),n.d(e,"scaleDivergingSqrt",(function(){return Dm})),n.d(e,"scaleDivergingSymlog",(function(){return Mm})),n.d(e,"tickFormat",(function(){return ag})),n.d(e,"schemeCategory10",(function(){return Bm})),n.d(e,"schemeAccent",(function(){return Lm})),n.d(e,"schemeDark2",(function(){return Pm})),n.d(e,"schemePaired",(function(){return Im})),n.d(e,"schemePastel1",(function(){return Fm})),n.d(e,"schemePastel2",(function(){return jm})),n.d(e,"schemeSet1",(function(){return Rm})),n.d(e,"schemeSet2",(function(){return Ym})),n.d(e,"schemeSet3",(function(){return zm})),n.d(e,"schemeTableau10",(function(){return Um})),n.d(e,"interpolateBrBG",(function(){return Hm})),n.d(e,"schemeBrBG",(function(){return Wm})),n.d(e,"interpolatePRGn",(function(){return Gm})),n.d(e,"schemePRGn",(function(){return Vm})),n.d(e,"interpolatePiYG",(function(){return Xm})),n.d(e,"schemePiYG",(function(){return qm})),n.d(e,"interpolatePuOr",(function(){return Jm})),n.d(e,"schemePuOr",(function(){return Zm})),n.d(e,"interpolateRdBu",(function(){return Qm})),n.d(e,"schemeRdBu",(function(){return Km})),n.d(e,"interpolateRdGy",(function(){return eb})),n.d(e,"schemeRdGy",(function(){return tb})),n.d(e,"interpolateRdYlBu",(function(){return rb})),n.d(e,"schemeRdYlBu",(function(){return nb})),n.d(e,"interpolateRdYlGn",(function(){return ab})),n.d(e,"schemeRdYlGn",(function(){return ib})),n.d(e,"interpolateSpectral",(function(){return sb})),n.d(e,"schemeSpectral",(function(){return ob})),n.d(e,"interpolateBuGn",(function(){return ub})),n.d(e,"schemeBuGn",(function(){return cb})),n.d(e,"interpolateBuPu",(function(){return hb})),n.d(e,"schemeBuPu",(function(){return lb})),n.d(e,"interpolateGnBu",(function(){return db})),n.d(e,"schemeGnBu",(function(){return fb})),n.d(e,"interpolateOrRd",(function(){return gb})),n.d(e,"schemeOrRd",(function(){return pb})),n.d(e,"interpolatePuBuGn",(function(){return vb})),n.d(e,"schemePuBuGn",(function(){return yb})),n.d(e,"interpolatePuBu",(function(){return bb})),n.d(e,"schemePuBu",(function(){return mb})),n.d(e,"interpolatePuRd",(function(){return _b})),n.d(e,"schemePuRd",(function(){return xb})),n.d(e,"interpolateRdPu",(function(){return wb})),n.d(e,"schemeRdPu",(function(){return kb})),n.d(e,"interpolateYlGnBu",(function(){return Tb})),n.d(e,"schemeYlGnBu",(function(){return Eb})),n.d(e,"interpolateYlGn",(function(){return Ab})),n.d(e,"schemeYlGn",(function(){return Cb})),n.d(e,"interpolateYlOrBr",(function(){return Mb})),n.d(e,"schemeYlOrBr",(function(){return Sb})),n.d(e,"interpolateYlOrRd",(function(){return Db})),n.d(e,"schemeYlOrRd",(function(){return Ob})),n.d(e,"interpolateBlues",(function(){return Bb})),n.d(e,"schemeBlues",(function(){return Nb})),n.d(e,"interpolateGreens",(function(){return Pb})),n.d(e,"schemeGreens",(function(){return Lb})),n.d(e,"interpolateGreys",(function(){return Fb})),n.d(e,"schemeGreys",(function(){return Ib})),n.d(e,"interpolatePurples",(function(){return Rb})),n.d(e,"schemePurples",(function(){return jb})),n.d(e,"interpolateReds",(function(){return zb})),n.d(e,"schemeReds",(function(){return Yb})),n.d(e,"interpolateOranges",(function(){return $b})),n.d(e,"schemeOranges",(function(){return Ub})),n.d(e,"interpolateCividis",(function(){return Wb})),n.d(e,"interpolateCubehelixDefault",(function(){return Hb})),n.d(e,"interpolateRainbow",(function(){return Xb})),n.d(e,"interpolateWarm",(function(){return Vb})),n.d(e,"interpolateCool",(function(){return Gb})),n.d(e,"interpolateSinebow",(function(){return Qb})),n.d(e,"interpolateTurbo",(function(){return tx})),n.d(e,"interpolateViridis",(function(){return nx})),n.d(e,"interpolateMagma",(function(){return rx})),n.d(e,"interpolateInferno",(function(){return ix})),n.d(e,"interpolatePlasma",(function(){return ax})),n.d(e,"create",(function(){return ox})),n.d(e,"creator",(function(){return ne})),n.d(e,"local",(function(){return cx})),n.d(e,"matcher",(function(){return gt})),n.d(e,"mouse",(function(){return Nn})),n.d(e,"namespace",(function(){return wt})),n.d(e,"namespaces",(function(){return kt})),n.d(e,"clientPoint",(function(){return On})),n.d(e,"select",(function(){return ke})),n.d(e,"selectAll",(function(){return lx})),n.d(e,"selection",(function(){return _e})),n.d(e,"selector",(function(){return ft})),n.d(e,"selectorAll",(function(){return pt})),n.d(e,"style",(function(){return Lt})),n.d(e,"touch",(function(){return Dn})),n.d(e,"touches",(function(){return hx})),n.d(e,"window",(function(){return Ot})),n.d(e,"event",(function(){return ce})),n.d(e,"customEvent",(function(){return pe})),n.d(e,"arc",(function(){return Nx})),n.d(e,"area",(function(){return jx})),n.d(e,"line",(function(){return Fx})),n.d(e,"pie",(function(){return zx})),n.d(e,"areaRadial",(function(){return Gx})),n.d(e,"radialArea",(function(){return Gx})),n.d(e,"lineRadial",(function(){return Vx})),n.d(e,"radialLine",(function(){return Vx})),n.d(e,"pointRadial",(function(){return qx})),n.d(e,"linkHorizontal",(function(){return n_})),n.d(e,"linkVertical",(function(){return r_})),n.d(e,"linkRadial",(function(){return i_})),n.d(e,"symbol",(function(){return k_})),n.d(e,"symbols",(function(){return __})),n.d(e,"symbolCircle",(function(){return a_})),n.d(e,"symbolCross",(function(){return o_})),n.d(e,"symbolDiamond",(function(){return u_})),n.d(e,"symbolSquare",(function(){return p_})),n.d(e,"symbolStar",(function(){return d_})),n.d(e,"symbolTriangle",(function(){return y_})),n.d(e,"symbolWye",(function(){return x_})),n.d(e,"curveBasisClosed",(function(){return S_})),n.d(e,"curveBasisOpen",(function(){return O_})),n.d(e,"curveBasis",(function(){return C_})),n.d(e,"curveBundle",(function(){return N_})),n.d(e,"curveCardinalClosed",(function(){return F_})),n.d(e,"curveCardinalOpen",(function(){return R_})),n.d(e,"curveCardinal",(function(){return P_})),n.d(e,"curveCatmullRomClosed",(function(){return W_})),n.d(e,"curveCatmullRomOpen",(function(){return V_})),n.d(e,"curveCatmullRom",(function(){return U_})),n.d(e,"curveLinearClosed",(function(){return q_})),n.d(e,"curveLinear",(function(){return Lx})),n.d(e,"curveMonotoneX",(function(){return nk})),n.d(e,"curveMonotoneY",(function(){return rk})),n.d(e,"curveNatural",(function(){return ok})),n.d(e,"curveStep",(function(){return ck})),n.d(e,"curveStepAfter",(function(){return lk})),n.d(e,"curveStepBefore",(function(){return uk})),n.d(e,"stack",(function(){return pk})),n.d(e,"stackOffsetExpand",(function(){return gk})),n.d(e,"stackOffsetDiverging",(function(){return yk})),n.d(e,"stackOffsetNone",(function(){return hk})),n.d(e,"stackOffsetSilhouette",(function(){return vk})),n.d(e,"stackOffsetWiggle",(function(){return mk})),n.d(e,"stackOrderAppearance",(function(){return bk})),n.d(e,"stackOrderAscending",(function(){return _k})),n.d(e,"stackOrderDescending",(function(){return wk})),n.d(e,"stackOrderInsideOut",(function(){return Ek})),n.d(e,"stackOrderNone",(function(){return fk})),n.d(e,"stackOrderReverse",(function(){return Tk})),n.d(e,"timeInterval",(function(){return Bg})),n.d(e,"timeMillisecond",(function(){return py})),n.d(e,"timeMilliseconds",(function(){return gy})),n.d(e,"utcMillisecond",(function(){return py})),n.d(e,"utcMilliseconds",(function(){return gy})),n.d(e,"timeSecond",(function(){return hy})),n.d(e,"timeSeconds",(function(){return fy})),n.d(e,"utcSecond",(function(){return hy})),n.d(e,"utcSeconds",(function(){return fy})),n.d(e,"timeMinute",(function(){return cy})),n.d(e,"timeMinutes",(function(){return uy})),n.d(e,"timeHour",(function(){return ay})),n.d(e,"timeHours",(function(){return oy})),n.d(e,"timeDay",(function(){return ny})),n.d(e,"timeDays",(function(){return ry})),n.d(e,"timeWeek",(function(){return zg})),n.d(e,"timeWeeks",(function(){return qg})),n.d(e,"timeSunday",(function(){return zg})),n.d(e,"timeSundays",(function(){return qg})),n.d(e,"timeMonday",(function(){return Ug})),n.d(e,"timeMondays",(function(){return Xg})),n.d(e,"timeTuesday",(function(){return $g})),n.d(e,"timeTuesdays",(function(){return Zg})),n.d(e,"timeWednesday",(function(){return Wg})),n.d(e,"timeWednesdays",(function(){return Jg})),n.d(e,"timeThursday",(function(){return Hg})),n.d(e,"timeThursdays",(function(){return Kg})),n.d(e,"timeFriday",(function(){return Vg})),n.d(e,"timeFridays",(function(){return Qg})),n.d(e,"timeSaturday",(function(){return Gg})),n.d(e,"timeSaturdays",(function(){return ty})),n.d(e,"timeMonth",(function(){return jg})),n.d(e,"timeMonths",(function(){return Rg})),n.d(e,"timeYear",(function(){return Pg})),n.d(e,"timeYears",(function(){return Ig})),n.d(e,"utcMinute",(function(){return gm})),n.d(e,"utcMinutes",(function(){return ym})),n.d(e,"utcHour",(function(){return fm})),n.d(e,"utcHours",(function(){return dm})),n.d(e,"utcDay",(function(){return Ny})),n.d(e,"utcDays",(function(){return By})),n.d(e,"utcWeek",(function(){return vy})),n.d(e,"utcWeeks",(function(){return Ey})),n.d(e,"utcSunday",(function(){return vy})),n.d(e,"utcSundays",(function(){return Ey})),n.d(e,"utcMonday",(function(){return my})),n.d(e,"utcMondays",(function(){return Ty})),n.d(e,"utcTuesday",(function(){return by})),n.d(e,"utcTuesdays",(function(){return Cy})),n.d(e,"utcWednesday",(function(){return xy})),n.d(e,"utcWednesdays",(function(){return Ay})),n.d(e,"utcThursday",(function(){return _y})),n.d(e,"utcThursdays",(function(){return Sy})),n.d(e,"utcFriday",(function(){return ky})),n.d(e,"utcFridays",(function(){return My})),n.d(e,"utcSaturday",(function(){return wy})),n.d(e,"utcSaturdays",(function(){return Oy})),n.d(e,"utcMonth",(function(){return um})),n.d(e,"utcMonths",(function(){return lm})),n.d(e,"utcYear",(function(){return Py})),n.d(e,"utcYears",(function(){return Iy})),n.d(e,"timeFormatDefaultLocale",(function(){return rm})),n.d(e,"timeFormat",(function(){return Uy})),n.d(e,"timeParse",(function(){return $y})),n.d(e,"utcFormat",(function(){return Wy})),n.d(e,"utcParse",(function(){return Hy})),n.d(e,"timeFormatLocale",(function(){return Yy})),n.d(e,"isoFormat",(function(){return Ck})),n.d(e,"isoParse",(function(){return Ak})),n.d(e,"now",(function(){return zn})),n.d(e,"timer",(function(){return Wn})),n.d(e,"timerFlush",(function(){return Hn})),n.d(e,"timeout",(function(){return Xn})),n.d(e,"interval",(function(){return Sk})),n.d(e,"transition",(function(){return zr})),n.d(e,"active",(function(){return Zr})),n.d(e,"interrupt",(function(){return or})),n.d(e,"voronoi",(function(){return dw})),n.d(e,"zoom",(function(){return Aw})),n.d(e,"zoomTransform",(function(){return mw})),n.d(e,"zoomIdentity",(function(){return vw}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}(n(172))},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,2],n=[1,3],r=[1,5],i=[1,7],a=[2,5],o=[1,15],s=[1,17],c=[1,18],u=[1,20],l=[1,21],h=[1,22],f=[1,24],d=[1,25],p=[1,26],g=[1,27],y=[1,28],v=[1,29],m=[1,32],b=[1,33],x=[1,36],_=[1,4,5,16,21,22,23,25,27,28,29,30,31,33,35,36,37,48,58],k=[1,44],w=[4,5,16,21,22,23,25,27,28,29,30,31,33,37,48,58],E=[4,5,16,21,22,23,25,27,28,29,30,31,33,36,37,48,58],T=[4,5,16,21,22,23,25,27,28,29,30,31,33,35,37,48,58],C=[46,47,48],A=[1,4,5,7,16,21,22,23,25,27,28,29,30,31,33,35,36,37,48,58],S={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,directive:6,SD:7,document:8,line:9,statement:10,openDirective:11,typeDirective:12,closeDirective:13,":":14,argDirective:15,participant:16,actor:17,AS:18,restOfLine:19,signal:20,autonumber:21,activate:22,deactivate:23,note_statement:24,title:25,text2:26,loop:27,end:28,rect:29,opt:30,alt:31,else_sections:32,par:33,par_sections:34,and:35,else:36,note:37,placement:38,over:39,actor_pair:40,spaceList:41,",":42,left_of:43,right_of:44,signaltype:45,"+":46,"-":47,ACTOR:48,SOLID_OPEN_ARROW:49,DOTTED_OPEN_ARROW:50,SOLID_ARROW:51,DOTTED_ARROW:52,SOLID_CROSS:53,DOTTED_CROSS:54,SOLID_POINT:55,DOTTED_POINT:56,TXT:57,open_directive:58,type_directive:59,arg_directive:60,close_directive:61,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",7:"SD",14:":",16:"participant",18:"AS",19:"restOfLine",21:"autonumber",22:"activate",23:"deactivate",25:"title",27:"loop",28:"end",29:"rect",30:"opt",31:"alt",33:"par",35:"and",36:"else",37:"note",39:"over",42:",",43:"left_of",44:"right_of",46:"+",47:"-",48:"ACTOR",49:"SOLID_OPEN_ARROW",50:"DOTTED_OPEN_ARROW",51:"SOLID_ARROW",52:"DOTTED_ARROW",53:"SOLID_CROSS",54:"DOTTED_CROSS",55:"SOLID_POINT",56:"DOTTED_POINT",57:"TXT",58:"open_directive",59:"type_directive",60:"arg_directive",61:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[6,4],[6,6],[10,5],[10,3],[10,2],[10,1],[10,3],[10,3],[10,2],[10,3],[10,4],[10,4],[10,4],[10,4],[10,4],[10,1],[34,1],[34,4],[32,1],[32,4],[24,4],[24,4],[41,2],[41,1],[40,3],[40,1],[38,1],[38,1],[20,5],[20,5],[20,4],[17,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[26,1],[11,1],[12,1],[15,1],[13,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 4:return r.apply(a[s]),a[s];case 5:this.$=[];break;case 6:a[s-1].push(a[s]),this.$=a[s-1];break;case 7:case 8:this.$=a[s];break;case 9:this.$=[];break;case 12:a[s-3].description=r.parseMessage(a[s-1]),this.$=a[s-3];break;case 13:this.$=a[s-1];break;case 15:r.enableSequenceNumbers();break;case 16:this.$={type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[s-1]};break;case 17:this.$={type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[s-1]};break;case 19:this.$=[{type:"setTitle",text:a[s-1]}];break;case 20:a[s-1].unshift({type:"loopStart",loopText:r.parseMessage(a[s-2]),signalType:r.LINETYPE.LOOP_START}),a[s-1].push({type:"loopEnd",loopText:a[s-2],signalType:r.LINETYPE.LOOP_END}),this.$=a[s-1];break;case 21:a[s-1].unshift({type:"rectStart",color:r.parseMessage(a[s-2]),signalType:r.LINETYPE.RECT_START}),a[s-1].push({type:"rectEnd",color:r.parseMessage(a[s-2]),signalType:r.LINETYPE.RECT_END}),this.$=a[s-1];break;case 22:a[s-1].unshift({type:"optStart",optText:r.parseMessage(a[s-2]),signalType:r.LINETYPE.OPT_START}),a[s-1].push({type:"optEnd",optText:r.parseMessage(a[s-2]),signalType:r.LINETYPE.OPT_END}),this.$=a[s-1];break;case 23:a[s-1].unshift({type:"altStart",altText:r.parseMessage(a[s-2]),signalType:r.LINETYPE.ALT_START}),a[s-1].push({type:"altEnd",signalType:r.LINETYPE.ALT_END}),this.$=a[s-1];break;case 24:a[s-1].unshift({type:"parStart",parText:r.parseMessage(a[s-2]),signalType:r.LINETYPE.PAR_START}),a[s-1].push({type:"parEnd",signalType:r.LINETYPE.PAR_END}),this.$=a[s-1];break;case 27:this.$=a[s-3].concat([{type:"and",parText:r.parseMessage(a[s-1]),signalType:r.LINETYPE.PAR_AND},a[s]]);break;case 29:this.$=a[s-3].concat([{type:"else",altText:r.parseMessage(a[s-1]),signalType:r.LINETYPE.ALT_ELSE},a[s]]);break;case 30:this.$=[a[s-1],{type:"addNote",placement:a[s-2],actor:a[s-1].actor,text:a[s]}];break;case 31:a[s-2]=[].concat(a[s-1],a[s-1]).slice(0,2),a[s-2][0]=a[s-2][0].actor,a[s-2][1]=a[s-2][1].actor,this.$=[a[s-1],{type:"addNote",placement:r.PLACEMENT.OVER,actor:a[s-2].slice(0,2),text:a[s]}];break;case 34:this.$=[a[s-2],a[s]];break;case 35:this.$=a[s];break;case 36:this.$=r.PLACEMENT.LEFTOF;break;case 37:this.$=r.PLACEMENT.RIGHTOF;break;case 38:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s]},{type:"activeStart",signalType:r.LINETYPE.ACTIVE_START,actor:a[s-1]}];break;case 39:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s]},{type:"activeEnd",signalType:r.LINETYPE.ACTIVE_END,actor:a[s-4]}];break;case 40:this.$=[a[s-3],a[s-1],{type:"addMessage",from:a[s-3].actor,to:a[s-1].actor,signalType:a[s-2],msg:a[s]}];break;case 41:this.$={type:"addActor",actor:a[s]};break;case 42:this.$=r.LINETYPE.SOLID_OPEN;break;case 43:this.$=r.LINETYPE.DOTTED_OPEN;break;case 44:this.$=r.LINETYPE.SOLID;break;case 45:this.$=r.LINETYPE.DOTTED;break;case 46:this.$=r.LINETYPE.SOLID_CROSS;break;case 47:this.$=r.LINETYPE.DOTTED_CROSS;break;case 48:this.$=r.LINETYPE.SOLID_POINT;break;case 49:this.$=r.LINETYPE.DOTTED_POINT;break;case 50:this.$=r.parseMessage(a[s].trim().substring(1));break;case 51:r.parseDirective("%%{","open_directive");break;case 52:r.parseDirective(a[s],"type_directive");break;case 53:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 54:r.parseDirective("}%%","close_directive","sequence")}},table:[{3:1,4:e,5:n,6:4,7:r,11:6,58:i},{1:[3]},{3:8,4:e,5:n,6:4,7:r,11:6,58:i},{3:9,4:e,5:n,6:4,7:r,11:6,58:i},{3:10,4:e,5:n,6:4,7:r,11:6,58:i},t([1,4,5,16,21,22,23,25,27,29,30,31,33,37,48,58],a,{8:11}),{12:12,59:[1,13]},{59:[2,51]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:o,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,29:p,30:g,31:y,33:v,37:m,48:b,58:i},{13:34,14:[1,35],61:x},t([14,61],[2,52]),t(_,[2,6]),{6:30,10:37,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,29:p,30:g,31:y,33:v,37:m,48:b,58:i},t(_,[2,8]),t(_,[2,9]),{17:38,48:b},{5:[1,39]},t(_,[2,15]),{17:40,48:b},{17:41,48:b},{5:[1,42]},{26:43,57:k},{19:[1,45]},{19:[1,46]},{19:[1,47]},{19:[1,48]},{19:[1,49]},t(_,[2,25]),{45:50,49:[1,51],50:[1,52],51:[1,53],52:[1,54],53:[1,55],54:[1,56],55:[1,57],56:[1,58]},{38:59,39:[1,60],43:[1,61],44:[1,62]},t([5,18,42,49,50,51,52,53,54,55,56,57],[2,41]),{5:[1,63]},{15:64,60:[1,65]},{5:[2,54]},t(_,[2,7]),{5:[1,67],18:[1,66]},t(_,[2,14]),{5:[1,68]},{5:[1,69]},t(_,[2,18]),{5:[1,70]},{5:[2,50]},t(w,a,{8:71}),t(w,a,{8:72}),t(w,a,{8:73}),t(E,a,{32:74,8:75}),t(T,a,{34:76,8:77}),{17:80,46:[1,78],47:[1,79],48:b},t(C,[2,42]),t(C,[2,43]),t(C,[2,44]),t(C,[2,45]),t(C,[2,46]),t(C,[2,47]),t(C,[2,48]),t(C,[2,49]),{17:81,48:b},{17:83,40:82,48:b},{48:[2,36]},{48:[2,37]},t(A,[2,10]),{13:84,61:x},{61:[2,53]},{19:[1,85]},t(_,[2,13]),t(_,[2,16]),t(_,[2,17]),t(_,[2,19]),{4:o,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,28:[1,86],29:p,30:g,31:y,33:v,37:m,48:b,58:i},{4:o,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,28:[1,87],29:p,30:g,31:y,33:v,37:m,48:b,58:i},{4:o,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,28:[1,88],29:p,30:g,31:y,33:v,37:m,48:b,58:i},{28:[1,89]},{4:o,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,28:[2,28],29:p,30:g,31:y,33:v,36:[1,90],37:m,48:b,58:i},{28:[1,91]},{4:o,5:s,6:30,9:14,10:16,11:6,16:c,17:31,20:19,21:u,22:l,23:h,24:23,25:f,27:d,28:[2,26],29:p,30:g,31:y,33:v,35:[1,92],37:m,48:b,58:i},{17:93,48:b},{17:94,48:b},{26:95,57:k},{26:96,57:k},{26:97,57:k},{42:[1,98],57:[2,35]},{5:[1,99]},{5:[1,100]},t(_,[2,20]),t(_,[2,21]),t(_,[2,22]),t(_,[2,23]),{19:[1,101]},t(_,[2,24]),{19:[1,102]},{26:103,57:k},{26:104,57:k},{5:[2,40]},{5:[2,30]},{5:[2,31]},{17:105,48:b},t(A,[2,11]),t(_,[2,12]),t(E,a,{8:75,32:106}),t(T,a,{8:77,34:107}),{5:[2,38]},{5:[2,39]},{57:[2,34]},{28:[2,29]},{28:[2,27]}],defaultActions:{7:[2,51],8:[2,1],9:[2,2],10:[2,3],36:[2,54],44:[2,50],61:[2,36],62:[2,37],65:[2,53],95:[2,40],96:[2,30],97:[2,31],103:[2,38],104:[2,39],105:[2,34],106:[2,29],107:[2,27]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,A,S,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in S=[],o[k])this.terminals_[T]&&T>h&&S.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:S})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),A=o[n[n.length-2]][n[n.length-1]],n.push(A);break;case 3:return!0}}return!0}},M={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),58;case 1:return this.begin("type_directive"),59;case 2:return this.popState(),this.begin("arg_directive"),14;case 3:return this.popState(),this.popState(),61;case 4:return 60;case 5:return 5;case 6:case 7:case 8:case 9:case 10:break;case 11:return this.begin("ID"),16;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),48;case 13:return this.popState(),this.popState(),this.begin("LINE"),18;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),27;case 16:return this.begin("LINE"),29;case 17:return this.begin("LINE"),30;case 18:return this.begin("LINE"),31;case 19:return this.begin("LINE"),36;case 20:return this.begin("LINE"),33;case 21:return this.begin("LINE"),35;case 22:return this.popState(),19;case 23:return 28;case 24:return 43;case 25:return 44;case 26:return 39;case 27:return 37;case 28:return this.begin("ID"),22;case 29:return this.begin("ID"),23;case 30:return 25;case 31:return 7;case 32:return 21;case 33:return 42;case 34:return 5;case 35:return e.yytext=e.yytext.trim(),48;case 36:return 51;case 37:return 52;case 38:return 49;case 39:return 50;case 40:return 53;case 41:return 54;case 42:return 55;case 43:return 56;case 44:return 57;case 45:return 46;case 46:return 47;case 47:return 5;case 48:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1,8],inclusive:!1},type_directive:{rules:[2,3,8],inclusive:!1},arg_directive:{rules:[3,4,8],inclusive:!1},ID:{rules:[7,8,12],inclusive:!1},ALIAS:{rules:[7,8,13,14],inclusive:!1},LINE:{rules:[7,8,22],inclusive:!1},INITIAL:{rules:[0,5,6,8,9,10,11,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};function O(){this.yy={}}return S.lexer=M,O.prototype=S,S.Parser=O,new O}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(19).readFileSync(n(20).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(14),n(7)(t))},function(t,e,n){var r=n(198);t.exports={Graph:r.Graph,json:n(301),alg:n(302),version:r.version}},function(t,e,n){var r;try{r={cloneDeep:n(313),constant:n(86),defaults:n(154),each:n(87),filter:n(128),find:n(314),flatten:n(156),forEach:n(126),forIn:n(319),has:n(93),isUndefined:n(139),last:n(320),map:n(140),mapValues:n(321),max:n(322),merge:n(324),min:n(329),minBy:n(330),now:n(331),pick:n(161),range:n(162),reduce:n(142),sortBy:n(338),uniqueId:n(163),values:n(147),zipObject:n(343)}}catch(t){}r||(r=window._),t.exports=r},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){ +/** + * @license + * Copyright (c) 2012-2013 Chris Pettitt + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +t.exports={graphlib:n(311),dagre:n(153),intersect:n(368),render:n(370),util:n(12),version:n(382)}},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){"use strict";var r=n(4),i=n(17).Graph;function a(t,e,n,i){var a;do{a=r.uniqueId(i)}while(t.hasNode(a));return n.dummy=e,t.setNode(a,n),a}function o(t){return r.max(r.map(t.nodes(),(function(e){var n=t.node(e).rank;if(!r.isUndefined(n))return n})))}t.exports={addDummyNode:a,simplify:function(t){var e=(new i).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e},asNonCompoundGraph:function(t){var e=new i({multigraph:t.isMultigraph()}).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e},successorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.outEdges(e),(function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},predecessorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.inEdges(e),(function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},intersectRect:function(t,e){var n,r,i=t.x,a=t.y,o=e.x-i,s=e.y-a,c=t.width/2,u=t.height/2;if(!o&&!s)throw new Error("Not possible to find intersection inside of the rectangle");Math.abs(s)*c>Math.abs(o)*u?(s<0&&(u=-u),n=u*o/s,r=u):(o<0&&(c=-c),n=c,r=c*s/o);return{x:i+n,y:a+r}},buildLayerMatrix:function(t){var e=r.map(r.range(o(t)+1),(function(){return[]}));return r.forEach(t.nodes(),(function(n){var i=t.node(n),a=i.rank;r.isUndefined(a)||(e[a][i.order]=n)})),e},normalizeRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank})));r.forEach(t.nodes(),(function(n){var i=t.node(n);r.has(i,"rank")&&(i.rank-=e)}))},removeEmptyRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank}))),n=[];r.forEach(t.nodes(),(function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,a=t.graph().nodeRankFactor;r.forEach(n,(function(e,n){r.isUndefined(e)&&n%a!=0?--i:i&&r.forEach(e,(function(e){t.node(e).rank+=i}))}))},addBorderNode:function(t,e,n,r){var i={width:0,height:0};arguments.length>=4&&(i.rank=n,i.order=r);return a(t,"border",i,e)},maxRank:o,partition:function(t,e){var n={lhs:[],rhs:[]};return r.forEach(t,(function(t){e(t)?n.lhs.push(t):n.rhs.push(t)})),n},time:function(t,e){var n=r.now();try{return e()}finally{console.log(t+" time: "+(r.now()-n)+"ms")}},notime:function(t,e){return e()}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(173),i=n(174),a=n(175),o={channel:r.default,lang:i.default,unit:a.default};e.default=o},function(t,e,n){var r;try{r={clone:n(199),constant:n(86),each:n(87),filter:n(128),has:n(93),isArray:n(5),isEmpty:n(276),isFunction:n(37),isUndefined:n(139),keys:n(30),map:n(140),reduce:n(142),size:n(279),transform:n(285),union:n(286),values:n(147)}}catch(t){}r||(r=window._),t.exports=r},function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},function(t,e,n){var r=n(43);t.exports={isSubgraph:function(t,e){return!!t.children(e).length},edgeToId:function(t){return a(t.v)+":"+a(t.w)+":"+a(t.name)},applyStyle:function(t,e){e&&t.attr("style",e)},applyClass:function(t,e,n){e&&t.attr("class",e).attr("class",n+" "+t.attr("class"))},applyTransition:function(t,e){var n=e.graph();if(r.isPlainObject(n)){var i=n.transition;if(r.isFunction(i))return i(t)}return t}};var i=/:/g;function a(t){return t?String(t).replace(i,"\\:"):""}},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,7],n=[1,6],r=[1,14],i=[1,25],a=[1,28],o=[1,26],s=[1,27],c=[1,29],u=[1,30],l=[1,31],h=[1,32],f=[1,34],d=[1,35],p=[1,36],g=[10,19],y=[1,48],v=[1,49],m=[1,50],b=[1,51],x=[1,52],_=[1,53],k=[10,19,25,32,33,41,44,45,46,47,48,49,54,56],w=[10,19,23,25,32,33,37,41,44,45,46,47,48,49,54,56,71,72,73],E=[10,13,17,19],T=[41,71,72,73],C=[41,48,49,71,72,73],A=[41,44,45,46,47,71,72,73],S=[10,19,25],M=[1,85],O={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,graphConfig:6,openDirective:7,typeDirective:8,closeDirective:9,NEWLINE:10,":":11,argDirective:12,open_directive:13,type_directive:14,arg_directive:15,close_directive:16,CLASS_DIAGRAM:17,statements:18,EOF:19,statement:20,className:21,alphaNumToken:22,GENERICTYPE:23,relationStatement:24,LABEL:25,classStatement:26,methodStatement:27,annotationStatement:28,clickStatement:29,cssClassStatement:30,CLASS:31,STYLE_SEPARATOR:32,STRUCT_START:33,members:34,STRUCT_STOP:35,ANNOTATION_START:36,ANNOTATION_END:37,MEMBER:38,SEPARATOR:39,relation:40,STR:41,relationType:42,lineType:43,AGGREGATION:44,EXTENSION:45,COMPOSITION:46,DEPENDENCY:47,LINE:48,DOTTED_LINE:49,CALLBACK:50,LINK:51,LINK_TARGET:52,CLICK:53,CALLBACK_NAME:54,CALLBACK_ARGS:55,HREF:56,CSSCLASS:57,commentToken:58,textToken:59,graphCodeTokens:60,textNoTagsToken:61,TAGSTART:62,TAGEND:63,"==":64,"--":65,PCT:66,DEFAULT:67,SPACE:68,MINUS:69,keywords:70,UNICODE_TEXT:71,NUM:72,ALPHA:73,$accept:0,$end:1},terminals_:{2:"error",10:"NEWLINE",11:":",13:"open_directive",14:"type_directive",15:"arg_directive",16:"close_directive",17:"CLASS_DIAGRAM",19:"EOF",23:"GENERICTYPE",25:"LABEL",31:"CLASS",32:"STYLE_SEPARATOR",33:"STRUCT_START",35:"STRUCT_STOP",36:"ANNOTATION_START",37:"ANNOTATION_END",38:"MEMBER",39:"SEPARATOR",41:"STR",44:"AGGREGATION",45:"EXTENSION",46:"COMPOSITION",47:"DEPENDENCY",48:"LINE",49:"DOTTED_LINE",50:"CALLBACK",51:"LINK",52:"LINK_TARGET",53:"CLICK",54:"CALLBACK_NAME",55:"CALLBACK_ARGS",56:"HREF",57:"CSSCLASS",60:"graphCodeTokens",62:"TAGSTART",63:"TAGEND",64:"==",65:"--",66:"PCT",67:"DEFAULT",68:"SPACE",69:"MINUS",70:"keywords",71:"UNICODE_TEXT",72:"NUM",73:"ALPHA"},productions_:[0,[3,1],[3,2],[4,1],[5,4],[5,6],[7,1],[8,1],[12,1],[9,1],[6,4],[18,1],[18,2],[18,3],[21,1],[21,2],[21,3],[21,2],[20,1],[20,2],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[26,2],[26,4],[26,5],[26,7],[28,4],[34,1],[34,2],[27,1],[27,2],[27,1],[27,1],[24,3],[24,4],[24,4],[24,5],[40,3],[40,2],[40,2],[40,1],[42,1],[42,1],[42,1],[42,1],[43,1],[43,1],[29,3],[29,4],[29,3],[29,4],[29,4],[29,5],[29,3],[29,4],[29,4],[29,5],[29,3],[29,4],[29,4],[29,5],[30,3],[58,1],[58,1],[59,1],[59,1],[59,1],[59,1],[59,1],[59,1],[59,1],[61,1],[61,1],[61,1],[61,1],[22,1],[22,1],[22,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 6:r.parseDirective("%%{","open_directive");break;case 7:r.parseDirective(a[s],"type_directive");break;case 8:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 9:r.parseDirective("}%%","close_directive","class");break;case 14:this.$=a[s];break;case 15:this.$=a[s-1]+a[s];break;case 16:this.$=a[s-2]+"~"+a[s-1]+a[s];break;case 17:this.$=a[s-1]+"~"+a[s];break;case 18:r.addRelation(a[s]);break;case 19:a[s-1].title=r.cleanupLabel(a[s]),r.addRelation(a[s-1]);break;case 26:r.addClass(a[s]);break;case 27:r.addClass(a[s-2]),r.setCssClass(a[s-2],a[s]);break;case 28:r.addClass(a[s-3]),r.addMembers(a[s-3],a[s-1]);break;case 29:r.addClass(a[s-5]),r.setCssClass(a[s-5],a[s-3]),r.addMembers(a[s-5],a[s-1]);break;case 30:r.addAnnotation(a[s],a[s-2]);break;case 31:this.$=[a[s]];break;case 32:a[s].push(a[s-1]),this.$=a[s];break;case 33:break;case 34:r.addMember(a[s-1],r.cleanupLabel(a[s]));break;case 35:case 36:break;case 37:this.$={id1:a[s-2],id2:a[s],relation:a[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 38:this.$={id1:a[s-3],id2:a[s],relation:a[s-1],relationTitle1:a[s-2],relationTitle2:"none"};break;case 39:this.$={id1:a[s-3],id2:a[s],relation:a[s-2],relationTitle1:"none",relationTitle2:a[s-1]};break;case 40:this.$={id1:a[s-4],id2:a[s],relation:a[s-2],relationTitle1:a[s-3],relationTitle2:a[s-1]};break;case 41:this.$={type1:a[s-2],type2:a[s],lineType:a[s-1]};break;case 42:this.$={type1:"none",type2:a[s],lineType:a[s-1]};break;case 43:this.$={type1:a[s-1],type2:"none",lineType:a[s]};break;case 44:this.$={type1:"none",type2:"none",lineType:a[s]};break;case 45:this.$=r.relationType.AGGREGATION;break;case 46:this.$=r.relationType.EXTENSION;break;case 47:this.$=r.relationType.COMPOSITION;break;case 48:this.$=r.relationType.DEPENDENCY;break;case 49:this.$=r.lineType.LINE;break;case 50:this.$=r.lineType.DOTTED_LINE;break;case 51:case 57:this.$=a[s-2],r.setClickEvent(a[s-1],a[s]);break;case 52:case 58:this.$=a[s-3],r.setClickEvent(a[s-2],a[s-1]),r.setTooltip(a[s-2],a[s]);break;case 53:case 61:this.$=a[s-2],r.setLink(a[s-1],a[s]);break;case 54:this.$=a[s-3],r.setLink(a[s-2],a[s-1],a[s]);break;case 55:case 63:this.$=a[s-3],r.setLink(a[s-2],a[s-1]),r.setTooltip(a[s-2],a[s]);break;case 56:case 64:this.$=a[s-4],r.setLink(a[s-3],a[s-2],a[s]),r.setTooltip(a[s-3],a[s-1]);break;case 59:this.$=a[s-3],r.setClickEvent(a[s-2],a[s-1],a[s]);break;case 60:this.$=a[s-4],r.setClickEvent(a[s-3],a[s-2],a[s-1]),r.setTooltip(a[s-3],a[s]);break;case 62:this.$=a[s-3],r.setLink(a[s-2],a[s-1],a[s]);break;case 65:r.setCssClass(a[s-1],a[s])}},table:[{3:1,4:2,5:3,6:4,7:5,13:e,17:n},{1:[3]},{1:[2,1]},{3:8,4:2,5:3,6:4,7:5,13:e,17:n},{1:[2,3]},{8:9,14:[1,10]},{10:[1,11]},{14:[2,6]},{1:[2,2]},{9:12,11:[1,13],16:r},t([11,16],[2,7]),{5:23,7:5,13:e,18:15,20:16,21:24,22:33,24:17,26:18,27:19,28:20,29:21,30:22,31:i,36:a,38:o,39:s,50:c,51:u,53:l,57:h,71:f,72:d,73:p},{10:[1,37]},{12:38,15:[1,39]},{10:[2,9]},{19:[1,40]},{10:[1,41],19:[2,11]},t(g,[2,18],{25:[1,42]}),t(g,[2,20]),t(g,[2,21]),t(g,[2,22]),t(g,[2,23]),t(g,[2,24]),t(g,[2,25]),t(g,[2,33],{40:43,42:46,43:47,25:[1,45],41:[1,44],44:y,45:v,46:m,47:b,48:x,49:_}),{21:54,22:33,71:f,72:d,73:p},t(g,[2,35]),t(g,[2,36]),{22:55,71:f,72:d,73:p},{21:56,22:33,71:f,72:d,73:p},{21:57,22:33,71:f,72:d,73:p},{21:58,22:33,71:f,72:d,73:p},{41:[1,59]},t(k,[2,14],{22:33,21:60,23:[1,61],71:f,72:d,73:p}),t(w,[2,79]),t(w,[2,80]),t(w,[2,81]),t(E,[2,4]),{9:62,16:r},{16:[2,8]},{1:[2,10]},{5:23,7:5,13:e,18:63,19:[2,12],20:16,21:24,22:33,24:17,26:18,27:19,28:20,29:21,30:22,31:i,36:a,38:o,39:s,50:c,51:u,53:l,57:h,71:f,72:d,73:p},t(g,[2,19]),{21:64,22:33,41:[1,65],71:f,72:d,73:p},{40:66,42:46,43:47,44:y,45:v,46:m,47:b,48:x,49:_},t(g,[2,34]),{43:67,48:x,49:_},t(T,[2,44],{42:68,44:y,45:v,46:m,47:b}),t(C,[2,45]),t(C,[2,46]),t(C,[2,47]),t(C,[2,48]),t(A,[2,49]),t(A,[2,50]),t(g,[2,26],{32:[1,69],33:[1,70]}),{37:[1,71]},{41:[1,72]},{41:[1,73]},{54:[1,74],56:[1,75]},{22:76,71:f,72:d,73:p},t(k,[2,15]),t(k,[2,17],{22:33,21:77,71:f,72:d,73:p}),{10:[1,78]},{19:[2,13]},t(S,[2,37]),{21:79,22:33,71:f,72:d,73:p},{21:80,22:33,41:[1,81],71:f,72:d,73:p},t(T,[2,43],{42:82,44:y,45:v,46:m,47:b}),t(T,[2,42]),{22:83,71:f,72:d,73:p},{34:84,38:M},{21:86,22:33,71:f,72:d,73:p},t(g,[2,51],{41:[1,87]}),t(g,[2,53],{41:[1,89],52:[1,88]}),t(g,[2,57],{41:[1,90],55:[1,91]}),t(g,[2,61],{41:[1,93],52:[1,92]}),t(g,[2,65]),t(k,[2,16]),t(E,[2,5]),t(S,[2,39]),t(S,[2,38]),{21:94,22:33,71:f,72:d,73:p},t(T,[2,41]),t(g,[2,27],{33:[1,95]}),{35:[1,96]},{34:97,35:[2,31],38:M},t(g,[2,30]),t(g,[2,52]),t(g,[2,54]),t(g,[2,55],{52:[1,98]}),t(g,[2,58]),t(g,[2,59],{41:[1,99]}),t(g,[2,62]),t(g,[2,63],{52:[1,100]}),t(S,[2,40]),{34:101,38:M},t(g,[2,28]),{35:[2,32]},t(g,[2,56]),t(g,[2,60]),t(g,[2,64]),{35:[1,102]},t(g,[2,29])],defaultActions:{2:[2,1],4:[2,3],7:[2,6],8:[2,2],14:[2,9],39:[2,8],40:[2,10],63:[2,13],97:[2,32]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,A,S,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in S=[],o[k])this.terminals_[T]&&T>h&&S.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:S})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),A=o[n[n.length-2]][n[n.length-1]],n.push(A);break;case 3:return!0}}return!0}},D={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),13;case 1:return this.begin("type_directive"),14;case 2:return this.popState(),this.begin("arg_directive"),11;case 3:return this.popState(),this.popState(),16;case 4:return 15;case 5:case 6:break;case 7:return 10;case 8:break;case 9:case 10:return 17;case 11:return this.begin("struct"),33;case 12:return"EOF_IN_STRUCT";case 13:return"OPEN_IN_STRUCT";case 14:return this.popState(),35;case 15:break;case 16:return"MEMBER";case 17:return 31;case 18:return 57;case 19:return 50;case 20:return 51;case 21:return 53;case 22:return 36;case 23:return 37;case 24:this.begin("generic");break;case 25:this.popState();break;case 26:return"GENERICTYPE";case 27:this.begin("string");break;case 28:this.popState();break;case 29:return"STR";case 30:this.begin("href");break;case 31:this.popState();break;case 32:return 56;case 33:this.begin("callback_name");break;case 34:this.popState();break;case 35:this.popState(),this.begin("callback_args");break;case 36:return 54;case 37:this.popState();break;case 38:return 55;case 39:case 40:case 41:case 42:return 52;case 43:case 44:return 45;case 45:case 46:return 47;case 47:return 46;case 48:return 44;case 49:return 48;case 50:return 49;case 51:return 25;case 52:return 32;case 53:return 69;case 54:return"DOT";case 55:return"PLUS";case 56:return 66;case 57:case 58:return"EQUALS";case 59:return 73;case 60:return"PUNCTUATION";case 61:return 72;case 62:return 71;case 63:return 68;case 64:return 19}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:[{])/,/^(?:$)/,/^(?:[{])/,/^(?:[}])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:class\b)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:[~])/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:$)/],conditions:{arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callback_args:{rules:[37,38],inclusive:!1},callback_name:{rules:[34,35,36],inclusive:!1},href:{rules:[31,32],inclusive:!1},struct:{rules:[12,13,14,15,16],inclusive:!1},generic:{rules:[25,26],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,17,18,19,20,21,22,23,24,27,30,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64],inclusive:!0}}};function N(){this.yy={}}return O.lexer=D,N.prototype=O,O.Parser=N,new N}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(19).readFileSync(n(20).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(14),n(7)(t))},function(t,e){var n,r,i=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(n===setTimeout)return setTimeout(t,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(t){n=a}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(t){r=o}}();var c,u=[],l=!1,h=-1;function f(){l&&c&&(l=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!l){var t=s(f);l=!0;for(var e=u.length;e;){for(c=u,u=[];++h<e;)c&&c[h].run();h=-1,e=u.length}c=null,l=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function g(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];u.push(new p(t,e)),1!==u.length||l||s(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(75),i=n(99),a=n(179),o=n(180),s=n(181),c={format:{keyword:a.default,hex:i.default,rgb:o.default,rgba:o.default,hsl:s.default,hsla:s.default},parse:function(t){if("string"!=typeof t)return t;var e=i.default.parse(t)||o.default.parse(t)||s.default.parse(t)||a.default.parse(t);if(e)return e;throw new Error('Unsupported color format: "'+t+'"')},stringify:function(t){return!t.changed&&t.color?t.color:t.type.is(r.TYPE.HSL)||void 0===t.data.r?s.default.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?o.default.stringify(t):i.default.stringify(t)}};e.default=c},function(t,e,n){var r=n(109),i="object"==typeof self&&self&&self.Object===Object&&self,a=r||i||Function("return this")();t.exports=a},function(t,e,n){var r;try{r=n(3)}catch(t){}r||(r=window.graphlib),t.exports=r},function(t,e,n){t.exports={graphlib:n(17),layout:n(312),debug:n(366),util:{time:n(8).time,notime:n(8).notime},version:n(367)}},function(t,e){},function(t,e,n){(function(t){function n(t,e){for(var n=0,r=t.length-1;r>=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r<t.length;r++)e(t[r],r,t)&&n.push(t[r]);return n}e.resolve=function(){for(var e="",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var o=a>=0?arguments[a]:t.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(e=o+"/"+e,i="/"===o.charAt(0))}return(i?"/":"")+(e=n(r(e.split("/"),(function(t){return!!t})),!i).join("/"))||"."},e.normalize=function(t){var a=e.isAbsolute(t),o="/"===i(t,-1);return(t=n(r(t.split("/"),(function(t){return!!t})),!a).join("/"))||a||(t="."),t&&o&&(t+="/"),(a?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(r(t,(function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t})).join("/"))},e.relative=function(t,n){function r(t){for(var e=0;e<t.length&&""===t[e];e++);for(var n=t.length-1;n>=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=e.resolve(t).substr(1),n=e.resolve(n).substr(1);for(var i=r(t.split("/")),a=r(n.split("/")),o=Math.min(i.length,a.length),s=o,c=0;c<o;c++)if(i[c]!==a[c]){s=c;break}var u=[];for(c=s;c<i.length;c++)u.push("..");return(u=u.concat(a.slice(s))).join("/")},e.sep="/",e.delimiter=":",e.dirname=function(t){if("string"!=typeof t&&(t+=""),0===t.length)return".";for(var e=t.charCodeAt(0),n=47===e,r=-1,i=!0,a=t.length-1;a>=1;--a)if(47===(e=t.charCodeAt(a))){if(!i){r=a;break}}else i=!1;return-1===r?n?"/":".":n&&1===r?"/":t.slice(0,r)},e.basename=function(t,e){var n=function(t){"string"!=typeof t&&(t+="");var e,n=0,r=-1,i=!0;for(e=t.length-1;e>=0;--e)if(47===t.charCodeAt(e)){if(!i){n=e+1;break}}else-1===r&&(i=!1,r=e+1);return-1===r?"":t.slice(n,r)}(t);return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),n},e.extname=function(t){"string"!=typeof t&&(t+="");for(var e=-1,n=0,r=-1,i=!0,a=0,o=t.length-1;o>=0;--o){var s=t.charCodeAt(o);if(47!==s)-1===r&&(i=!1,r=o+1),46===s?-1===e?e=o:1!==a&&(a=1):-1!==e&&(a=-1);else if(!i){n=o+1;break}}return-1===e||-1===r||0===a||1===a&&e===r-1&&e===n+1?"":t.slice(e,r)};var i="b"==="ab".substr(-1)?function(t,e,n){return t.substr(e,n)}:function(t,e,n){return e<0&&(e=t.length+e),t.substr(e,n)}}).call(this,n(14))},function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,2],n=[1,3],r=[1,5],i=[1,7],a=[2,5],o=[1,15],s=[1,17],c=[1,19],u=[1,20],l=[1,21],h=[1,22],f=[1,28],d=[1,23],p=[1,24],g=[1,25],y=[1,26],v=[1,29],m=[1,32],b=[1,4,5,14,15,17,19,20,22,23,24,25,26,36,39],x=[1,4,5,12,13,14,15,17,19,20,22,23,24,25,26,36,39],_=[1,4,5,7,14,15,17,19,20,22,23,24,25,26,36,39],k=[4,5,14,15,17,19,20,22,23,24,25,26,36,39],w={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,directive:6,SD:7,document:8,line:9,statement:10,idStatement:11,DESCR:12,"--\x3e":13,HIDE_EMPTY:14,scale:15,WIDTH:16,COMPOSIT_STATE:17,STRUCT_START:18,STRUCT_STOP:19,STATE_DESCR:20,AS:21,ID:22,FORK:23,JOIN:24,CONCURRENT:25,note:26,notePosition:27,NOTE_TEXT:28,openDirective:29,typeDirective:30,closeDirective:31,":":32,argDirective:33,eol:34,";":35,EDGE_STATE:36,left_of:37,right_of:38,open_directive:39,type_directive:40,arg_directive:41,close_directive:42,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",7:"SD",12:"DESCR",13:"--\x3e",14:"HIDE_EMPTY",15:"scale",16:"WIDTH",17:"COMPOSIT_STATE",18:"STRUCT_START",19:"STRUCT_STOP",20:"STATE_DESCR",21:"AS",22:"ID",23:"FORK",24:"JOIN",25:"CONCURRENT",26:"note",28:"NOTE_TEXT",32:":",35:";",36:"EDGE_STATE",37:"left_of",38:"right_of",39:"open_directive",40:"type_directive",41:"arg_directive",42:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,1],[10,2],[10,1],[10,4],[10,3],[10,6],[10,1],[10,1],[10,1],[10,4],[10,4],[10,1],[6,3],[6,5],[34,1],[34,1],[11,1],[11,1],[27,1],[27,1],[29,1],[30,1],[33,1],[31,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 4:return r.setRootDoc(a[s]),a[s];case 5:this.$=[];break;case 6:"nl"!=a[s]&&(a[s-1].push(a[s]),this.$=a[s-1]);break;case 7:case 8:this.$=a[s];break;case 9:this.$="nl";break;case 10:this.$={stmt:"state",id:a[s],type:"default",description:""};break;case 11:this.$={stmt:"state",id:a[s-1],type:"default",description:r.trimColon(a[s])};break;case 12:this.$={stmt:"relation",state1:{stmt:"state",id:a[s-2],type:"default",description:""},state2:{stmt:"state",id:a[s],type:"default",description:""}};break;case 13:this.$={stmt:"relation",state1:{stmt:"state",id:a[s-3],type:"default",description:""},state2:{stmt:"state",id:a[s-1],type:"default",description:""},description:a[s].substr(1).trim()};break;case 17:this.$={stmt:"state",id:a[s-3],type:"default",description:"",doc:a[s-1]};break;case 18:var c=a[s],u=a[s-2].trim();if(a[s].match(":")){var l=a[s].split(":");c=l[0],u=[u,l[1]]}this.$={stmt:"state",id:c,type:"default",description:u};break;case 19:this.$={stmt:"state",id:a[s-3],type:"default",description:a[s-5],doc:a[s-1]};break;case 20:this.$={stmt:"state",id:a[s],type:"fork"};break;case 21:this.$={stmt:"state",id:a[s],type:"join"};break;case 22:this.$={stmt:"state",id:r.getDividerId(),type:"divider"};break;case 23:this.$={stmt:"state",id:a[s-1].trim(),note:{position:a[s-2].trim(),text:a[s].trim()}};break;case 30:case 31:this.$=a[s];break;case 34:r.parseDirective("%%{","open_directive");break;case 35:r.parseDirective(a[s],"type_directive");break;case 36:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 37:r.parseDirective("}%%","close_directive","state")}},table:[{3:1,4:e,5:n,6:4,7:r,29:6,39:i},{1:[3]},{3:8,4:e,5:n,6:4,7:r,29:6,39:i},{3:9,4:e,5:n,6:4,7:r,29:6,39:i},{3:10,4:e,5:n,6:4,7:r,29:6,39:i},t([1,4,5,14,15,17,20,22,23,24,25,26,36,39],a,{8:11}),{30:12,40:[1,13]},{40:[2,34]},{1:[2,1]},{1:[2,2]},{1:[2,3]},{1:[2,4],4:o,5:s,6:27,9:14,10:16,11:18,14:c,15:u,17:l,20:h,22:f,23:d,24:p,25:g,26:y,29:6,36:v,39:i},{31:30,32:[1,31],42:m},t([32,42],[2,35]),t(b,[2,6]),{6:27,10:33,11:18,14:c,15:u,17:l,20:h,22:f,23:d,24:p,25:g,26:y,29:6,36:v,39:i},t(b,[2,8]),t(b,[2,9]),t(b,[2,10],{12:[1,34],13:[1,35]}),t(b,[2,14]),{16:[1,36]},t(b,[2,16],{18:[1,37]}),{21:[1,38]},t(b,[2,20]),t(b,[2,21]),t(b,[2,22]),{27:39,28:[1,40],37:[1,41],38:[1,42]},t(b,[2,25]),t(x,[2,30]),t(x,[2,31]),t(_,[2,26]),{33:43,41:[1,44]},t(_,[2,37]),t(b,[2,7]),t(b,[2,11]),{11:45,22:f,36:v},t(b,[2,15]),t(k,a,{8:46}),{22:[1,47]},{22:[1,48]},{21:[1,49]},{22:[2,32]},{22:[2,33]},{31:50,42:m},{42:[2,36]},t(b,[2,12],{12:[1,51]}),{4:o,5:s,6:27,9:14,10:16,11:18,14:c,15:u,17:l,19:[1,52],20:h,22:f,23:d,24:p,25:g,26:y,29:6,36:v,39:i},t(b,[2,18],{18:[1,53]}),{28:[1,54]},{22:[1,55]},t(_,[2,27]),t(b,[2,13]),t(b,[2,17]),t(k,a,{8:56}),t(b,[2,23]),t(b,[2,24]),{4:o,5:s,6:27,9:14,10:16,11:18,14:c,15:u,17:l,19:[1,57],20:h,22:f,23:d,24:p,25:g,26:y,29:6,36:v,39:i},t(b,[2,19])],defaultActions:{7:[2,34],8:[2,1],9:[2,2],10:[2,3],41:[2,32],42:[2,33],44:[2,36]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,A,S,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in S=[],o[k])this.terminals_[T]&&T>h&&S.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:S})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),A=o[n[n.length-2]][n[n.length-1]],n.push(A);break;case 3:return!0}}return!0}},E={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),39;case 1:return this.begin("type_directive"),40;case 2:return this.popState(),this.begin("arg_directive"),32;case 3:return this.popState(),this.popState(),42;case 4:return 41;case 5:break;case 6:console.log("Crap after close");break;case 7:return 5;case 8:case 9:case 10:case 11:break;case 12:return this.pushState("SCALE"),15;case 13:return 16;case 14:this.popState();break;case 15:this.pushState("STATE");break;case 16:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),23;case 17:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),24;case 18:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),23;case 19:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),24;case 20:this.begin("STATE_STRING");break;case 21:return this.popState(),this.pushState("STATE_ID"),"AS";case 22:return this.popState(),"ID";case 23:this.popState();break;case 24:return"STATE_DESCR";case 25:return 17;case 26:this.popState();break;case 27:return this.popState(),this.pushState("struct"),18;case 28:return this.popState(),19;case 29:break;case 30:return this.begin("NOTE"),26;case 31:return this.popState(),this.pushState("NOTE_ID"),37;case 32:return this.popState(),this.pushState("NOTE_ID"),38;case 33:this.popState(),this.pushState("FLOATING_NOTE");break;case 34:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 35:break;case 36:return"NOTE_TEXT";case 37:return this.popState(),"ID";case 38:return this.popState(),this.pushState("NOTE_TEXT"),22;case 39:return this.popState(),e.yytext=e.yytext.substr(2).trim(),28;case 40:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),28;case 41:case 42:return 7;case 43:return 14;case 44:return 36;case 45:return 22;case 46:return e.yytext=e.yytext.trim(),12;case 47:return 13;case 48:return 25;case 49:return 5;case 50:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},close_directive:{rules:[9,10],inclusive:!1},arg_directive:{rules:[3,4,9,10],inclusive:!1},type_directive:{rules:[2,3,9,10],inclusive:!1},open_directive:{rules:[1,9,10],inclusive:!1},struct:{rules:[9,10,15,28,29,30,44,45,46,47,48],inclusive:!1},FLOATING_NOTE_ID:{rules:[37],inclusive:!1},FLOATING_NOTE:{rules:[34,35,36],inclusive:!1},NOTE_TEXT:{rules:[39,40],inclusive:!1},NOTE_ID:{rules:[38],inclusive:!1},NOTE:{rules:[31,32,33],inclusive:!1},SCALE:{rules:[13,14],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[22],inclusive:!1},STATE_STRING:{rules:[23,24],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,16,17,18,19,20,21,25,26,27],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,10,11,12,15,27,30,41,42,43,44,45,46,47,49,50],inclusive:!0}}};function T(){this.yy={}}return w.lexer=E,T.prototype=w,w.Parser=T,new T}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(19).readFileSync(n(20).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(14),n(7)(t))},function(t,e,n){(function(t){t.exports=function(){"use strict";var e,r;function i(){return e.apply(null,arguments)}function a(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function o(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){return void 0===t}function c(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function u(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function l(t,e){var n,r=[];for(n=0;n<t.length;++n)r.push(e(t[n],n));return r}function h(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function f(t,e){for(var n in e)h(e,n)&&(t[n]=e[n]);return h(e,"toString")&&(t.toString=e.toString),h(e,"valueOf")&&(t.valueOf=e.valueOf),t}function d(t,e,n,r){return be(t,e,n,r,!0).utc()}function p(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function g(t){if(null==t._isValid){var e=p(t),n=r.call(e.parsedDateParts,(function(t){return null!=t})),i=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&n);if(t._strict&&(i=i&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return i;t._isValid=i}return t._isValid}function y(t){var e=d(NaN);return null!=t?f(p(e),t):p(e).userInvalidated=!0,e}r=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),n=e.length>>>0,r=0;r<n;r++)if(r in e&&t.call(this,e[r],r,e))return!0;return!1};var v=i.momentProperties=[];function m(t,e){var n,r,i;if(s(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),s(e._i)||(t._i=e._i),s(e._f)||(t._f=e._f),s(e._l)||(t._l=e._l),s(e._strict)||(t._strict=e._strict),s(e._tzm)||(t._tzm=e._tzm),s(e._isUTC)||(t._isUTC=e._isUTC),s(e._offset)||(t._offset=e._offset),s(e._pf)||(t._pf=p(e)),s(e._locale)||(t._locale=e._locale),0<v.length)for(n=0;n<v.length;n++)s(i=e[r=v[n]])||(t[r]=i);return t}var b=!1;function x(t){m(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===b&&(b=!0,i.updateOffset(this),b=!1)}function _(t){return t instanceof x||null!=t&&null!=t._isAMomentObject}function k(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=k(e)),n}function E(t,e,n){var r,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),o=0;for(r=0;r<i;r++)(n&&t[r]!==e[r]||!n&&w(t[r])!==w(e[r]))&&o++;return o+a}function T(t){!1===i.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function C(t,e){var n=!0;return f((function(){if(null!=i.deprecationHandler&&i.deprecationHandler(null,t),n){for(var r,a=[],o=0;o<arguments.length;o++){if(r="","object"==typeof arguments[o]){for(var s in r+="\n["+o+"] ",arguments[0])r+=s+": "+arguments[0][s]+", ";r=r.slice(0,-2)}else r=arguments[o];a.push(r)}T(t+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),n=!1}return e.apply(this,arguments)}),e)}var A,S={};function M(t,e){null!=i.deprecationHandler&&i.deprecationHandler(t,e),S[t]||(T(e),S[t]=!0)}function O(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function D(t,e){var n,r=f({},t);for(n in e)h(e,n)&&(o(t[n])&&o(e[n])?(r[n]={},f(r[n],t[n]),f(r[n],e[n])):null!=e[n]?r[n]=e[n]:delete r[n]);for(n in t)h(t,n)&&!h(e,n)&&o(t[n])&&(r[n]=f({},r[n]));return r}function N(t){null!=t&&this.set(t)}i.suppressDeprecationWarnings=!1,i.deprecationHandler=null,A=Object.keys?Object.keys:function(t){var e,n=[];for(e in t)h(t,e)&&n.push(e);return n};var B={};function L(t,e){var n=t.toLowerCase();B[n]=B[n+"s"]=B[e]=t}function P(t){return"string"==typeof t?B[t]||B[t.toLowerCase()]:void 0}function I(t){var e,n,r={};for(n in t)h(t,n)&&(e=P(n))&&(r[e]=t[n]);return r}var F={};function j(t,e){F[t]=e}function R(t,e,n){var r=""+Math.abs(t),i=e-r.length;return(0<=t?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+r}var Y=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,z=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,U={},$={};function W(t,e,n,r){var i=r;"string"==typeof r&&(i=function(){return this[r]()}),t&&($[t]=i),e&&($[e[0]]=function(){return R(i.apply(this,arguments),e[1],e[2])}),n&&($[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function H(t,e){return t.isValid()?(e=V(e,t.localeData()),U[e]=U[e]||function(t){var e,n,r,i=t.match(Y);for(e=0,n=i.length;e<n;e++)$[i[e]]?i[e]=$[i[e]]:i[e]=(r=i[e]).match(/\[[\s\S]/)?r.replace(/^\[|\]$/g,""):r.replace(/\\/g,"");return function(e){var r,a="";for(r=0;r<n;r++)a+=O(i[r])?i[r].call(e,t):i[r];return a}}(e),U[e](t)):t.localeData().invalidDate()}function V(t,e){var n=5;function r(t){return e.longDateFormat(t)||t}for(z.lastIndex=0;0<=n&&z.test(t);)t=t.replace(z,r),z.lastIndex=0,n-=1;return t}var G=/\d/,q=/\d\d/,X=/\d{3}/,Z=/\d{4}/,J=/[+-]?\d{6}/,K=/\d\d?/,Q=/\d\d\d\d?/,tt=/\d\d\d\d\d\d?/,et=/\d{1,3}/,nt=/\d{1,4}/,rt=/[+-]?\d{1,6}/,it=/\d+/,at=/[+-]?\d+/,ot=/Z|[+-]\d\d:?\d\d/gi,st=/Z|[+-]\d\d(?::?\d\d)?/gi,ct=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ut={};function lt(t,e,n){ut[t]=O(e)?e:function(t,r){return t&&n?n:e}}function ht(t,e){return h(ut,t)?ut[t](e._strict,e._locale):new RegExp(ft(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(t,e,n,r,i){return e||n||r||i}))))}function ft(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var dt={};function pt(t,e){var n,r=e;for("string"==typeof t&&(t=[t]),c(e)&&(r=function(t,n){n[e]=w(t)}),n=0;n<t.length;n++)dt[t[n]]=r}function gt(t,e){pt(t,(function(t,n,r,i){r._w=r._w||{},e(t,r._w,r,i)}))}function yt(t){return vt(t)?366:365}function vt(t){return t%4==0&&t%100!=0||t%400==0}W("Y",0,0,(function(){var t=this.year();return t<=9999?""+t:"+"+t})),W(0,["YY",2],0,(function(){return this.year()%100})),W(0,["YYYY",4],0,"year"),W(0,["YYYYY",5],0,"year"),W(0,["YYYYYY",6,!0],0,"year"),L("year","y"),j("year",1),lt("Y",at),lt("YY",K,q),lt("YYYY",nt,Z),lt("YYYYY",rt,J),lt("YYYYYY",rt,J),pt(["YYYYY","YYYYYY"],0),pt("YYYY",(function(t,e){e[0]=2===t.length?i.parseTwoDigitYear(t):w(t)})),pt("YY",(function(t,e){e[0]=i.parseTwoDigitYear(t)})),pt("Y",(function(t,e){e[0]=parseInt(t,10)})),i.parseTwoDigitYear=function(t){return w(t)+(68<w(t)?1900:2e3)};var mt,bt=xt("FullYear",!0);function xt(t,e){return function(n){return null!=n?(kt(this,t,n),i.updateOffset(this,e),this):_t(this,t)}}function _t(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function kt(t,e,n){t.isValid()&&!isNaN(n)&&("FullYear"===e&&vt(t.year())&&1===t.month()&&29===t.date()?t._d["set"+(t._isUTC?"UTC":"")+e](n,t.month(),wt(n,t.month())):t._d["set"+(t._isUTC?"UTC":"")+e](n))}function wt(t,e){if(isNaN(t)||isNaN(e))return NaN;var n=(e%12+12)%12;return t+=(e-n)/12,1===n?vt(t)?29:28:31-n%7%2}mt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},W("M",["MM",2],"Mo",(function(){return this.month()+1})),W("MMM",0,0,(function(t){return this.localeData().monthsShort(this,t)})),W("MMMM",0,0,(function(t){return this.localeData().months(this,t)})),L("month","M"),j("month",8),lt("M",K),lt("MM",K,q),lt("MMM",(function(t,e){return e.monthsShortRegex(t)})),lt("MMMM",(function(t,e){return e.monthsRegex(t)})),pt(["M","MM"],(function(t,e){e[1]=w(t)-1})),pt(["MMM","MMMM"],(function(t,e,n,r){var i=n._locale.monthsParse(t,r,n._strict);null!=i?e[1]=i:p(n).invalidMonth=t}));var Et=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Tt="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Ct="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function At(t,e){var n;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=w(e);else if(!c(e=t.localeData().monthsParse(e)))return t;return n=Math.min(t.date(),wt(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t}function St(t){return null!=t?(At(this,t),i.updateOffset(this,!0),this):_t(this,"Month")}var Mt=ct,Ot=ct;function Dt(){function t(t,e){return e.length-t.length}var e,n,r=[],i=[],a=[];for(e=0;e<12;e++)n=d([2e3,e]),r.push(this.monthsShort(n,"")),i.push(this.months(n,"")),a.push(this.months(n,"")),a.push(this.monthsShort(n,""));for(r.sort(t),i.sort(t),a.sort(t),e=0;e<12;e++)r[e]=ft(r[e]),i[e]=ft(i[e]);for(e=0;e<24;e++)a[e]=ft(a[e]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Nt(t){var e;if(t<100&&0<=t){var n=Array.prototype.slice.call(arguments);n[0]=t+400,e=new Date(Date.UTC.apply(null,n)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function Bt(t,e,n){var r=7+e-n;return-(7+Nt(t,0,r).getUTCDay()-e)%7+r-1}function Lt(t,e,n,r,i){var a,o,s=1+7*(e-1)+(7+n-r)%7+Bt(t,r,i);return o=s<=0?yt(a=t-1)+s:s>yt(t)?(a=t+1,s-yt(t)):(a=t,s),{year:a,dayOfYear:o}}function Pt(t,e,n){var r,i,a=Bt(t.year(),e,n),o=Math.floor((t.dayOfYear()-a-1)/7)+1;return o<1?r=o+It(i=t.year()-1,e,n):o>It(t.year(),e,n)?(r=o-It(t.year(),e,n),i=t.year()+1):(i=t.year(),r=o),{week:r,year:i}}function It(t,e,n){var r=Bt(t,e,n),i=Bt(t+1,e,n);return(yt(t)-r+i)/7}function Ft(t,e){return t.slice(e,7).concat(t.slice(0,e))}W("w",["ww",2],"wo","week"),W("W",["WW",2],"Wo","isoWeek"),L("week","w"),L("isoWeek","W"),j("week",5),j("isoWeek",5),lt("w",K),lt("ww",K,q),lt("W",K),lt("WW",K,q),gt(["w","ww","W","WW"],(function(t,e,n,r){e[r.substr(0,1)]=w(t)})),W("d",0,"do","day"),W("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),W("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),W("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),W("e",0,0,"weekday"),W("E",0,0,"isoWeekday"),L("day","d"),L("weekday","e"),L("isoWeekday","E"),j("day",11),j("weekday",11),j("isoWeekday",11),lt("d",K),lt("e",K),lt("E",K),lt("dd",(function(t,e){return e.weekdaysMinRegex(t)})),lt("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),lt("dddd",(function(t,e){return e.weekdaysRegex(t)})),gt(["dd","ddd","dddd"],(function(t,e,n,r){var i=n._locale.weekdaysParse(t,r,n._strict);null!=i?e.d=i:p(n).invalidWeekday=t})),gt(["d","e","E"],(function(t,e,n,r){e[r]=w(t)}));var jt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Rt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Yt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),zt=ct,Ut=ct,$t=ct;function Wt(){function t(t,e){return e.length-t.length}var e,n,r,i,a,o=[],s=[],c=[],u=[];for(e=0;e<7;e++)n=d([2e3,1]).day(e),r=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),a=this.weekdays(n,""),o.push(r),s.push(i),c.push(a),u.push(r),u.push(i),u.push(a);for(o.sort(t),s.sort(t),c.sort(t),u.sort(t),e=0;e<7;e++)s[e]=ft(s[e]),c[e]=ft(c[e]),u[e]=ft(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function Ht(){return this.hours()%12||12}function Vt(t,e){W(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function Gt(t,e){return e._meridiemParse}W("H",["HH",2],0,"hour"),W("h",["hh",2],0,Ht),W("k",["kk",2],0,(function(){return this.hours()||24})),W("hmm",0,0,(function(){return""+Ht.apply(this)+R(this.minutes(),2)})),W("hmmss",0,0,(function(){return""+Ht.apply(this)+R(this.minutes(),2)+R(this.seconds(),2)})),W("Hmm",0,0,(function(){return""+this.hours()+R(this.minutes(),2)})),W("Hmmss",0,0,(function(){return""+this.hours()+R(this.minutes(),2)+R(this.seconds(),2)})),Vt("a",!0),Vt("A",!1),L("hour","h"),j("hour",13),lt("a",Gt),lt("A",Gt),lt("H",K),lt("h",K),lt("k",K),lt("HH",K,q),lt("hh",K,q),lt("kk",K,q),lt("hmm",Q),lt("hmmss",tt),lt("Hmm",Q),lt("Hmmss",tt),pt(["H","HH"],3),pt(["k","kk"],(function(t,e,n){var r=w(t);e[3]=24===r?0:r})),pt(["a","A"],(function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t})),pt(["h","hh"],(function(t,e,n){e[3]=w(t),p(n).bigHour=!0})),pt("hmm",(function(t,e,n){var r=t.length-2;e[3]=w(t.substr(0,r)),e[4]=w(t.substr(r)),p(n).bigHour=!0})),pt("hmmss",(function(t,e,n){var r=t.length-4,i=t.length-2;e[3]=w(t.substr(0,r)),e[4]=w(t.substr(r,2)),e[5]=w(t.substr(i)),p(n).bigHour=!0})),pt("Hmm",(function(t,e,n){var r=t.length-2;e[3]=w(t.substr(0,r)),e[4]=w(t.substr(r))})),pt("Hmmss",(function(t,e,n){var r=t.length-4,i=t.length-2;e[3]=w(t.substr(0,r)),e[4]=w(t.substr(r,2)),e[5]=w(t.substr(i))}));var qt,Xt=xt("Hours",!0),Zt={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Tt,monthsShort:Ct,week:{dow:0,doy:6},weekdays:jt,weekdaysMin:Yt,weekdaysShort:Rt,meridiemParse:/[ap]\.?m?\.?/i},Jt={},Kt={};function Qt(t){return t?t.toLowerCase().replace("_","-"):t}function te(e){var r=null;if(!Jt[e]&&void 0!==t&&t&&t.exports)try{r=qt._abbr,n(171)("./"+e),ee(r)}catch(e){}return Jt[e]}function ee(t,e){var n;return t&&((n=s(e)?re(t):ne(t,e))?qt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),qt._abbr}function ne(t,e){if(null===e)return delete Jt[t],null;var n,r=Zt;if(e.abbr=t,null!=Jt[t])M("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=Jt[t]._config;else if(null!=e.parentLocale)if(null!=Jt[e.parentLocale])r=Jt[e.parentLocale]._config;else{if(null==(n=te(e.parentLocale)))return Kt[e.parentLocale]||(Kt[e.parentLocale]=[]),Kt[e.parentLocale].push({name:t,config:e}),null;r=n._config}return Jt[t]=new N(D(r,e)),Kt[t]&&Kt[t].forEach((function(t){ne(t.name,t.config)})),ee(t),Jt[t]}function re(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return qt;if(!a(t)){if(e=te(t))return e;t=[t]}return function(t){for(var e,n,r,i,a=0;a<t.length;){for(e=(i=Qt(t[a]).split("-")).length,n=(n=Qt(t[a+1]))?n.split("-"):null;0<e;){if(r=te(i.slice(0,e).join("-")))return r;if(n&&n.length>=e&&E(i,n,!0)>=e-1)break;e--}a++}return qt}(t)}function ie(t){var e,n=t._a;return n&&-2===p(t).overflow&&(e=n[1]<0||11<n[1]?1:n[2]<1||n[2]>wt(n[0],n[1])?2:n[3]<0||24<n[3]||24===n[3]&&(0!==n[4]||0!==n[5]||0!==n[6])?3:n[4]<0||59<n[4]?4:n[5]<0||59<n[5]?5:n[6]<0||999<n[6]?6:-1,p(t)._overflowDayOfYear&&(e<0||2<e)&&(e=2),p(t)._overflowWeeks&&-1===e&&(e=7),p(t)._overflowWeekday&&-1===e&&(e=8),p(t).overflow=e),t}function ae(t,e,n){return null!=t?t:null!=e?e:n}function oe(t){var e,n,r,a,o,s=[];if(!t._d){var c,u;for(c=t,u=new Date(i.now()),r=c._useUTC?[u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()]:[u.getFullYear(),u.getMonth(),u.getDate()],t._w&&null==t._a[2]&&null==t._a[1]&&function(t){var e,n,r,i,a,o,s,c;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,o=4,n=ae(e.GG,t._a[0],Pt(xe(),1,4).year),r=ae(e.W,1),((i=ae(e.E,1))<1||7<i)&&(c=!0);else{a=t._locale._week.dow,o=t._locale._week.doy;var u=Pt(xe(),a,o);n=ae(e.gg,t._a[0],u.year),r=ae(e.w,u.week),null!=e.d?((i=e.d)<0||6<i)&&(c=!0):null!=e.e?(i=e.e+a,(e.e<0||6<e.e)&&(c=!0)):i=a}r<1||r>It(n,a,o)?p(t)._overflowWeeks=!0:null!=c?p(t)._overflowWeekday=!0:(s=Lt(n,r,i,a,o),t._a[0]=s.year,t._dayOfYear=s.dayOfYear)}(t),null!=t._dayOfYear&&(o=ae(t._a[0],r[0]),(t._dayOfYear>yt(o)||0===t._dayOfYear)&&(p(t)._overflowDayOfYear=!0),n=Nt(o,0,t._dayOfYear),t._a[1]=n.getUTCMonth(),t._a[2]=n.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=r[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[3]&&0===t._a[4]&&0===t._a[5]&&0===t._a[6]&&(t._nextDay=!0,t._a[3]=0),t._d=(t._useUTC?Nt:function(t,e,n,r,i,a,o){var s;return t<100&&0<=t?(s=new Date(t+400,e,n,r,i,a,o),isFinite(s.getFullYear())&&s.setFullYear(t)):s=new Date(t,e,n,r,i,a,o),s}).apply(null,s),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[3]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(p(t).weekdayMismatch=!0)}}var se=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ce=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ue=/Z|[+-]\d\d(?::?\d\d)?/,le=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],he=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],fe=/^\/?Date\((\-?\d+)/i;function de(t){var e,n,r,i,a,o,s=t._i,c=se.exec(s)||ce.exec(s);if(c){for(p(t).iso=!0,e=0,n=le.length;e<n;e++)if(le[e][1].exec(c[1])){i=le[e][0],r=!1!==le[e][2];break}if(null==i)return void(t._isValid=!1);if(c[3]){for(e=0,n=he.length;e<n;e++)if(he[e][1].exec(c[3])){a=(c[2]||" ")+he[e][0];break}if(null==a)return void(t._isValid=!1)}if(!r&&null!=a)return void(t._isValid=!1);if(c[4]){if(!ue.exec(c[4]))return void(t._isValid=!1);o="Z"}t._f=i+(a||"")+(o||""),ve(t)}else t._isValid=!1}var pe=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,ge={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function ye(t){var e,n,r,i=pe.exec(t._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(i){var a=function(t,e,n,r,i,a){var o=[function(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}(t),Ct.indexOf(e),parseInt(n,10),parseInt(r,10),parseInt(i,10)];return a&&o.push(parseInt(a,10)),o}(i[4],i[3],i[2],i[5],i[6],i[7]);if(n=a,r=t,(e=i[1])&&Rt.indexOf(e)!==new Date(n[0],n[1],n[2]).getDay()&&(p(r).weekdayMismatch=!0,!(r._isValid=!1)))return;t._a=a,t._tzm=function(t,e,n){if(t)return ge[t];if(e)return 0;var r=parseInt(n,10),i=r%100;return(r-i)/100*60+i}(i[8],i[9],i[10]),t._d=Nt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),p(t).rfc2822=!0}else t._isValid=!1}function ve(t){if(t._f!==i.ISO_8601)if(t._f!==i.RFC_2822){t._a=[],p(t).empty=!0;var e,n,r,a,o,s,c,u,l=""+t._i,f=l.length,d=0;for(r=V(t._f,t._locale).match(Y)||[],e=0;e<r.length;e++)a=r[e],(n=(l.match(ht(a,t))||[])[0])&&(0<(o=l.substr(0,l.indexOf(n))).length&&p(t).unusedInput.push(o),l=l.slice(l.indexOf(n)+n.length),d+=n.length),$[a]?(n?p(t).empty=!1:p(t).unusedTokens.push(a),s=a,u=t,null!=(c=n)&&h(dt,s)&&dt[s](c,u._a,u,s)):t._strict&&!n&&p(t).unusedTokens.push(a);p(t).charsLeftOver=f-d,0<l.length&&p(t).unusedInput.push(l),t._a[3]<=12&&!0===p(t).bigHour&&0<t._a[3]&&(p(t).bigHour=void 0),p(t).parsedDateParts=t._a.slice(0),p(t).meridiem=t._meridiem,t._a[3]=function(t,e,n){var r;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):(null!=t.isPM&&((r=t.isPM(n))&&e<12&&(e+=12),r||12!==e||(e=0)),e)}(t._locale,t._a[3],t._meridiem),oe(t),ie(t)}else ye(t);else de(t)}function me(t){var e,n,r,h,d=t._i,v=t._f;return t._locale=t._locale||re(t._l),null===d||void 0===v&&""===d?y({nullInput:!0}):("string"==typeof d&&(t._i=d=t._locale.preparse(d)),_(d)?new x(ie(d)):(u(d)?t._d=d:a(v)?function(t){var e,n,r,i,a;if(0===t._f.length)return p(t).invalidFormat=!0,t._d=new Date(NaN);for(i=0;i<t._f.length;i++)a=0,e=m({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[i],ve(e),g(e)&&(a+=p(e).charsLeftOver,a+=10*p(e).unusedTokens.length,p(e).score=a,(null==r||a<r)&&(r=a,n=e));f(t,n||e)}(t):v?ve(t):s(n=(e=t)._i)?e._d=new Date(i.now()):u(n)?e._d=new Date(n.valueOf()):"string"==typeof n?(r=e,null===(h=fe.exec(r._i))?(de(r),!1===r._isValid&&(delete r._isValid,ye(r),!1===r._isValid&&(delete r._isValid,i.createFromInputFallback(r)))):r._d=new Date(+h[1])):a(n)?(e._a=l(n.slice(0),(function(t){return parseInt(t,10)})),oe(e)):o(n)?function(t){if(!t._d){var e=I(t._i);t._a=l([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],(function(t){return t&&parseInt(t,10)})),oe(t)}}(e):c(n)?e._d=new Date(n):i.createFromInputFallback(e),g(t)||(t._d=null),t))}function be(t,e,n,r,i){var s,c={};return!0!==n&&!1!==n||(r=n,n=void 0),(o(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||a(t)&&0===t.length)&&(t=void 0),c._isAMomentObject=!0,c._useUTC=c._isUTC=i,c._l=n,c._i=t,c._f=e,c._strict=r,(s=new x(ie(me(c))))._nextDay&&(s.add(1,"d"),s._nextDay=void 0),s}function xe(t,e,n,r){return be(t,e,n,r,!1)}i.createFromInputFallback=C("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(t){t._d=new Date(t._i+(t._useUTC?" UTC":""))})),i.ISO_8601=function(){},i.RFC_2822=function(){};var _e=C("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=xe.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:y()})),ke=C("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var t=xe.apply(null,arguments);return this.isValid()&&t.isValid()?this<t?this:t:y()}));function we(t,e){var n,r;if(1===e.length&&a(e[0])&&(e=e[0]),!e.length)return xe();for(n=e[0],r=1;r<e.length;++r)e[r].isValid()&&!e[r][t](n)||(n=e[r]);return n}var Ee=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Te(t){var e=I(t),n=e.year||0,r=e.quarter||0,i=e.month||0,a=e.week||e.isoWeek||0,o=e.day||0,s=e.hour||0,c=e.minute||0,u=e.second||0,l=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===mt.call(Ee,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var n=!1,r=0;r<Ee.length;++r)if(t[Ee[r]]){if(n)return!1;parseFloat(t[Ee[r]])!==w(t[Ee[r]])&&(n=!0)}return!0}(e),this._milliseconds=+l+1e3*u+6e4*c+1e3*s*60*60,this._days=+o+7*a,this._months=+i+3*r+12*n,this._data={},this._locale=re(),this._bubble()}function Ce(t){return t instanceof Te}function Ae(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Se(t,e){W(t,0,0,(function(){var t=this.utcOffset(),n="+";return t<0&&(t=-t,n="-"),n+R(~~(t/60),2)+e+R(~~t%60,2)}))}Se("Z",":"),Se("ZZ",""),lt("Z",st),lt("ZZ",st),pt(["Z","ZZ"],(function(t,e,n){n._useUTC=!0,n._tzm=Oe(st,t)}));var Me=/([\+\-]|\d\d)/gi;function Oe(t,e){var n=(e||"").match(t);if(null===n)return null;var r=((n[n.length-1]||[])+"").match(Me)||["-",0,0],i=60*r[1]+w(r[2]);return 0===i?0:"+"===r[0]?i:-i}function De(t,e){var n,r;return e._isUTC?(n=e.clone(),r=(_(t)||u(t)?t.valueOf():xe(t).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+r),i.updateOffset(n,!1),n):xe(t).local()}function Ne(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function Be(){return!!this.isValid()&&this._isUTC&&0===this._offset}i.updateOffset=function(){};var Le=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Pe=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ie(t,e){var n,r,i,a=t,o=null;return Ce(t)?a={ms:t._milliseconds,d:t._days,M:t._months}:c(t)?(a={},e?a[e]=t:a.milliseconds=t):(o=Le.exec(t))?(n="-"===o[1]?-1:1,a={y:0,d:w(o[2])*n,h:w(o[3])*n,m:w(o[4])*n,s:w(o[5])*n,ms:w(Ae(1e3*o[6]))*n}):(o=Pe.exec(t))?(n="-"===o[1]?-1:1,a={y:Fe(o[2],n),M:Fe(o[3],n),w:Fe(o[4],n),d:Fe(o[5],n),h:Fe(o[6],n),m:Fe(o[7],n),s:Fe(o[8],n)}):null==a?a={}:"object"==typeof a&&("from"in a||"to"in a)&&(i=function(t,e){var n;return t.isValid()&&e.isValid()?(e=De(e,t),t.isBefore(e)?n=je(t,e):((n=je(e,t)).milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}(xe(a.from),xe(a.to)),(a={}).ms=i.milliseconds,a.M=i.months),r=new Te(a),Ce(t)&&h(t,"_locale")&&(r._locale=t._locale),r}function Fe(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function je(t,e){var n={};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function Re(t,e){return function(n,r){var i;return null===r||isNaN(+r)||(M(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),i=n,n=r,r=i),Ye(this,Ie(n="string"==typeof n?+n:n,r),t),this}}function Ye(t,e,n,r){var a=e._milliseconds,o=Ae(e._days),s=Ae(e._months);t.isValid()&&(r=null==r||r,s&&At(t,_t(t,"Month")+s*n),o&&kt(t,"Date",_t(t,"Date")+o*n),a&&t._d.setTime(t._d.valueOf()+a*n),r&&i.updateOffset(t,o||s))}Ie.fn=Te.prototype,Ie.invalid=function(){return Ie(NaN)};var ze=Re(1,"add"),Ue=Re(-1,"subtract");function $e(t,e){var n=12*(e.year()-t.year())+(e.month()-t.month()),r=t.clone().add(n,"months");return-(n+(e-r<0?(e-r)/(r-t.clone().add(n-1,"months")):(e-r)/(t.clone().add(n+1,"months")-r)))||0}function We(t){var e;return void 0===t?this._locale._abbr:(null!=(e=re(t))&&(this._locale=e),this)}i.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",i.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var He=C("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function Ve(){return this._locale}var Ge=126227808e5;function qe(t,e){return(t%e+e)%e}function Xe(t,e,n){return t<100&&0<=t?new Date(t+400,e,n)-Ge:new Date(t,e,n).valueOf()}function Ze(t,e,n){return t<100&&0<=t?Date.UTC(t+400,e,n)-Ge:Date.UTC(t,e,n)}function Je(t,e){W(0,[t,t.length],0,e)}function Ke(t,e,n,r,i){var a;return null==t?Pt(this,r,i).year:((a=It(t,r,i))<e&&(e=a),function(t,e,n,r,i){var a=Lt(t,e,n,r,i),o=Nt(a.year,0,a.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}.call(this,t,e,n,r,i))}W(0,["gg",2],0,(function(){return this.weekYear()%100})),W(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),Je("gggg","weekYear"),Je("ggggg","weekYear"),Je("GGGG","isoWeekYear"),Je("GGGGG","isoWeekYear"),L("weekYear","gg"),L("isoWeekYear","GG"),j("weekYear",1),j("isoWeekYear",1),lt("G",at),lt("g",at),lt("GG",K,q),lt("gg",K,q),lt("GGGG",nt,Z),lt("gggg",nt,Z),lt("GGGGG",rt,J),lt("ggggg",rt,J),gt(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,n,r){e[r.substr(0,2)]=w(t)})),gt(["gg","GG"],(function(t,e,n,r){e[r]=i.parseTwoDigitYear(t)})),W("Q",0,"Qo","quarter"),L("quarter","Q"),j("quarter",7),lt("Q",G),pt("Q",(function(t,e){e[1]=3*(w(t)-1)})),W("D",["DD",2],"Do","date"),L("date","D"),j("date",9),lt("D",K),lt("DD",K,q),lt("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),pt(["D","DD"],2),pt("Do",(function(t,e){e[2]=w(t.match(K)[0])}));var Qe=xt("Date",!0);W("DDD",["DDDD",3],"DDDo","dayOfYear"),L("dayOfYear","DDD"),j("dayOfYear",4),lt("DDD",et),lt("DDDD",X),pt(["DDD","DDDD"],(function(t,e,n){n._dayOfYear=w(t)})),W("m",["mm",2],0,"minute"),L("minute","m"),j("minute",14),lt("m",K),lt("mm",K,q),pt(["m","mm"],4);var tn=xt("Minutes",!1);W("s",["ss",2],0,"second"),L("second","s"),j("second",15),lt("s",K),lt("ss",K,q),pt(["s","ss"],5);var en,nn=xt("Seconds",!1);for(W("S",0,0,(function(){return~~(this.millisecond()/100)})),W(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),W(0,["SSS",3],0,"millisecond"),W(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),W(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),W(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),W(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),W(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),W(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),L("millisecond","ms"),j("millisecond",16),lt("S",et,G),lt("SS",et,q),lt("SSS",et,X),en="SSSS";en.length<=9;en+="S")lt(en,it);function rn(t,e){e[6]=w(1e3*("0."+t))}for(en="S";en.length<=9;en+="S")pt(en,rn);var an=xt("Milliseconds",!1);W("z",0,0,"zoneAbbr"),W("zz",0,0,"zoneName");var on=x.prototype;function sn(t){return t}on.add=ze,on.calendar=function(t,e){var n=t||xe(),r=De(n,this).startOf("day"),a=i.calendarFormat(this,r)||"sameElse",o=e&&(O(e[a])?e[a].call(this,n):e[a]);return this.format(o||this.localeData().calendar(a,this,xe(n)))},on.clone=function(){return new x(this)},on.diff=function(t,e,n){var r,i,a;if(!this.isValid())return NaN;if(!(r=De(t,this)).isValid())return NaN;switch(i=6e4*(r.utcOffset()-this.utcOffset()),e=P(e)){case"year":a=$e(this,r)/12;break;case"month":a=$e(this,r);break;case"quarter":a=$e(this,r)/3;break;case"second":a=(this-r)/1e3;break;case"minute":a=(this-r)/6e4;break;case"hour":a=(this-r)/36e5;break;case"day":a=(this-r-i)/864e5;break;case"week":a=(this-r-i)/6048e5;break;default:a=this-r}return n?a:k(a)},on.endOf=function(t){var e;if(void 0===(t=P(t))||"millisecond"===t||!this.isValid())return this;var n=this._isUTC?Ze:Xe;switch(t){case"year":e=n(this.year()+1,0,1)-1;break;case"quarter":e=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=n(this.year(),this.month()+1,1)-1;break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-qe(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-qe(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-qe(e,1e3)-1}return this._d.setTime(e),i.updateOffset(this,!0),this},on.format=function(t){t||(t=this.isUtc()?i.defaultFormatUtc:i.defaultFormat);var e=H(this,t);return this.localeData().postformat(e)},on.from=function(t,e){return this.isValid()&&(_(t)&&t.isValid()||xe(t).isValid())?Ie({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},on.fromNow=function(t){return this.from(xe(),t)},on.to=function(t,e){return this.isValid()&&(_(t)&&t.isValid()||xe(t).isValid())?Ie({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},on.toNow=function(t){return this.to(xe(),t)},on.get=function(t){return O(this[t=P(t)])?this[t]():this},on.invalidAt=function(){return p(this).overflow},on.isAfter=function(t,e){var n=_(t)?t:xe(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=P(e)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(e).valueOf())},on.isBefore=function(t,e){var n=_(t)?t:xe(t);return!(!this.isValid()||!n.isValid())&&("millisecond"===(e=P(e)||"millisecond")?this.valueOf()<n.valueOf():this.clone().endOf(e).valueOf()<n.valueOf())},on.isBetween=function(t,e,n,r){var i=_(t)?t:xe(t),a=_(e)?e:xe(e);return!!(this.isValid()&&i.isValid()&&a.isValid())&&("("===(r=r||"()")[0]?this.isAfter(i,n):!this.isBefore(i,n))&&(")"===r[1]?this.isBefore(a,n):!this.isAfter(a,n))},on.isSame=function(t,e){var n,r=_(t)?t:xe(t);return!(!this.isValid()||!r.isValid())&&("millisecond"===(e=P(e)||"millisecond")?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(e).valueOf()<=n&&n<=this.clone().endOf(e).valueOf()))},on.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},on.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},on.isValid=function(){return g(this)},on.lang=He,on.locale=We,on.localeData=Ve,on.max=ke,on.min=_e,on.parsingFlags=function(){return f({},p(this))},on.set=function(t,e){if("object"==typeof t)for(var n=function(t){var e=[];for(var n in t)e.push({unit:n,priority:F[n]});return e.sort((function(t,e){return t.priority-e.priority})),e}(t=I(t)),r=0;r<n.length;r++)this[n[r].unit](t[n[r].unit]);else if(O(this[t=P(t)]))return this[t](e);return this},on.startOf=function(t){var e;if(void 0===(t=P(t))||"millisecond"===t||!this.isValid())return this;var n=this._isUTC?Ze:Xe;switch(t){case"year":e=n(this.year(),0,1);break;case"quarter":e=n(this.year(),this.month()-this.month()%3,1);break;case"month":e=n(this.year(),this.month(),1);break;case"week":e=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=n(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=qe(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=qe(e,6e4);break;case"second":e=this._d.valueOf(),e-=qe(e,1e3)}return this._d.setTime(e),i.updateOffset(this,!0),this},on.subtract=Ue,on.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},on.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},on.toDate=function(){return new Date(this.valueOf())},on.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,n=e?this.clone().utc():this;return n.year()<0||9999<n.year()?H(n,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):O(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",H(n,"Z")):H(n,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},on.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t="moment",e="";this.isLocal()||(t=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var n="["+t+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=e+'[")]';return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+i)},on.toJSON=function(){return this.isValid()?this.toISOString():null},on.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},on.unix=function(){return Math.floor(this.valueOf()/1e3)},on.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},on.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},on.year=bt,on.isLeapYear=function(){return vt(this.year())},on.weekYear=function(t){return Ke.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},on.isoWeekYear=function(t){return Ke.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},on.quarter=on.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},on.month=St,on.daysInMonth=function(){return wt(this.year(),this.month())},on.week=on.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},on.isoWeek=on.isoWeeks=function(t){var e=Pt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},on.weeksInYear=function(){var t=this.localeData()._week;return It(this.year(),t.dow,t.doy)},on.isoWeeksInYear=function(){return It(this.year(),1,4)},on.date=Qe,on.day=on.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e,n,r=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(e=t,n=this.localeData(),t="string"!=typeof e?e:isNaN(e)?"number"==typeof(e=n.weekdaysParse(e))?e:null:parseInt(e,10),this.add(t-r,"d")):r},on.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},on.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null==t)return this.day()||7;var e,n,r=(e=t,n=this.localeData(),"string"==typeof e?n.weekdaysParse(e)%7||7:isNaN(e)?null:e);return this.day(this.day()%7?r:r-7)},on.dayOfYear=function(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},on.hour=on.hours=Xt,on.minute=on.minutes=tn,on.second=on.seconds=nn,on.millisecond=on.milliseconds=an,on.utcOffset=function(t,e,n){var r,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null==t)return this._isUTC?a:Ne(this);if("string"==typeof t){if(null===(t=Oe(st,t)))return this}else Math.abs(t)<16&&!n&&(t*=60);return!this._isUTC&&e&&(r=Ne(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),a!==t&&(!e||this._changeInProgress?Ye(this,Ie(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,i.updateOffset(this,!0),this._changeInProgress=null)),this},on.utc=function(t){return this.utcOffset(0,t)},on.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ne(this),"m")),this},on.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var t=Oe(ot,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},on.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?xe(t).utcOffset():0,(this.utcOffset()-t)%60==0)},on.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},on.isLocal=function(){return!!this.isValid()&&!this._isUTC},on.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},on.isUtc=Be,on.isUTC=Be,on.zoneAbbr=function(){return this._isUTC?"UTC":""},on.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},on.dates=C("dates accessor is deprecated. Use date instead.",Qe),on.months=C("months accessor is deprecated. Use month instead",St),on.years=C("years accessor is deprecated. Use year instead",bt),on.zone=C("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()})),on.isDSTShifted=C("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var t={};if(m(t,this),(t=me(t))._a){var e=t._isUTC?d(t._a):xe(t._a);this._isDSTShifted=this.isValid()&&0<E(t._a,e.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted}));var cn=N.prototype;function un(t,e,n,r){var i=re(),a=d().set(r,e);return i[n](a,t)}function ln(t,e,n){if(c(t)&&(e=t,t=void 0),t=t||"",null!=e)return un(t,e,n,"month");var r,i=[];for(r=0;r<12;r++)i[r]=un(t,r,n,"month");return i}function hn(t,e,n,r){"boolean"==typeof t?c(e)&&(n=e,e=void 0):(e=t,t=!1,c(n=e)&&(n=e,e=void 0)),e=e||"";var i,a=re(),o=t?a._week.dow:0;if(null!=n)return un(e,(n+o)%7,r,"day");var s=[];for(i=0;i<7;i++)s[i]=un(e,(i+o)%7,r,"day");return s}cn.calendar=function(t,e,n){var r=this._calendar[t]||this._calendar.sameElse;return O(r)?r.call(e,n):r},cn.longDateFormat=function(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,(function(t){return t.slice(1)})),this._longDateFormat[t])},cn.invalidDate=function(){return this._invalidDate},cn.ordinal=function(t){return this._ordinal.replace("%d",t)},cn.preparse=sn,cn.postformat=sn,cn.relativeTime=function(t,e,n,r){var i=this._relativeTime[n];return O(i)?i(t,e,n,r):i.replace(/%d/i,t)},cn.pastFuture=function(t,e){var n=this._relativeTime[0<t?"future":"past"];return O(n)?n(e):n.replace(/%s/i,e)},cn.set=function(t){var e,n;for(n in t)O(e=t[n])?this[n]=e:this["_"+n]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},cn.months=function(t,e){return t?a(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||Et).test(e)?"format":"standalone"][t.month()]:a(this._months)?this._months:this._months.standalone},cn.monthsShort=function(t,e){return t?a(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Et.test(e)?"format":"standalone"][t.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},cn.monthsParse=function(t,e,n){var r,i,a;if(this._monthsParseExact)return function(t,e,n){var r,i,a,o=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)a=d([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(a,"").toLocaleLowerCase();return n?"MMM"===e?-1!==(i=mt.call(this._shortMonthsParse,o))?i:null:-1!==(i=mt.call(this._longMonthsParse,o))?i:null:"MMM"===e?-1!==(i=mt.call(this._shortMonthsParse,o))?i:-1!==(i=mt.call(this._longMonthsParse,o))?i:null:-1!==(i=mt.call(this._longMonthsParse,o))?i:-1!==(i=mt.call(this._shortMonthsParse,o))?i:null}.call(this,t,e,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(i=d([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[r]||(a="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[r]=new RegExp(a.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[r].test(t))return r;if(n&&"MMM"===e&&this._shortMonthsParse[r].test(t))return r;if(!n&&this._monthsParse[r].test(t))return r}},cn.monthsRegex=function(t){return this._monthsParseExact?(h(this,"_monthsRegex")||Dt.call(this),t?this._monthsStrictRegex:this._monthsRegex):(h(this,"_monthsRegex")||(this._monthsRegex=Ot),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},cn.monthsShortRegex=function(t){return this._monthsParseExact?(h(this,"_monthsRegex")||Dt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(h(this,"_monthsShortRegex")||(this._monthsShortRegex=Mt),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},cn.week=function(t){return Pt(t,this._week.dow,this._week.doy).week},cn.firstDayOfYear=function(){return this._week.doy},cn.firstDayOfWeek=function(){return this._week.dow},cn.weekdays=function(t,e){var n=a(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?Ft(n,this._week.dow):t?n[t.day()]:n},cn.weekdaysMin=function(t){return!0===t?Ft(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},cn.weekdaysShort=function(t){return!0===t?Ft(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},cn.weekdaysParse=function(t,e,n){var r,i,a;if(this._weekdaysParseExact)return function(t,e,n){var r,i,a,o=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)a=d([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===e?-1!==(i=mt.call(this._weekdaysParse,o))?i:null:"ddd"===e?-1!==(i=mt.call(this._shortWeekdaysParse,o))?i:null:-1!==(i=mt.call(this._minWeekdaysParse,o))?i:null:"dddd"===e?-1!==(i=mt.call(this._weekdaysParse,o))?i:-1!==(i=mt.call(this._shortWeekdaysParse,o))?i:-1!==(i=mt.call(this._minWeekdaysParse,o))?i:null:"ddd"===e?-1!==(i=mt.call(this._shortWeekdaysParse,o))?i:-1!==(i=mt.call(this._weekdaysParse,o))?i:-1!==(i=mt.call(this._minWeekdaysParse,o))?i:null:-1!==(i=mt.call(this._minWeekdaysParse,o))?i:-1!==(i=mt.call(this._weekdaysParse,o))?i:-1!==(i=mt.call(this._shortWeekdaysParse,o))?i:null}.call(this,t,e,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(i=d([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(a="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[r]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[r].test(t))return r;if(n&&"ddd"===e&&this._shortWeekdaysParse[r].test(t))return r;if(n&&"dd"===e&&this._minWeekdaysParse[r].test(t))return r;if(!n&&this._weekdaysParse[r].test(t))return r}},cn.weekdaysRegex=function(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=zt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},cn.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ut),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},cn.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Wt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=$t),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},cn.isPM=function(t){return"p"===(t+"").toLowerCase().charAt(0)},cn.meridiem=function(t,e,n){return 11<t?n?"pm":"PM":n?"am":"AM"},ee("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===w(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),i.lang=C("moment.lang is deprecated. Use moment.locale instead.",ee),i.langData=C("moment.langData is deprecated. Use moment.localeData instead.",re);var fn=Math.abs;function dn(t,e,n,r){var i=Ie(e,n);return t._milliseconds+=r*i._milliseconds,t._days+=r*i._days,t._months+=r*i._months,t._bubble()}function pn(t){return t<0?Math.floor(t):Math.ceil(t)}function gn(t){return 4800*t/146097}function yn(t){return 146097*t/4800}function vn(t){return function(){return this.as(t)}}var mn=vn("ms"),bn=vn("s"),xn=vn("m"),_n=vn("h"),kn=vn("d"),wn=vn("w"),En=vn("M"),Tn=vn("Q"),Cn=vn("y");function An(t){return function(){return this.isValid()?this._data[t]:NaN}}var Sn=An("milliseconds"),Mn=An("seconds"),On=An("minutes"),Dn=An("hours"),Nn=An("days"),Bn=An("months"),Ln=An("years"),Pn=Math.round,In={ss:44,s:45,m:45,h:22,d:26,M:11},Fn=Math.abs;function jn(t){return(0<t)-(t<0)||+t}function Rn(){if(!this.isValid())return this.localeData().invalidDate();var t,e,n=Fn(this._milliseconds)/1e3,r=Fn(this._days),i=Fn(this._months);e=k((t=k(n/60))/60),n%=60,t%=60;var a=k(i/12),o=i%=12,s=r,c=e,u=t,l=n?n.toFixed(3).replace(/\.?0+$/,""):"",h=this.asSeconds();if(!h)return"P0D";var f=h<0?"-":"",d=jn(this._months)!==jn(h)?"-":"",p=jn(this._days)!==jn(h)?"-":"",g=jn(this._milliseconds)!==jn(h)?"-":"";return f+"P"+(a?d+a+"Y":"")+(o?d+o+"M":"")+(s?p+s+"D":"")+(c||u||l?"T":"")+(c?g+c+"H":"")+(u?g+u+"M":"")+(l?g+l+"S":"")}var Yn=Te.prototype;return Yn.isValid=function(){return this._isValid},Yn.abs=function(){var t=this._data;return this._milliseconds=fn(this._milliseconds),this._days=fn(this._days),this._months=fn(this._months),t.milliseconds=fn(t.milliseconds),t.seconds=fn(t.seconds),t.minutes=fn(t.minutes),t.hours=fn(t.hours),t.months=fn(t.months),t.years=fn(t.years),this},Yn.add=function(t,e){return dn(this,t,e,1)},Yn.subtract=function(t,e){return dn(this,t,e,-1)},Yn.as=function(t){if(!this.isValid())return NaN;var e,n,r=this._milliseconds;if("month"===(t=P(t))||"quarter"===t||"year"===t)switch(e=this._days+r/864e5,n=this._months+gn(e),t){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(e=this._days+Math.round(yn(this._months)),t){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+t)}},Yn.asMilliseconds=mn,Yn.asSeconds=bn,Yn.asMinutes=xn,Yn.asHours=_n,Yn.asDays=kn,Yn.asWeeks=wn,Yn.asMonths=En,Yn.asQuarters=Tn,Yn.asYears=Cn,Yn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN},Yn._bubble=function(){var t,e,n,r,i,a=this._milliseconds,o=this._days,s=this._months,c=this._data;return 0<=a&&0<=o&&0<=s||a<=0&&o<=0&&s<=0||(a+=864e5*pn(yn(s)+o),s=o=0),c.milliseconds=a%1e3,t=k(a/1e3),c.seconds=t%60,e=k(t/60),c.minutes=e%60,n=k(e/60),c.hours=n%24,s+=i=k(gn(o+=k(n/24))),o-=pn(yn(i)),r=k(s/12),s%=12,c.days=o,c.months=s,c.years=r,this},Yn.clone=function(){return Ie(this)},Yn.get=function(t){return t=P(t),this.isValid()?this[t+"s"]():NaN},Yn.milliseconds=Sn,Yn.seconds=Mn,Yn.minutes=On,Yn.hours=Dn,Yn.days=Nn,Yn.weeks=function(){return k(this.days()/7)},Yn.months=Bn,Yn.years=Ln,Yn.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e,n,r,i,a,o,s,c,u,l,h=this.localeData(),f=(e=!t,n=h,r=Ie(this).abs(),i=Pn(r.as("s")),a=Pn(r.as("m")),o=Pn(r.as("h")),s=Pn(r.as("d")),c=Pn(r.as("M")),u=Pn(r.as("y")),(l=i<=In.ss&&["s",i]||i<In.s&&["ss",i]||a<=1&&["m"]||a<In.m&&["mm",a]||o<=1&&["h"]||o<In.h&&["hh",o]||s<=1&&["d"]||s<In.d&&["dd",s]||c<=1&&["M"]||c<In.M&&["MM",c]||u<=1&&["y"]||["yy",u])[2]=e,l[3]=0<+this,l[4]=n,function(t,e,n,r,i){return i.relativeTime(e||1,!!n,t,r)}.apply(null,l));return t&&(f=h.pastFuture(+this,f)),h.postformat(f)},Yn.toISOString=Rn,Yn.toString=Rn,Yn.toJSON=Rn,Yn.locale=We,Yn.localeData=Ve,Yn.toIsoString=C("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Rn),Yn.lang=He,W("X",0,0,"unix"),W("x",0,0,"valueOf"),lt("x",at),lt("X",/[+-]?\d+(\.\d{1,3})?/),pt("X",(function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))})),pt("x",(function(t,e,n){n._d=new Date(w(t))})),i.version="2.24.0",e=xe,i.fn=on,i.min=function(){return we("isBefore",[].slice.call(arguments,0))},i.max=function(){return we("isAfter",[].slice.call(arguments,0))},i.now=function(){return Date.now?Date.now():+new Date},i.utc=d,i.unix=function(t){return xe(1e3*t)},i.months=function(t,e){return ln(t,e,"months")},i.isDate=u,i.locale=ee,i.invalid=y,i.duration=Ie,i.isMoment=_,i.weekdays=function(t,e,n){return hn(t,e,n,"weekdays")},i.parseZone=function(){return xe.apply(null,arguments).parseZone()},i.localeData=re,i.isDuration=Ce,i.monthsShort=function(t,e){return ln(t,e,"monthsShort")},i.weekdaysMin=function(t,e,n){return hn(t,e,n,"weekdaysMin")},i.defineLocale=ne,i.updateLocale=function(t,e){if(null!=e){var n,r,i=Zt;null!=(r=te(t))&&(i=r._config),(n=new N(e=D(i,e))).parentLocale=Jt[t],Jt[t]=n,ee(t)}else null!=Jt[t]&&(null!=Jt[t].parentLocale?Jt[t]=Jt[t].parentLocale:null!=Jt[t]&&delete Jt[t]);return Jt[t]},i.locales=function(){return A(Jt)},i.weekdaysShort=function(t,e,n){return hn(t,e,n,"weekdaysShort")},i.normalizeUnits=P,i.relativeTimeRounding=function(t){return void 0===t?Pn:"function"==typeof t&&(Pn=t,!0)},i.relativeTimeThreshold=function(t,e){return void 0!==In[t]&&(void 0===e?In[t]:(In[t]=e,"s"===t&&(In.ss=e-1),!0))},i.calendarFormat=function(t,e){var n=t.diff(e,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},i.prototype=on,i.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},i}()}).call(this,n(7)(t))},function(t,e,n){var r=n(37),i=n(80);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)}},function(t,e,n){var r=n(256),i=n(266),a=n(35),o=n(5),s=n(273);t.exports=function(t){return"function"==typeof t?t:null==t?a:"object"==typeof t?o(t)?i(t[0],t[1]):r(t):s(t)}},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,9],n=[1,7],r=[1,6],i=[1,8],a=[1,20,21,22,23,38,46,75,76,77,78,79,80,94,95,98,99,100,102,103,109,110,111,112,113,114],o=[2,10],s=[1,20],c=[1,21],u=[1,22],l=[1,23],h=[1,30],f=[1,54],d=[1,32],p=[1,33],g=[1,34],y=[1,35],v=[1,36],m=[1,48],b=[1,43],x=[1,45],_=[1,40],k=[1,44],w=[1,47],E=[1,51],T=[1,52],C=[1,53],A=[1,42],S=[1,46],M=[1,49],O=[1,50],D=[1,41],N=[1,57],B=[1,62],L=[1,20,21,22,23,38,42,46,75,76,77,78,79,80,94,95,98,99,100,102,103,109,110,111,112,113,114],P=[1,66],I=[1,65],F=[1,67],j=[20,21,23,69,70],R=[1,88],Y=[1,93],z=[1,90],U=[1,95],$=[1,98],W=[1,96],H=[1,97],V=[1,91],G=[1,103],q=[1,102],X=[1,92],Z=[1,94],J=[1,99],K=[1,100],Q=[1,101],tt=[1,104],et=[20,21,22,23,69,70],nt=[20,21,22,23,47,69,70],rt=[20,21,22,23,40,46,47,49,51,53,55,57,59,61,62,64,69,70,80,94,95,98,99,100,102,103,109,110,111,112,113,114],it=[20,21,23],at=[20,21,23,46,69,70,80,94,95,98,99,100,102,103,109,110,111,112,113,114],ot=[1,12,20,21,22,23,24,38,42,46,75,76,77,78,79,80,94,95,98,99,100,102,103,109,110,111,112,113,114],st=[46,80,94,95,98,99,100,102,103,109,110,111,112,113,114],ct=[1,136],ut=[1,144],lt=[1,145],ht=[1,146],ft=[1,147],dt=[1,131],pt=[1,132],gt=[1,128],yt=[1,139],vt=[1,140],mt=[1,141],bt=[1,142],xt=[1,143],_t=[1,148],kt=[1,149],wt=[1,134],Et=[1,137],Tt=[1,133],Ct=[1,130],At=[20,21,22,23,38,42,46,75,76,77,78,79,80,94,95,98,99,100,102,103,109,110,111,112,113,114],St=[1,152],Mt=[20,21,22,23,26,46,80,94,95,98,99,100,102,103,109,110,111,112,113,114],Ot=[20,21,22,23,24,26,38,40,41,42,46,50,52,54,56,58,60,61,63,65,69,70,71,75,76,77,78,79,80,81,84,94,95,98,99,100,102,103,104,105,109,110,111,112,113,114],Dt=[12,21,22,24],Nt=[22,95],Bt=[1,233],Lt=[1,237],Pt=[1,234],It=[1,231],Ft=[1,228],jt=[1,229],Rt=[1,230],Yt=[1,232],zt=[1,235],Ut=[1,236],$t=[1,238],Wt=[1,255],Ht=[20,21,23,95],Vt=[20,21,22,23,75,91,94,95,98,99,100,101,102,103,104],Gt={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,openDirective:6,typeDirective:7,closeDirective:8,separator:9,":":10,argDirective:11,open_directive:12,type_directive:13,arg_directive:14,close_directive:15,graphConfig:16,document:17,line:18,statement:19,SEMI:20,NEWLINE:21,SPACE:22,EOF:23,GRAPH:24,NODIR:25,DIR:26,FirstStmtSeperator:27,ending:28,endToken:29,spaceList:30,spaceListNewline:31,verticeStatement:32,styleStatement:33,linkStyleStatement:34,classDefStatement:35,classStatement:36,clickStatement:37,subgraph:38,text:39,SQS:40,SQE:41,end:42,link:43,node:44,vertex:45,AMP:46,STYLE_SEPARATOR:47,idString:48,PS:49,PE:50,"(-":51,"-)":52,STADIUMSTART:53,STADIUMEND:54,SUBROUTINESTART:55,SUBROUTINEEND:56,CYLINDERSTART:57,CYLINDEREND:58,DIAMOND_START:59,DIAMOND_STOP:60,TAGEND:61,TRAPSTART:62,TRAPEND:63,INVTRAPSTART:64,INVTRAPEND:65,linkStatement:66,arrowText:67,TESTSTR:68,START_LINK:69,LINK:70,PIPE:71,textToken:72,STR:73,keywords:74,STYLE:75,LINKSTYLE:76,CLASSDEF:77,CLASS:78,CLICK:79,DOWN:80,UP:81,textNoTags:82,textNoTagsToken:83,DEFAULT:84,stylesOpt:85,alphaNum:86,CALLBACKNAME:87,CALLBACKARGS:88,HREF:89,LINK_TARGET:90,HEX:91,numList:92,INTERPOLATE:93,NUM:94,COMMA:95,style:96,styleComponent:97,ALPHA:98,COLON:99,MINUS:100,UNIT:101,BRKT:102,DOT:103,PCT:104,TAGSTART:105,alphaNumToken:106,idStringToken:107,alphaNumStatement:108,PUNCTUATION:109,UNICODE_TEXT:110,PLUS:111,EQUALS:112,MULT:113,UNDERSCORE:114,graphCodeTokens:115,ARROW_CROSS:116,ARROW_POINT:117,ARROW_CIRCLE:118,ARROW_OPEN:119,QUOTE:120,$accept:0,$end:1},terminals_:{2:"error",10:":",12:"open_directive",13:"type_directive",14:"arg_directive",15:"close_directive",20:"SEMI",21:"NEWLINE",22:"SPACE",23:"EOF",24:"GRAPH",25:"NODIR",26:"DIR",38:"subgraph",40:"SQS",41:"SQE",42:"end",46:"AMP",47:"STYLE_SEPARATOR",49:"PS",50:"PE",51:"(-",52:"-)",53:"STADIUMSTART",54:"STADIUMEND",55:"SUBROUTINESTART",56:"SUBROUTINEEND",57:"CYLINDERSTART",58:"CYLINDEREND",59:"DIAMOND_START",60:"DIAMOND_STOP",61:"TAGEND",62:"TRAPSTART",63:"TRAPEND",64:"INVTRAPSTART",65:"INVTRAPEND",68:"TESTSTR",69:"START_LINK",70:"LINK",71:"PIPE",73:"STR",75:"STYLE",76:"LINKSTYLE",77:"CLASSDEF",78:"CLASS",79:"CLICK",80:"DOWN",81:"UP",84:"DEFAULT",87:"CALLBACKNAME",88:"CALLBACKARGS",89:"HREF",90:"LINK_TARGET",91:"HEX",93:"INTERPOLATE",94:"NUM",95:"COMMA",98:"ALPHA",99:"COLON",100:"MINUS",101:"UNIT",102:"BRKT",103:"DOT",104:"PCT",105:"TAGSTART",109:"PUNCTUATION",110:"UNICODE_TEXT",111:"PLUS",112:"EQUALS",113:"MULT",114:"UNDERSCORE",116:"ARROW_CROSS",117:"ARROW_POINT",118:"ARROW_CIRCLE",119:"ARROW_OPEN",120:"QUOTE"},productions_:[0,[3,1],[3,2],[5,4],[5,6],[6,1],[7,1],[11,1],[8,1],[4,2],[17,0],[17,2],[18,1],[18,1],[18,1],[18,1],[18,1],[16,2],[16,2],[16,2],[16,3],[28,2],[28,1],[29,1],[29,1],[29,1],[27,1],[27,1],[27,2],[31,2],[31,2],[31,1],[31,1],[30,2],[30,1],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,9],[19,6],[19,4],[9,1],[9,1],[9,1],[32,3],[32,4],[32,2],[32,1],[44,1],[44,5],[44,3],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[43,2],[43,3],[43,3],[43,1],[43,3],[66,1],[67,3],[39,1],[39,2],[39,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[74,1],[82,1],[82,2],[35,5],[35,5],[36,5],[37,2],[37,4],[37,3],[37,5],[37,2],[37,4],[37,4],[37,6],[37,2],[37,4],[37,2],[37,4],[37,4],[37,6],[33,5],[33,5],[34,5],[34,5],[34,9],[34,9],[34,7],[34,7],[92,1],[92,3],[85,1],[85,3],[96,1],[96,2],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[97,1],[72,1],[72,1],[72,1],[72,1],[72,1],[72,1],[83,1],[83,1],[83,1],[83,1],[48,1],[48,2],[86,1],[86,2],[108,1],[108,1],[108,1],[108,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[106,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[107,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1],[115,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 5:r.parseDirective("%%{","open_directive");break;case 6:r.parseDirective(a[s],"type_directive");break;case 7:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 8:r.parseDirective("}%%","close_directive","flowchart");break;case 10:this.$=[];break;case 11:a[s]!==[]&&a[s-1].push(a[s]),this.$=a[s-1];break;case 12:case 76:case 78:case 90:case 146:case 148:case 149:this.$=a[s];break;case 19:r.setDirection("TB"),this.$="TB";break;case 20:r.setDirection(a[s-1]),this.$=a[s-1];break;case 35:this.$=a[s-1].nodes;break;case 36:case 37:case 38:case 39:case 40:this.$=[];break;case 41:this.$=r.addSubGraph(a[s-6],a[s-1],a[s-4]);break;case 42:this.$=r.addSubGraph(a[s-3],a[s-1],a[s-3]);break;case 43:this.$=r.addSubGraph(void 0,a[s-1],void 0);break;case 47:r.addLink(a[s-2].stmt,a[s],a[s-1]),this.$={stmt:a[s],nodes:a[s].concat(a[s-2].nodes)};break;case 48:r.addLink(a[s-3].stmt,a[s-1],a[s-2]),this.$={stmt:a[s-1],nodes:a[s-1].concat(a[s-3].nodes)};break;case 49:this.$={stmt:a[s-1],nodes:a[s-1]};break;case 50:this.$={stmt:a[s],nodes:a[s]};break;case 51:this.$=[a[s]];break;case 52:this.$=a[s-4].concat(a[s]);break;case 53:this.$=[a[s-2]],r.setClass(a[s-2],a[s]);break;case 54:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"square");break;case 55:this.$=a[s-5],r.addVertex(a[s-5],a[s-2],"circle");break;case 56:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"ellipse");break;case 57:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"stadium");break;case 58:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"subroutine");break;case 59:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"cylinder");break;case 60:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"round");break;case 61:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"diamond");break;case 62:this.$=a[s-5],r.addVertex(a[s-5],a[s-2],"hexagon");break;case 63:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"odd");break;case 64:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"trapezoid");break;case 65:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"inv_trapezoid");break;case 66:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"lean_right");break;case 67:this.$=a[s-3],r.addVertex(a[s-3],a[s-1],"lean_left");break;case 68:this.$=a[s],r.addVertex(a[s]);break;case 69:a[s-1].text=a[s],this.$=a[s-1];break;case 70:case 71:a[s-2].text=a[s-1],this.$=a[s-2];break;case 72:this.$=a[s];break;case 73:var c=r.destructLink(a[s],a[s-2]);this.$={type:c.type,stroke:c.stroke,length:c.length,text:a[s-1]};break;case 74:c=r.destructLink(a[s]);this.$={type:c.type,stroke:c.stroke,length:c.length};break;case 75:this.$=a[s-1];break;case 77:case 91:case 147:this.$=a[s-1]+""+a[s];break;case 92:case 93:this.$=a[s-4],r.addClass(a[s-2],a[s]);break;case 94:this.$=a[s-4],r.setClass(a[s-2],a[s]);break;case 95:case 103:this.$=a[s-1],r.setClickEvent(a[s-1],a[s]);break;case 96:case 104:this.$=a[s-3],r.setClickEvent(a[s-3],a[s-2]),r.setTooltip(a[s-3],a[s]);break;case 97:this.$=a[s-2],r.setClickEvent(a[s-2],a[s-1],a[s]);break;case 98:this.$=a[s-4],r.setClickEvent(a[s-4],a[s-3],a[s-2]),r.setTooltip(a[s-4],a[s]);break;case 99:case 105:this.$=a[s-1],r.setLink(a[s-1],a[s]);break;case 100:case 106:this.$=a[s-3],r.setLink(a[s-3],a[s-2]),r.setTooltip(a[s-3],a[s]);break;case 101:case 107:this.$=a[s-3],r.setLink(a[s-3],a[s-2],a[s]);break;case 102:case 108:this.$=a[s-5],r.setLink(a[s-5],a[s-4],a[s]),r.setTooltip(a[s-5],a[s-2]);break;case 109:this.$=a[s-4],r.addVertex(a[s-2],void 0,void 0,a[s]);break;case 110:case 112:this.$=a[s-4],r.updateLink(a[s-2],a[s]);break;case 111:this.$=a[s-4],r.updateLink([a[s-2]],a[s]);break;case 113:this.$=a[s-8],r.updateLinkInterpolate([a[s-6]],a[s-2]),r.updateLink([a[s-6]],a[s]);break;case 114:this.$=a[s-8],r.updateLinkInterpolate(a[s-6],a[s-2]),r.updateLink(a[s-6],a[s]);break;case 115:this.$=a[s-6],r.updateLinkInterpolate([a[s-4]],a[s]);break;case 116:this.$=a[s-6],r.updateLinkInterpolate(a[s-4],a[s]);break;case 117:case 119:this.$=[a[s]];break;case 118:case 120:a[s-2].push(a[s]),this.$=a[s-2];break;case 122:this.$=a[s-1]+a[s];break;case 144:this.$=a[s];break;case 145:this.$=a[s-1]+""+a[s];break;case 150:this.$="v";break;case 151:this.$="-"}},table:[{3:1,4:2,5:3,6:5,12:e,16:4,21:n,22:r,24:i},{1:[3]},{1:[2,1]},{3:10,4:2,5:3,6:5,12:e,16:4,21:n,22:r,24:i},t(a,o,{17:11}),{7:12,13:[1,13]},{16:14,21:n,22:r,24:i},{16:15,21:n,22:r,24:i},{25:[1,16],26:[1,17]},{13:[2,5]},{1:[2,2]},{1:[2,9],18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,44:31,45:37,46:f,48:38,75:d,76:p,77:g,78:y,79:v,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:A,111:S,112:M,113:O,114:D},{8:55,10:[1,56],15:N},t([10,15],[2,6]),t(a,[2,17]),t(a,[2,18]),t(a,[2,19]),{20:[1,59],21:[1,60],22:B,27:58,30:61},t(L,[2,11]),t(L,[2,12]),t(L,[2,13]),t(L,[2,14]),t(L,[2,15]),t(L,[2,16]),{9:63,20:P,21:I,23:F,43:64,66:68,69:[1,69],70:[1,70]},{9:71,20:P,21:I,23:F},{9:72,20:P,21:I,23:F},{9:73,20:P,21:I,23:F},{9:74,20:P,21:I,23:F},{9:75,20:P,21:I,23:F},{9:77,20:P,21:I,22:[1,76],23:F},t(j,[2,50],{30:78,22:B}),{22:[1,79]},{22:[1,80]},{22:[1,81]},{22:[1,82]},{26:R,46:Y,73:[1,86],80:z,86:85,87:[1,83],89:[1,84],94:U,95:$,98:W,99:H,100:V,102:G,103:q,106:89,108:87,109:X,110:Z,111:J,112:K,113:Q,114:tt},t(et,[2,51],{47:[1,105]}),t(nt,[2,68],{107:116,40:[1,106],46:f,49:[1,107],51:[1,108],53:[1,109],55:[1,110],57:[1,111],59:[1,112],61:[1,113],62:[1,114],64:[1,115],80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,109:C,110:A,111:S,112:M,113:O,114:D}),t(rt,[2,144]),t(rt,[2,165]),t(rt,[2,166]),t(rt,[2,167]),t(rt,[2,168]),t(rt,[2,169]),t(rt,[2,170]),t(rt,[2,171]),t(rt,[2,172]),t(rt,[2,173]),t(rt,[2,174]),t(rt,[2,175]),t(rt,[2,176]),t(rt,[2,177]),t(rt,[2,178]),t(rt,[2,179]),{9:117,20:P,21:I,23:F},{11:118,14:[1,119]},t(it,[2,8]),t(a,[2,20]),t(a,[2,26]),t(a,[2,27]),{21:[1,120]},t(at,[2,34],{30:121,22:B}),t(L,[2,35]),{44:122,45:37,46:f,48:38,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:A,111:S,112:M,113:O,114:D},t(ot,[2,44]),t(ot,[2,45]),t(ot,[2,46]),t(st,[2,72],{67:123,68:[1,124],71:[1,125]}),{22:ct,24:ut,26:lt,38:ht,39:126,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},t([46,68,71,80,94,95,98,99,100,102,103,109,110,111,112,113,114],[2,74]),t(L,[2,36]),t(L,[2,37]),t(L,[2,38]),t(L,[2,39]),t(L,[2,40]),{22:ct,24:ut,26:lt,38:ht,39:150,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},t(At,o,{17:151}),t(j,[2,49],{46:St}),{26:R,46:Y,80:z,86:153,91:[1,154],94:U,95:$,98:W,99:H,100:V,102:G,103:q,106:89,108:87,109:X,110:Z,111:J,112:K,113:Q,114:tt},{84:[1,155],92:156,94:[1,157]},{26:R,46:Y,80:z,84:[1,158],86:159,94:U,95:$,98:W,99:H,100:V,102:G,103:q,106:89,108:87,109:X,110:Z,111:J,112:K,113:Q,114:tt},{26:R,46:Y,80:z,86:160,94:U,95:$,98:W,99:H,100:V,102:G,103:q,106:89,108:87,109:X,110:Z,111:J,112:K,113:Q,114:tt},t(it,[2,95],{22:[1,161],88:[1,162]}),t(it,[2,99],{22:[1,163]}),t(it,[2,103],{106:89,108:165,22:[1,164],26:R,46:Y,80:z,94:U,95:$,98:W,99:H,100:V,102:G,103:q,109:X,110:Z,111:J,112:K,113:Q,114:tt}),t(it,[2,105],{22:[1,166]}),t(Mt,[2,146]),t(Mt,[2,148]),t(Mt,[2,149]),t(Mt,[2,150]),t(Mt,[2,151]),t(Ot,[2,152]),t(Ot,[2,153]),t(Ot,[2,154]),t(Ot,[2,155]),t(Ot,[2,156]),t(Ot,[2,157]),t(Ot,[2,158]),t(Ot,[2,159]),t(Ot,[2,160]),t(Ot,[2,161]),t(Ot,[2,162]),t(Ot,[2,163]),t(Ot,[2,164]),{46:f,48:167,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:A,111:S,112:M,113:O,114:D},{22:ct,24:ut,26:lt,38:ht,39:168,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,39:170,42:ft,46:Y,49:[1,169],61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,39:171,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,39:172,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,39:173,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,39:174,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,39:175,42:ft,46:Y,59:[1,176],61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,39:177,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,39:178,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,39:179,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},t(rt,[2,145]),t(Dt,[2,3]),{8:180,15:N},{15:[2,7]},t(a,[2,28]),t(at,[2,33]),t(j,[2,47],{30:181,22:B}),t(st,[2,69],{22:[1,182]}),{22:[1,183]},{22:ct,24:ut,26:lt,38:ht,39:184,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,61:dt,69:pt,70:[1,185],72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},t(Ot,[2,76]),t(Ot,[2,78]),t(Ot,[2,134]),t(Ot,[2,135]),t(Ot,[2,136]),t(Ot,[2,137]),t(Ot,[2,138]),t(Ot,[2,139]),t(Ot,[2,140]),t(Ot,[2,141]),t(Ot,[2,142]),t(Ot,[2,143]),t(Ot,[2,79]),t(Ot,[2,80]),t(Ot,[2,81]),t(Ot,[2,82]),t(Ot,[2,83]),t(Ot,[2,84]),t(Ot,[2,85]),t(Ot,[2,86]),t(Ot,[2,87]),t(Ot,[2,88]),t(Ot,[2,89]),{9:188,20:P,21:I,22:ct,23:F,24:ut,26:lt,38:ht,40:[1,187],42:ft,46:Y,61:dt,69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,42:[1,189],44:31,45:37,46:f,48:38,75:d,76:p,77:g,78:y,79:v,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:A,111:S,112:M,113:O,114:D},{22:B,30:190},{22:[1,191],26:R,46:Y,80:z,94:U,95:$,98:W,99:H,100:V,102:G,103:q,106:89,108:165,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:[1,192]},{22:[1,193]},{22:[1,194],95:[1,195]},t(Nt,[2,117]),{22:[1,196]},{22:[1,197],26:R,46:Y,80:z,94:U,95:$,98:W,99:H,100:V,102:G,103:q,106:89,108:165,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:[1,198],26:R,46:Y,80:z,94:U,95:$,98:W,99:H,100:V,102:G,103:q,106:89,108:165,109:X,110:Z,111:J,112:K,113:Q,114:tt},{73:[1,199]},t(it,[2,97],{22:[1,200]}),{73:[1,201],90:[1,202]},{73:[1,203]},t(Mt,[2,147]),{73:[1,204],90:[1,205]},t(et,[2,53],{107:116,46:f,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,109:C,110:A,111:S,112:M,113:O,114:D}),{22:ct,24:ut,26:lt,38:ht,41:[1,206],42:ft,46:Y,61:dt,69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,39:207,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,50:[1,208],61:dt,69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,52:[1,209],61:dt,69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,54:[1,210],61:dt,69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,56:[1,211],61:dt,69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,58:[1,212],61:dt,69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,60:[1,213],61:dt,69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,39:214,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,41:[1,215],42:ft,46:Y,61:dt,69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,61:dt,63:[1,216],65:[1,217],69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,61:dt,63:[1,219],65:[1,218],69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{9:220,20:P,21:I,23:F},t(j,[2,48],{46:St}),t(st,[2,71]),t(st,[2,70]),{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,61:dt,69:pt,71:[1,221],72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},t(st,[2,73]),t(Ot,[2,77]),{22:ct,24:ut,26:lt,38:ht,39:222,42:ft,46:Y,61:dt,69:pt,72:127,73:gt,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},t(At,o,{17:223}),t(L,[2,43]),{45:224,46:f,48:38,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:A,111:S,112:M,113:O,114:D},{22:Bt,75:Lt,85:225,91:Pt,94:It,96:226,97:227,98:Ft,99:jt,100:Rt,101:Yt,102:zt,103:Ut,104:$t},{22:Bt,75:Lt,85:239,91:Pt,94:It,96:226,97:227,98:Ft,99:jt,100:Rt,101:Yt,102:zt,103:Ut,104:$t},{22:Bt,75:Lt,85:240,91:Pt,93:[1,241],94:It,96:226,97:227,98:Ft,99:jt,100:Rt,101:Yt,102:zt,103:Ut,104:$t},{22:Bt,75:Lt,85:242,91:Pt,93:[1,243],94:It,96:226,97:227,98:Ft,99:jt,100:Rt,101:Yt,102:zt,103:Ut,104:$t},{94:[1,244]},{22:Bt,75:Lt,85:245,91:Pt,94:It,96:226,97:227,98:Ft,99:jt,100:Rt,101:Yt,102:zt,103:Ut,104:$t},{22:Bt,75:Lt,85:246,91:Pt,94:It,96:226,97:227,98:Ft,99:jt,100:Rt,101:Yt,102:zt,103:Ut,104:$t},{26:R,46:Y,80:z,86:247,94:U,95:$,98:W,99:H,100:V,102:G,103:q,106:89,108:87,109:X,110:Z,111:J,112:K,113:Q,114:tt},t(it,[2,96]),{73:[1,248]},t(it,[2,100],{22:[1,249]}),t(it,[2,101]),t(it,[2,104]),t(it,[2,106],{22:[1,250]}),t(it,[2,107]),t(nt,[2,54]),{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,50:[1,251],61:dt,69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},t(nt,[2,60]),t(nt,[2,56]),t(nt,[2,57]),t(nt,[2,58]),t(nt,[2,59]),t(nt,[2,61]),{22:ct,24:ut,26:lt,38:ht,42:ft,46:Y,60:[1,252],61:dt,69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},t(nt,[2,63]),t(nt,[2,64]),t(nt,[2,66]),t(nt,[2,65]),t(nt,[2,67]),t(Dt,[2,4]),t([22,46,80,94,95,98,99,100,102,103,109,110,111,112,113,114],[2,75]),{22:ct,24:ut,26:lt,38:ht,41:[1,253],42:ft,46:Y,61:dt,69:pt,72:186,74:138,75:yt,76:vt,77:mt,78:bt,79:xt,80:_t,81:kt,83:129,84:wt,94:U,95:$,98:W,99:H,100:Et,102:G,103:q,104:Tt,105:Ct,106:135,109:X,110:Z,111:J,112:K,113:Q,114:tt},{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,42:[1,254],44:31,45:37,46:f,48:38,75:d,76:p,77:g,78:y,79:v,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:A,111:S,112:M,113:O,114:D},t(et,[2,52]),t(it,[2,109],{95:Wt}),t(Ht,[2,119],{97:256,22:Bt,75:Lt,91:Pt,94:It,98:Ft,99:jt,100:Rt,101:Yt,102:zt,103:Ut,104:$t}),t(Vt,[2,121]),t(Vt,[2,123]),t(Vt,[2,124]),t(Vt,[2,125]),t(Vt,[2,126]),t(Vt,[2,127]),t(Vt,[2,128]),t(Vt,[2,129]),t(Vt,[2,130]),t(Vt,[2,131]),t(Vt,[2,132]),t(Vt,[2,133]),t(it,[2,110],{95:Wt}),t(it,[2,111],{95:Wt}),{22:[1,257]},t(it,[2,112],{95:Wt}),{22:[1,258]},t(Nt,[2,118]),t(it,[2,92],{95:Wt}),t(it,[2,93],{95:Wt}),t(it,[2,94],{106:89,108:165,26:R,46:Y,80:z,94:U,95:$,98:W,99:H,100:V,102:G,103:q,109:X,110:Z,111:J,112:K,113:Q,114:tt}),t(it,[2,98]),{90:[1,259]},{90:[1,260]},{50:[1,261]},{60:[1,262]},{9:263,20:P,21:I,23:F},t(L,[2,42]),{22:Bt,75:Lt,91:Pt,94:It,96:264,97:227,98:Ft,99:jt,100:Rt,101:Yt,102:zt,103:Ut,104:$t},t(Vt,[2,122]),{26:R,46:Y,80:z,86:265,94:U,95:$,98:W,99:H,100:V,102:G,103:q,106:89,108:87,109:X,110:Z,111:J,112:K,113:Q,114:tt},{26:R,46:Y,80:z,86:266,94:U,95:$,98:W,99:H,100:V,102:G,103:q,106:89,108:87,109:X,110:Z,111:J,112:K,113:Q,114:tt},t(it,[2,102]),t(it,[2,108]),t(nt,[2,55]),t(nt,[2,62]),t(At,o,{17:267}),t(Ht,[2,120],{97:256,22:Bt,75:Lt,91:Pt,94:It,98:Ft,99:jt,100:Rt,101:Yt,102:zt,103:Ut,104:$t}),t(it,[2,115],{106:89,108:165,22:[1,268],26:R,46:Y,80:z,94:U,95:$,98:W,99:H,100:V,102:G,103:q,109:X,110:Z,111:J,112:K,113:Q,114:tt}),t(it,[2,116],{106:89,108:165,22:[1,269],26:R,46:Y,80:z,94:U,95:$,98:W,99:H,100:V,102:G,103:q,109:X,110:Z,111:J,112:K,113:Q,114:tt}),{18:18,19:19,20:s,21:c,22:u,23:l,32:24,33:25,34:26,35:27,36:28,37:29,38:h,42:[1,270],44:31,45:37,46:f,48:38,75:d,76:p,77:g,78:y,79:v,80:m,94:b,95:x,98:_,99:k,100:w,102:E,103:T,107:39,109:C,110:A,111:S,112:M,113:O,114:D},{22:Bt,75:Lt,85:271,91:Pt,94:It,96:226,97:227,98:Ft,99:jt,100:Rt,101:Yt,102:zt,103:Ut,104:$t},{22:Bt,75:Lt,85:272,91:Pt,94:It,96:226,97:227,98:Ft,99:jt,100:Rt,101:Yt,102:zt,103:Ut,104:$t},t(L,[2,41]),t(it,[2,113],{95:Wt}),t(it,[2,114],{95:Wt})],defaultActions:{2:[2,1],9:[2,5],10:[2,2],119:[2,7]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,A,S,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in S=[],o[k])this.terminals_[T]&&T>h&&S.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:S})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),A=o[n[n.length-2]][n[n.length-1]],n.push(A);break;case 3:return!0}}return!0}},qt={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),12;case 1:return this.begin("type_directive"),13;case 2:return this.popState(),this.begin("arg_directive"),10;case 3:return this.popState(),this.popState(),15;case 4:return 14;case 5:case 6:break;case 7:this.begin("string");break;case 8:this.popState();break;case 9:return"STR";case 10:return 75;case 11:return 84;case 12:return 76;case 13:return 93;case 14:return 77;case 15:return 78;case 16:this.begin("href");break;case 17:this.popState();break;case 18:return 89;case 19:this.begin("callbackname");break;case 20:this.popState();break;case 21:this.popState(),this.begin("callbackargs");break;case 22:return 87;case 23:this.popState();break;case 24:return 88;case 25:this.begin("click");break;case 26:this.popState();break;case 27:return 79;case 28:case 29:return t.lex.firstGraph()&&this.begin("dir"),24;case 30:return 38;case 31:return 42;case 32:case 33:case 34:case 35:return 90;case 36:return this.popState(),25;case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:return this.popState(),26;case 47:return 94;case 48:return 102;case 49:return 47;case 50:return 99;case 51:return 46;case 52:return 20;case 53:return 95;case 54:return 113;case 55:case 56:case 57:return 70;case 58:case 59:case 60:return 69;case 61:return 51;case 62:return 52;case 63:return 53;case 64:return 54;case 65:return 55;case 66:return 56;case 67:return 57;case 68:return 58;case 69:return 100;case 70:return 103;case 71:return 114;case 72:return 111;case 73:return 104;case 74:case 75:return 112;case 76:return 105;case 77:return 61;case 78:return 81;case 79:return"SEP";case 80:return 80;case 81:return 98;case 82:return 63;case 83:return 62;case 84:return 65;case 85:return 64;case 86:return 109;case 87:return 110;case 88:return 71;case 89:return 49;case 90:return 50;case 91:return 40;case 92:return 41;case 93:return 59;case 94:return 60;case 95:return 120;case 96:return 21;case 97:return 22;case 98:return 23}},rules:[/^(?:%%\{)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\n)*))/,/^(?:%%(?!\{)[^\n]*)/,/^(?:[^\}]%%[^\n]*)/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\[)/,/^(?:\]\))/,/^(?:\[\[)/,/^(?:\]\])/,/^(?:\[\()/,/^(?:\)\])/,/^(?:-)/,/^(?:\.)/,/^(?:[\_])/,/^(?:\+)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:[A-Za-z]+)/,/^(?:\\\])/,/^(?:\[\/)/,/^(?:\/\])/,/^(?:\[\\)/,/^(?:[!"#$%&'*+,-.`?\\_/])/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[23,24],inclusive:!1},callbackname:{rules:[20,21,22],inclusive:!1},href:{rules:[17,18],inclusive:!1},click:{rules:[26,27],inclusive:!1},vertex:{rules:[],inclusive:!1},dir:{rules:[36,37,38,39,40,41,42,43,44,45,46],inclusive:!1},string:{rules:[8,9],inclusive:!1},INITIAL:{rules:[0,5,6,7,10,11,12,13,14,15,16,19,25,28,29,30,31,32,33,34,35,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],inclusive:!0}}};function Xt(){this.yy={}}return Gt.lexer=qt,Xt.prototype=Gt,Gt.Parser=Xt,new Xt}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(19).readFileSync(n(20).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(14),n(7)(t))},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,3],n=[1,5],r=[7,9,11,12,13,14,15,16,17,18,20,27,32],i=[1,15],a=[1,16],o=[1,17],s=[1,18],c=[1,19],u=[1,20],l=[1,21],h=[1,23],f=[1,25],d=[1,28],p=[5,7,9,11,12,13,14,15,16,17,18,20,27,32],g={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,gantt:5,document:6,EOF:7,line:8,SPACE:9,statement:10,NL:11,dateFormat:12,inclusiveEndDates:13,axisFormat:14,excludes:15,todayMarker:16,title:17,section:18,clickStatement:19,taskTxt:20,taskData:21,openDirective:22,typeDirective:23,closeDirective:24,":":25,argDirective:26,click:27,callbackname:28,callbackargs:29,href:30,clickStatementDebug:31,open_directive:32,type_directive:33,arg_directive:34,close_directive:35,$accept:0,$end:1},terminals_:{2:"error",5:"gantt",7:"EOF",9:"SPACE",11:"NL",12:"dateFormat",13:"inclusiveEndDates",14:"axisFormat",15:"excludes",16:"todayMarker",17:"title",18:"section",20:"taskTxt",21:"taskData",25:":",27:"click",28:"callbackname",29:"callbackargs",30:"href",32:"open_directive",33:"type_directive",34:"arg_directive",35:"close_directive"},productions_:[0,[3,2],[3,3],[6,0],[6,2],[8,2],[8,1],[8,1],[8,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,1],[4,4],[4,6],[19,2],[19,3],[19,3],[19,4],[19,3],[19,4],[19,2],[31,2],[31,3],[31,3],[31,4],[31,3],[31,4],[31,2],[22,1],[23,1],[26,1],[24,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 2:return a[s-1];case 3:this.$=[];break;case 4:a[s-1].push(a[s]),this.$=a[s-1];break;case 5:case 6:this.$=a[s];break;case 7:case 8:this.$=[];break;case 9:r.setDateFormat(a[s].substr(11)),this.$=a[s].substr(11);break;case 10:r.enableInclusiveEndDates(),this.$=a[s].substr(18);break;case 11:r.setAxisFormat(a[s].substr(11)),this.$=a[s].substr(11);break;case 12:r.setExcludes(a[s].substr(9)),this.$=a[s].substr(9);break;case 13:r.setTodayMarker(a[s].substr(12)),this.$=a[s].substr(12);break;case 14:r.setTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 15:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 17:r.addTask(a[s-1],a[s]),this.$="task";break;case 21:this.$=a[s-1],r.setClickEvent(a[s-1],a[s],null);break;case 22:this.$=a[s-2],r.setClickEvent(a[s-2],a[s-1],a[s]);break;case 23:this.$=a[s-2],r.setClickEvent(a[s-2],a[s-1],null),r.setLink(a[s-2],a[s]);break;case 24:this.$=a[s-3],r.setClickEvent(a[s-3],a[s-2],a[s-1]),r.setLink(a[s-3],a[s]);break;case 25:this.$=a[s-2],r.setClickEvent(a[s-2],a[s],null),r.setLink(a[s-2],a[s-1]);break;case 26:this.$=a[s-3],r.setClickEvent(a[s-3],a[s-1],a[s]),r.setLink(a[s-3],a[s-2]);break;case 27:this.$=a[s-1],r.setLink(a[s-1],a[s]);break;case 28:case 34:this.$=a[s-1]+" "+a[s];break;case 29:case 30:case 32:this.$=a[s-2]+" "+a[s-1]+" "+a[s];break;case 31:case 33:this.$=a[s-3]+" "+a[s-2]+" "+a[s-1]+" "+a[s];break;case 35:r.parseDirective("%%{","open_directive");break;case 36:r.parseDirective(a[s],"type_directive");break;case 37:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 38:r.parseDirective("}%%","close_directive","gantt")}},table:[{3:1,4:2,5:e,22:4,32:n},{1:[3]},{3:6,4:2,5:e,22:4,32:n},t(r,[2,3],{6:7}),{23:8,33:[1,9]},{33:[2,35]},{1:[2,1]},{4:24,7:[1,10],8:11,9:[1,12],10:13,11:[1,14],12:i,13:a,14:o,15:s,16:c,17:u,18:l,19:22,20:h,22:4,27:f,32:n},{24:26,25:[1,27],35:d},t([25,35],[2,36]),t(r,[2,8],{1:[2,2]}),t(r,[2,4]),{4:24,10:29,12:i,13:a,14:o,15:s,16:c,17:u,18:l,19:22,20:h,22:4,27:f,32:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),t(r,[2,12]),t(r,[2,13]),t(r,[2,14]),t(r,[2,15]),t(r,[2,16]),{21:[1,30]},t(r,[2,18]),{28:[1,31],30:[1,32]},{11:[1,33]},{26:34,34:[1,35]},{11:[2,38]},t(r,[2,5]),t(r,[2,17]),t(r,[2,21],{29:[1,36],30:[1,37]}),t(r,[2,27],{28:[1,38]}),t(p,[2,19]),{24:39,35:d},{35:[2,37]},t(r,[2,22],{30:[1,40]}),t(r,[2,23]),t(r,[2,25],{29:[1,41]}),{11:[1,42]},t(r,[2,24]),t(r,[2,26]),t(p,[2,20])],defaultActions:{5:[2,35],6:[2,1],28:[2,38],35:[2,37]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,A,S,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in S=[],o[k])this.terminals_[T]&&T>h&&S.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:S})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),A=o[n[n.length-2]][n[n.length-1]],n.push(A);break;case 3:return!0}}return!0}},y={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),32;case 1:return this.begin("type_directive"),33;case 2:return this.popState(),this.begin("arg_directive"),25;case 3:return this.popState(),this.popState(),35;case 4:return 34;case 5:case 6:case 7:break;case 8:return 11;case 9:case 10:case 11:break;case 12:this.begin("href");break;case 13:this.popState();break;case 14:return 30;case 15:this.begin("callbackname");break;case 16:this.popState();break;case 17:this.popState(),this.begin("callbackargs");break;case 18:return 28;case 19:this.popState();break;case 20:return 29;case 21:this.begin("click");break;case 22:this.popState();break;case 23:return 27;case 24:return 5;case 25:return 12;case 26:return 13;case 27:return 14;case 28:return 15;case 29:return 16;case 30:return"date";case 31:return 17;case 32:return 18;case 33:return 20;case 34:return 21;case 35:return 25;case 36:return 7;case 37:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},callbackargs:{rules:[19,20],inclusive:!1},callbackname:{rules:[16,17,18],inclusive:!1},href:{rules:[13,14],inclusive:!1},click:{rules:[22,23],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,15,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37],inclusive:!0}}};function v(){this.yy={}}return g.lexer=y,v.prototype=g,g.Parser=v,new v}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(19).readFileSync(n(20).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(14),n(7)(t))},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,2],n=[1,5],r=[6,9,11,17,18,19,21],i=[1,15],a=[1,16],o=[1,17],s=[1,21],c=[4,6,9,11,17,18,19,21],u={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,section:18,taskName:19,taskData:20,open_directive:21,type_directive:22,arg_directive:23,close_directive:24,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"section",19:"taskName",20:"taskData",21:"open_directive",22:"type_directive",23:"arg_directive",24:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 3:this.$=[];break;case 4:a[s-1].push(a[s]),this.$=a[s-1];break;case 5:case 6:this.$=a[s];break;case 7:case 8:this.$=[];break;case 11:r.setTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 12:r.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 13:r.addTask(a[s-1],a[s]),this.$="task";break;case 15:r.parseDirective("%%{","open_directive");break;case 16:r.parseDirective(a[s],"type_directive");break;case 17:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 18:r.parseDirective("}%%","close_directive","journey")}},table:[{3:1,4:e,7:3,12:4,21:n},{1:[3]},t(r,[2,3],{5:6}),{3:7,4:e,7:3,12:4,21:n},{13:8,22:[1,9]},{22:[2,15]},{6:[1,10],7:18,8:11,9:[1,12],10:13,11:[1,14],12:4,17:i,18:a,19:o,21:n},{1:[2,2]},{14:19,15:[1,20],24:s},t([15,24],[2,16]),t(r,[2,8],{1:[2,1]}),t(r,[2,4]),{7:18,10:22,12:4,17:i,18:a,19:o,21:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,11]),t(r,[2,12]),{20:[1,23]},t(r,[2,14]),{11:[1,24]},{16:25,23:[1,26]},{11:[2,18]},t(r,[2,5]),t(r,[2,13]),t(c,[2,9]),{14:27,24:s},{24:[2,17]},{11:[1,28]},t(c,[2,10])],defaultActions:{5:[2,15],7:[2,2],21:[2,18],26:[2,17]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,A,S,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in S=[],o[k])this.terminals_[T]&&T>h&&S.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:S})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),A=o[n[n.length-2]][n[n.length-1]],n.push(A);break;case 3:return!0}}return!0}},l={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),21;case 1:return this.begin("type_directive"),22;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),24;case 4:return 23;case 5:case 6:break;case 7:return 11;case 8:case 9:break;case 10:return 4;case 11:return 17;case 12:return 18;case 13:return 19;case 14:return 20;case 15:return 15;case 16:return 6;case 17:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}}};function h(){this.yy={}}return u.lexer=l,h.prototype=u,u.Parser=h,new h}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(19).readFileSync(n(20).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(14),n(7)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i=n(15);e.default=function(t,e){return r.default.lang.round(i.default.parse(t)[e])}},function(t,e,n){var r=n(112),i=n(82),a=n(24);t.exports=function(t){return a(t)?r(t):i(t)}},function(t,e,n){var r;if(!r)try{r=n(0)}catch(t){}r||(r=window.d3),t.exports=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i=n(15);e.default=function(t,e,n){var a=i.default.parse(t),o=a[e],s=r.default.channel.clamp[e](o+n);return o!==s&&(a[e]=s),i.default.stringify(a)}},function(t,e,n){var r=n(210),i=n(216);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0}},function(t,e,n){var r=n(38),i=n(212),a=n(213),o=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":o&&o in Object(t)?i(t):a(t)}},function(t,e){t.exports=function(t){return t}},function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},function(t,e,n){var r=n(34),i=n(11);t.exports=function(t){if(!i(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},function(t,e,n){var r=n(16).Symbol;t.exports=r},function(t,e,n){(function(t){var r=n(16),i=n(232),a=e&&!e.nodeType&&e,o=a&&"object"==typeof t&&t&&!t.nodeType&&t,s=o&&o.exports===a?r.Buffer:void 0,c=(s?s.isBuffer:void 0)||i;t.exports=c}).call(this,n(7)(t))},function(t,e,n){var r=n(112),i=n(236),a=n(24);t.exports=function(t){return a(t)?r(t,!0):i(t)}},function(t,e,n){var r=n(241),i=n(77),a=n(242),o=n(121),s=n(243),c=n(34),u=n(110),l=u(r),h=u(i),f=u(a),d=u(o),p=u(s),g=c;(r&&"[object DataView]"!=g(new r(new ArrayBuffer(1)))||i&&"[object Map]"!=g(new i)||a&&"[object Promise]"!=g(a.resolve())||o&&"[object Set]"!=g(new o)||s&&"[object WeakMap]"!=g(new s))&&(g=function(t){var e=c(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case l:return"[object DataView]";case h:return"[object Map]";case f:return"[object Promise]";case d:return"[object Set]";case p:return"[object WeakMap]"}return e}),t.exports=g},function(t,e,n){var r=n(34),i=n(21);t.exports=function(t){return"symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)}},function(t,e,n){var r;try{r={defaults:n(154),each:n(87),isFunction:n(37),isPlainObject:n(158),pick:n(161),has:n(93),range:n(162),uniqueId:n(163)}}catch(t){}r||(r=window._),t.exports=r},function(t){t.exports=JSON.parse('{"name":"mermaid","version":"8.9.0","description":"Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.","main":"dist/mermaid.core.js","keywords":["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph"],"scripts":{"build:development":"webpack --progress --colors","build:production":"yarn build:development -p --config webpack.config.prod.babel.js","build":"yarn build:development && yarn build:production","postbuild":"documentation build src/mermaidAPI.js src/config.js --shallow -f md --markdown-toc false > docs/Setup.md","build:watch":"yarn build --watch","minify":"minify ./dist/mermaid.js > ./dist/mermaid.min.js","release":"yarn build","lint":"eslint src","e2e:depr":"yarn lint && jest e2e --config e2e/jest.config.js","cypress":"percy exec -- cypress run","e2e":"start-server-and-test dev http://localhost:9000/ cypress","e2e-upd":"yarn lint && jest e2e -u --config e2e/jest.config.js","dev":"webpack-dev-server --config webpack.config.e2e.js","test":"yarn lint && jest src/.*","test:watch":"jest --watch src","prepublishOnly":"yarn build && yarn test","prepare":"yarn build"},"repository":{"type":"git","url":"https://github.com/knsv/mermaid"},"author":"Knut Sveidqvist","license":"MIT","standard":{"ignore":["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],"globals":["page"]},"dependencies":{"@braintree/sanitize-url":"^3.1.0","d3":"^5.7.0","dagre":"^0.8.4","dagre-d3":"^0.6.4","entity-decode":"^2.0.2","graphlib":"^2.1.7","he":"^1.2.0","khroma":"^1.1.0","minify":"^4.1.1","moment-mini":"^2.22.1","stylis":"^3.5.2"},"devDependencies":{"@babel/core":"^7.2.2","@babel/preset-env":"^7.8.4","@babel/register":"^7.0.0","@percy/cypress":"*","babel-core":"7.0.0-bridge.0","babel-eslint":"^10.1.0","babel-jest":"^24.9.0","babel-loader":"^8.0.4","coveralls":"^3.0.2","css-loader":"^2.0.1","css-to-string-loader":"^0.1.3","cypress":"4.0.1","documentation":"^12.0.1","eslint":"^6.3.0","eslint-config-prettier":"^6.3.0","eslint-plugin-prettier":"^3.1.0","husky":"^1.2.1","identity-obj-proxy":"^3.0.0","jest":"^24.9.0","jison":"^0.4.18","moment":"^2.23.0","node-sass":"^4.12.0","prettier":"^1.18.2","puppeteer":"^1.17.0","sass-loader":"^7.1.0","start-server-and-test":"^1.10.6","terser-webpack-plugin":"^2.2.2","webpack":"^4.41.2","webpack-bundle-analyzer":"^3.7.0","webpack-cli":"^3.1.2","webpack-dev-server":"^3.4.1","webpack-node-externals":"^1.7.2","yarn-upgrade-all":"^0.5.0"},"files":["dist"],"yarn-upgrade-all":{"ignore":["babel-core"]},"sideEffects":["**/*.css","**/*.scss"],"husky":{"hooks":{"pre-push":"yarn test"}}}')},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=new(n(176).default)({r:0,g:0,b:0,a:0},"transparent");e.default=r},function(t,e,n){var r=n(58),i=n(59);t.exports=function(t,e,n,a){var o=!n;n||(n={});for(var s=-1,c=e.length;++s<c;){var u=e[s],l=a?a(n[u],t[u],u,n,t):void 0;void 0===l&&(l=t[u]),o?i(n,u,l):r(n,u,l)}return n}},function(t,e,n){var r=n(231),i=n(21),a=Object.prototype,o=a.hasOwnProperty,s=a.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return i(t)&&o.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},function(t,e,n){var r=n(233),i=n(61),a=n(81),o=a&&a.isTypedArray,s=o?i(o):r;t.exports=s},function(t,e,n){var r=n(42);t.exports=function(t){if("string"==typeof t||r(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},function(t,e,n){var r=n(12);t.exports=function(t,e){var n=t.append("foreignObject").attr("width","100000"),i=n.append("xhtml:div");i.attr("xmlns","http://www.w3.org/1999/xhtml");var a=e.label;switch(typeof a){case"function":i.insert(a);break;case"object":i.insert((function(){return a}));break;default:i.html(a)}r.applyStyle(i,e.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var o=i.node().getBoundingClientRect();return n.attr("width",o.width).attr("height",o.height),n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i=n(45),a=n(15),o=n(52);e.default=function(t,e,n,s){if(void 0===n&&(n=0),void 0===s&&(s=1),"number"!=typeof t)return o.default(t,{a:e});var c=i.default.set({r:r.default.channel.clamp.r(t),g:r.default.channel.clamp.g(e),b:r.default.channel.clamp.b(n),a:r.default.channel.clamp.a(s)});return a.default.stringify(c)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i=n(15);e.default=function(t,e){var n=i.default.parse(t);for(var a in e)n[a]=r.default.channel.clamp[a](e[a]);return i.default.stringify(n)}},function(t,e,n){var r=n(54),i=n(205),a=n(206),o=n(207),s=n(208),c=n(209);function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=i,u.prototype.delete=a,u.prototype.get=o,u.prototype.has=s,u.prototype.set=c,t.exports=u},function(t,e,n){var r=n(200),i=n(201),a=n(202),o=n(203),s=n(204);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c},function(t,e,n){var r=n(36);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},function(t,e,n){var r=n(33)(Object,"create");t.exports=r},function(t,e,n){var r=n(225);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},function(t,e,n){var r=n(59),i=n(36),a=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var o=t[e];a.call(t,e)&&i(o,n)&&(void 0!==n||e in t)||r(t,e,n)}},function(t,e,n){var r=n(111);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},function(t,e){var n=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&n.test(t))&&t>-1&&t%1==0&&t<e}},function(t,e){t.exports=function(t){return function(e){return t(e)}}},function(t,e){var n=Object.prototype;t.exports=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},function(t,e,n){var r=n(113)(Object.getPrototypeOf,Object);t.exports=r},function(t,e,n){var r=n(88),i=n(254)(r);t.exports=i},function(t,e,n){var r=n(5),i=n(92),a=n(268),o=n(135);t.exports=function(t,e){return r(t)?t:i(t,e)?[t]:a(o(t))}},function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}},function(t,e,n){var r=n(35),i=n(143),a=n(144);t.exports=function(t,e){return a(i(t,e,r),t+"")}},function(t,e,n){var r=n(36),i=n(24),a=n(60),o=n(11);t.exports=function(t,e,n){if(!o(n))return!1;var s=typeof e;return!!("number"==s?i(n)&&a(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},function(t,e,n){"use strict";var r=n(4);t.exports={longestPath:function(t){var e={};r.forEach(t.sources(),(function n(i){var a=t.node(i);if(r.has(e,i))return a.rank;e[i]=!0;var o=r.min(r.map(t.outEdges(i),(function(e){return n(e.w)-t.edge(e).minlen})));return o!==Number.POSITIVE_INFINITY&&null!=o||(o=0),a.rank=o}))},slack:function(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}}},function(t,e,n){"use strict";var r=/^(%20|\s)*(javascript|data)/im,i=/[^\x20-\x7E]/gim,a=/^([^:]+):/gm,o=[".","/"];t.exports={sanitizeUrl:function(t){if(!t)return"about:blank";var e,n,s=t.replace(i,"").trim();return function(t){return o.indexOf(t[0])>-1}(s)?s:(n=s.match(a))?(e=n[0],r.test(e)?"about:blank":s):"about:blank"}}},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[2,3],n=[1,7],r=[7,12,15,17,19,20,21],i=[7,11,12,15,17,19,20,21],a=[2,20],o=[1,32],s={trace:function(){},yy:{},symbols_:{error:2,start:3,GG:4,":":5,document:6,EOF:7,DIR:8,options:9,body:10,OPT:11,NL:12,line:13,statement:14,COMMIT:15,commit_arg:16,BRANCH:17,ID:18,CHECKOUT:19,MERGE:20,RESET:21,reset_arg:22,STR:23,HEAD:24,reset_parents:25,CARET:26,$accept:0,$end:1},terminals_:{2:"error",4:"GG",5:":",7:"EOF",8:"DIR",11:"OPT",12:"NL",15:"COMMIT",17:"BRANCH",18:"ID",19:"CHECKOUT",20:"MERGE",21:"RESET",23:"STR",24:"HEAD",26:"CARET"},productions_:[0,[3,4],[3,5],[6,0],[6,2],[9,2],[9,1],[10,0],[10,2],[13,2],[13,1],[14,2],[14,2],[14,2],[14,2],[14,2],[16,0],[16,1],[22,2],[22,2],[25,0],[25,2]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:return r.setDirection(a[s-3]),a[s-1];case 4:r.setOptions(a[s-1]),this.$=a[s];break;case 5:a[s-1]+=a[s],this.$=a[s-1];break;case 7:this.$=[];break;case 8:a[s-1].push(a[s]),this.$=a[s-1];break;case 9:this.$=a[s-1];break;case 11:r.commit(a[s]);break;case 12:r.branch(a[s]);break;case 13:r.checkout(a[s]);break;case 14:r.merge(a[s]);break;case 15:r.reset(a[s]);break;case 16:this.$="";break;case 17:this.$=a[s];break;case 18:this.$=a[s-1]+":"+a[s];break;case 19:this.$=a[s-1]+":"+r.count,r.count=0;break;case 20:r.count=0;break;case 21:r.count+=1}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3],8:[1,4]},{6:5,7:e,9:6,12:n},{5:[1,8]},{7:[1,9]},t(r,[2,7],{10:10,11:[1,11]}),t(i,[2,6]),{6:12,7:e,9:6,12:n},{1:[2,1]},{7:[2,4],12:[1,15],13:13,14:14,15:[1,16],17:[1,17],19:[1,18],20:[1,19],21:[1,20]},t(i,[2,5]),{7:[1,21]},t(r,[2,8]),{12:[1,22]},t(r,[2,10]),{12:[2,16],16:23,23:[1,24]},{18:[1,25]},{18:[1,26]},{18:[1,27]},{18:[1,30],22:28,24:[1,29]},{1:[2,2]},t(r,[2,9]),{12:[2,11]},{12:[2,17]},{12:[2,12]},{12:[2,13]},{12:[2,14]},{12:[2,15]},{12:a,25:31,26:o},{12:a,25:33,26:o},{12:[2,18]},{12:a,25:34,26:o},{12:[2,19]},{12:[2,21]}],defaultActions:{9:[2,1],21:[2,2],23:[2,11],24:[2,17],25:[2,12],26:[2,13],27:[2,14],28:[2,15],31:[2,18],33:[2,19],34:[2,21]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,A,S,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in S=[],o[k])this.terminals_[T]&&T>h&&S.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:S})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),A=o[n[n.length-2]][n[n.length-1]],n.push(A);break;case 3:return!0}}return!0}},c={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 12;case 1:case 2:case 3:break;case 4:return 4;case 5:return 15;case 6:return 17;case 7:return 20;case 8:return 21;case 9:return 19;case 10:case 11:return 8;case 12:return 5;case 13:return 26;case 14:this.begin("options");break;case 15:this.popState();break;case 16:return 11;case 17:this.begin("string");break;case 18:this.popState();break;case 19:return 23;case 20:return 18;case 21:return 7}},rules:[/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit\b)/i,/^(?:branch\b)/i,/^(?:merge\b)/i,/^(?:reset\b)/i,/^(?:checkout\b)/i,/^(?:LR\b)/i,/^(?:BT\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:end\r?\n)/i,/^(?:[^\n]+\r?\n)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[a-zA-Z][-_\.a-zA-Z0-9]*[-_a-zA-Z0-9])/i,/^(?:$)/i],conditions:{options:{rules:[15,16],inclusive:!1},string:{rules:[18,19],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,17,20,21],inclusive:!0}}};function u(){this.yy={}}return s.lexer=c,u.prototype=s,s.Parser=u,new u}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(19).readFileSync(n(20).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(14),n(7)(t))},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[6,9,10],n={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,n,r,i,a,o){a.length;switch(i){case 1:return r;case 4:break;case 6:r.setInfo(!0)}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},t(e,[2,3]),t(e,[2,4]),t(e,[2,5]),t(e,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,A,S,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in S=[],o[k])this.terminals_[T]&&T>h&&S.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:S})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),A=o[n[n.length-2]][n[n.length-1]],n.push(A);break;case 3:return!0}}return!0}},r={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};function i(){this.yy={}}return n.lexer=r,i.prototype=n,n.Parser=i,new i}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(19).readFileSync(n(20).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(14),n(7)(t))},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,4],n=[1,5],r=[1,6],i=[1,7],a=[1,9],o=[1,10,12,19,20,21,22],s=[1,6,10,12,19,20,21,22],c=[19,20,21],u=[1,22],l=[6,19,20,21,22],h={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,directive:5,PIE:6,document:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,openDirective:14,typeDirective:15,closeDirective:16,":":17,argDirective:18,NEWLINE:19,";":20,EOF:21,open_directive:22,type_directive:23,arg_directive:24,close_directive:25,$accept:0,$end:1},terminals_:{2:"error",6:"PIE",10:"txt",11:"value",12:"title",13:"title_value",17:":",19:"NEWLINE",20:";",21:"EOF",22:"open_directive",23:"type_directive",24:"arg_directive",25:"close_directive"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,2],[9,1],[5,3],[5,5],[4,1],[4,1],[4,1],[14,1],[15,1],[18,1],[16,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 6:this.$=a[s-1];break;case 8:r.addSection(a[s-1],r.cleanupValue(a[s]));break;case 9:this.$=a[s].trim(),r.setTitle(this.$);break;case 16:r.parseDirective("%%{","open_directive");break;case 17:r.parseDirective(a[s],"type_directive");break;case 18:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 19:r.parseDirective("}%%","close_directive","pie")}},table:[{3:1,4:2,5:3,6:e,14:8,19:n,20:r,21:i,22:a},{1:[3]},{3:10,4:2,5:3,6:e,14:8,19:n,20:r,21:i,22:a},{3:11,4:2,5:3,6:e,14:8,19:n,20:r,21:i,22:a},t(o,[2,4],{7:12}),t(s,[2,13]),t(s,[2,14]),t(s,[2,15]),{15:13,23:[1,14]},{23:[2,16]},{1:[2,1]},{1:[2,2]},t(c,[2,7],{14:8,8:15,9:16,5:19,1:[2,3],10:[1,17],12:[1,18],22:a}),{16:20,17:[1,21],25:u},t([17,25],[2,17]),t(o,[2,5]),{4:23,19:n,20:r,21:i},{11:[1,24]},{13:[1,25]},t(c,[2,10]),t(l,[2,11]),{18:26,24:[1,27]},t(l,[2,19]),t(o,[2,6]),t(c,[2,8]),t(c,[2,9]),{16:28,25:u},{25:[2,18]},t(l,[2,12])],defaultActions:{9:[2,16],10:[2,1],11:[2,2],27:[2,18]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,A,S,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in S=[],o[k])this.terminals_[T]&&T>h&&S.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:S})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),A=o[n[n.length-2]][n[n.length-1]],n.push(A);break;case 3:return!0}}return!0}},f={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),22;case 1:return this.begin("type_directive"),23;case 2:return this.popState(),this.begin("arg_directive"),17;case 3:return this.popState(),this.popState(),25;case 4:return 24;case 5:case 6:break;case 7:return 19;case 8:case 9:break;case 10:return this.begin("title"),12;case 11:return this.popState(),"title_value";case 12:this.begin("string");break;case 13:this.popState();break;case 14:return"txt";case 15:return 6;case 16:return"value";case 17:return 21}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[11],inclusive:!1},string:{rules:[13,14],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,12,15,16,17],inclusive:!0}}};function d(){this.yy={}}return h.lexer=f,d.prototype=h,h.Parser=d,new d}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(19).readFileSync(n(20).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(14),n(7)(t))},function(t,e,n){(function(t,r){var i=function(){var t=function(t,e,n,r){for(n=n||{},r=t.length;r--;n[t[r]]=e);return n},e=[1,2],n=[1,5],r=[6,9,11,23,37],i=[1,17],a=[1,20],o=[1,25],s=[1,26],c=[1,27],u=[1,28],l=[1,37],h=[23,34,35],f=[4,6,9,11,23,37],d=[30,31,32,33],p=[22,27],g={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,ALPHANUM:23,attribute:24,attributeType:25,attributeName:26,ATTRIBUTE_WORD:27,cardinality:28,relType:29,ZERO_OR_ONE:30,ZERO_OR_MORE:31,ONE_OR_MORE:32,ONLY_ONE:33,NON_IDENTIFYING:34,IDENTIFYING:35,WORD:36,open_directive:37,type_directive:38,arg_directive:39,close_directive:40,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"ALPHANUM",27:"ATTRIBUTE_WORD",30:"ZERO_OR_ONE",31:"ZERO_OR_MORE",32:"ONE_OR_MORE",33:"ONLY_ONE",34:"NON_IDENTIFYING",35:"IDENTIFYING",36:"WORD",37:"open_directive",38:"type_directive",39:"arg_directive",40:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[17,1],[21,1],[21,2],[24,2],[25,1],[26,1],[18,3],[28,1],[28,1],[28,1],[28,1],[29,1],[29,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(t,e,n,r,i,a,o){var s=a.length-1;switch(i){case 1:break;case 3:this.$=[];break;case 4:a[s-1].push(a[s]),this.$=a[s-1];break;case 5:case 6:this.$=a[s];break;case 7:case 8:this.$=[];break;case 12:r.addEntity(a[s-4]),r.addEntity(a[s-2]),r.addRelationship(a[s-4],a[s],a[s-2],a[s-3]);break;case 13:r.addEntity(a[s-3]),r.addAttributes(a[s-3],a[s-1]);break;case 14:r.addEntity(a[s-2]);break;case 15:r.addEntity(a[s]);break;case 16:this.$=a[s];break;case 17:this.$=[a[s]];break;case 18:a[s].push(a[s-1]),this.$=a[s];break;case 19:this.$={attributeType:a[s-1],attributeName:a[s]};break;case 20:case 21:this.$=a[s];break;case 22:this.$={cardA:a[s],relType:a[s-1],cardB:a[s-2]};break;case 23:this.$=r.Cardinality.ZERO_OR_ONE;break;case 24:this.$=r.Cardinality.ZERO_OR_MORE;break;case 25:this.$=r.Cardinality.ONE_OR_MORE;break;case 26:this.$=r.Cardinality.ONLY_ONE;break;case 27:this.$=r.Identification.NON_IDENTIFYING;break;case 28:this.$=r.Identification.IDENTIFYING;break;case 29:this.$=a[s].replace(/"/g,"");break;case 30:this.$=a[s];break;case 31:r.parseDirective("%%{","open_directive");break;case 32:r.parseDirective(a[s],"type_directive");break;case 33:a[s]=a[s].trim().replace(/'/g,'"'),r.parseDirective(a[s],"arg_directive");break;case 34:r.parseDirective("}%%","close_directive","er")}},table:[{3:1,4:e,7:3,12:4,37:n},{1:[3]},t(r,[2,3],{5:6}),{3:7,4:e,7:3,12:4,37:n},{13:8,38:[1,9]},{38:[2,31]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:i,37:n},{1:[2,2]},{14:18,15:[1,19],40:a},t([15,40],[2,32]),t(r,[2,8],{1:[2,1]}),t(r,[2,4]),{7:15,10:21,12:4,17:16,23:i,37:n},t(r,[2,6]),t(r,[2,7]),t(r,[2,11]),t(r,[2,15],{18:22,28:24,20:[1,23],30:o,31:s,32:c,33:u}),t([6,9,11,15,20,23,30,31,32,33,37],[2,16]),{11:[1,29]},{16:30,39:[1,31]},{11:[2,34]},t(r,[2,5]),{17:32,23:i},{21:33,22:[1,34],24:35,25:36,27:l},{29:38,34:[1,39],35:[1,40]},t(h,[2,23]),t(h,[2,24]),t(h,[2,25]),t(h,[2,26]),t(f,[2,9]),{14:41,40:a},{40:[2,33]},{15:[1,42]},{22:[1,43]},t(r,[2,14]),{21:44,22:[2,17],24:35,25:36,27:l},{26:45,27:[1,46]},{27:[2,20]},{28:47,30:o,31:s,32:c,33:u},t(d,[2,27]),t(d,[2,28]),{11:[1,48]},{19:49,23:[1,51],36:[1,50]},t(r,[2,13]),{22:[2,18]},t(p,[2,19]),t(p,[2,21]),{23:[2,22]},t(f,[2,10]),t(r,[2,12]),t(r,[2,29]),t(r,[2,30])],defaultActions:{5:[2,31],7:[2,2],20:[2,34],31:[2,33],37:[2,20],44:[2,18],47:[2,22]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=this,n=[0],r=[],i=[null],a=[],o=this.table,s="",c=0,u=0,l=0,h=2,f=1,d=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var v=p.yylloc;a.push(v);var m=p.options&&p.options.ranges;function b(){var t;return"number"!=typeof(t=r.pop()||p.lex()||f)&&(t instanceof Array&&(t=(r=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var x,_,k,w,E,T,C,A,S,M={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:(null==x&&(x=b()),w=o[k]&&o[k][x]),void 0===w||!w.length||!w[0]){var O="";for(T in S=[],o[k])this.terminals_[T]&&T>h&&S.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:S})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),A=o[n[n.length-2]][n[n.length-1]],n.push(A);break;case 3:return!0}}return!0}},y={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;a<i.length;a++)if((n=this._input.match(this.rules[i[a]]))&&(!e||n[0].length>e[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),37;case 1:return this.begin("type_directive"),38;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),40;case 4:return 39;case 5:case 6:break;case 7:return 11;case 8:break;case 9:return 9;case 10:return 36;case 11:return 4;case 12:return this.begin("block"),20;case 13:break;case 14:return 27;case 15:break;case 16:return this.popState(),22;case 17:return e.yytext[0];case 18:return 30;case 19:return 31;case 20:return 32;case 21:return 33;case 22:return 30;case 23:return 31;case 24:return 32;case 25:return 34;case 26:return 35;case 27:case 28:return 34;case 29:return 23;case 30:return e.yytext[0];case 31:return 6}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:\s+)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\|o\b)/i,/^(?:\}o\b)/i,/^(?:\}\|)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},block:{rules:[13,14,15,16,17],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,18,19,20,21,22,23,24,25,26,27,28,29,30,31],inclusive:!0}}};function v(){this.yy={}}return g.lexer=y,v.prototype=g,g.Parser=v,new v}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(19).readFileSync(n(20).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(14),n(7)(t))},function(t,e,n){"use strict";var r;Object.defineProperty(e,"__esModule",{value:!0}),function(t){t[t.ALL=0]="ALL",t[t.RGB=1]="RGB",t[t.HSL=2]="HSL"}(r||(r={})),e.TYPE=r},function(t,e,n){"use strict";var r=n(10);t.exports=i;function i(t){this._isDirected=!r.has(t,"directed")||t.directed,this._isMultigraph=!!r.has(t,"multigraph")&&t.multigraph,this._isCompound=!!r.has(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function a(t,e){t[e]?t[e]++:t[e]=1}function o(t,e){--t[e]||delete t[e]}function s(t,e,n,i){var a=""+e,o=""+n;if(!t&&a>o){var s=a;a=o,o=s}return a+""+o+""+(r.isUndefined(i)?"\0":i)}function c(t,e,n,r){var i=""+e,a=""+n;if(!t&&i>a){var o=i;i=a,a=o}var s={v:i,w:a};return r&&(s.name=r),s}function u(t,e){return s(t,e.v,e.w,e.name)}i.prototype._nodeCount=0,i.prototype._edgeCount=0,i.prototype.isDirected=function(){return this._isDirected},i.prototype.isMultigraph=function(){return this._isMultigraph},i.prototype.isCompound=function(){return this._isCompound},i.prototype.setGraph=function(t){return this._label=t,this},i.prototype.graph=function(){return this._label},i.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},i.prototype.nodeCount=function(){return this._nodeCount},i.prototype.nodes=function(){return r.keys(this._nodes)},i.prototype.sources=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._in[e])}))},i.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._out[e])}))},i.prototype.setNodes=function(t,e){var n=arguments,i=this;return r.each(t,(function(t){n.length>1?i.setNode(t,e):i.setNode(t)})),this},i.prototype.setNode=function(t,e){return r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},i.prototype.node=function(t){return this._nodes[t]},i.prototype.hasNode=function(t){return r.has(this._nodes,t)},i.prototype.removeNode=function(t){var e=this;if(r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],r.each(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),r.each(r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],r.each(r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},i.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e="\0";else{for(var n=e+="";!r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},i.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},i.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if("\0"!==e)return e}},i.prototype.children=function(t){if(r.isUndefined(t)&&(t="\0"),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if("\0"===t)return this.nodes();if(this.hasNode(t))return[]}},i.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},i.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},i.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},i.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},i.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;r.each(this._nodes,(function(n,r){t(r)&&e.setNode(r,n)})),r.each(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var i={};return this._isCompound&&r.each(e.nodes(),(function(t){e.setParent(t,function t(r){var a=n.parent(r);return void 0===a||e.hasNode(a)?(i[r]=a,a):a in i?i[a]:t(a)}(t))})),e},i.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},i.prototype.edgeCount=function(){return this._edgeCount},i.prototype.edges=function(){return r.values(this._edgeObjs)},i.prototype.setPath=function(t,e){var n=this,i=arguments;return r.reduce(t,(function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r})),this},i.prototype.setEdge=function(){var t,e,n,i,o=!1,u=arguments[0];"object"==typeof u&&null!==u&&"v"in u?(t=u.v,e=u.w,n=u.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=u,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var l=s(this._isDirected,t,e,n);if(r.has(this._edgeLabels,l))return o&&(this._edgeLabels[l]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[l]=o?i:this._defaultEdgeLabelFn(t,e,n);var h=c(this._isDirected,t,e,n);return t=h.v,e=h.w,Object.freeze(h),this._edgeObjs[l]=h,a(this._preds[e],t),a(this._sucs[t],e),this._in[e][l]=h,this._out[t][l]=h,this._edgeCount++,this},i.prototype.edge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):s(this._isDirected,t,e,n);return this._edgeLabels[r]},i.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?u(this._isDirected,arguments[0]):s(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},i.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):s(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],o(this._preds[e],t),o(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},i.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.v===e})):i}},i.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.w===e})):i}},i.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},function(t,e,n){var r=n(33)(n(16),"Map");t.exports=r},function(t,e,n){var r=n(217),i=n(224),a=n(226),o=n(227),s=n(228);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c},function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}},function(t,e){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},function(t,e,n){(function(t){var r=n(109),i=e&&!e.nodeType&&e,a=i&&"object"==typeof t&&t&&!t.nodeType&&t,o=a&&a.exports===i&&r.process,s=function(){try{var t=a&&a.require&&a.require("util").types;return t||o&&o.binding&&o.binding("util")}catch(t){}}();t.exports=s}).call(this,n(7)(t))},function(t,e,n){var r=n(62),i=n(234),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))a.call(t,n)&&"constructor"!=n&&e.push(n);return e}},function(t,e,n){var r=n(116),i=n(117),a=Object.prototype.propertyIsEnumerable,o=Object.getOwnPropertySymbols,s=o?function(t){return null==t?[]:(t=Object(t),r(o(t),(function(e){return a.call(t,e)})))}:i;t.exports=s},function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}},function(t,e,n){var r=n(122);t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},function(t,e){t.exports=function(t){return function(){return t}}},function(t,e,n){t.exports=n(126)},function(t,e,n){var r=n(89),i=n(30);t.exports=function(t,e){return t&&r(t,e,i)}},function(t,e,n){var r=n(253)();t.exports=r},function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},function(t,e,n){var r=n(65),i=n(49);t.exports=function(t,e){for(var n=0,a=(e=r(e,t)).length;null!=t&&n<a;)t=t[i(e[n++])];return n&&n==a?t:void 0}},function(t,e,n){var r=n(5),i=n(42),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!i(t))||(o.test(t)||!a.test(t)||null!=e&&t in Object(e))}},function(t,e,n){var r=n(275),i=n(137);t.exports=function(t,e){return null!=t&&i(t,e,r)}},function(t,e,n){var r=n(84),i=n(287);t.exports=function t(e,n,a,o,s){var c=-1,u=e.length;for(a||(a=i),s||(s=[]);++c<u;){var l=e[c];n>0&&a(l)?n>1?t(l,n-1,a,o,s):r(s,l):o||(s[s.length]=l)}return s}},function(t,e,n){var r=n(42);t.exports=function(t,e,n){for(var i=-1,a=t.length;++i<a;){var o=t[i],s=e(o);if(null!=s&&(void 0===c?s==s&&!r(s):n(s,c)))var c=s,u=o}return u}},function(t,e){t.exports=function(t,e,n,r){var i=t.x,a=t.y,o=i-r.x,s=a-r.y,c=Math.sqrt(e*e*s*s+n*n*o*o),u=Math.abs(e*n*o/c);r.x<i&&(u=-u);var l=Math.abs(e*n*s/c);r.y<a&&(l=-l);return{x:i+u,y:a+l}}},function(t,e,n){var r=n(372),i=n(50),a=n(373);t.exports=function(t,e,n){var o=e.label,s=t.append("g");"svg"===e.labelType?a(s,e):"string"!=typeof o||"html"===e.labelType?i(s,e):r(s,e);var c,u=s.node().getBBox();switch(n){case"top":c=-e.height/2;break;case"bottom":c=e.height/2-u.height;break;default:c=-u.height/2}return s.attr("transform","translate("+-u.width/2+","+c+")"),s}},function(t,e){},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i=n(45),a=n(178),o={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:function(t){if(35===t.charCodeAt(0)){var e=t.match(o.re);if(e){var n=e[1],r=parseInt(n,16),a=n.length,s=a%4==0,c=a>4,u=c?1:17,l=c?8:4,h=s?0:-1,f=c?255:15;return i.default.set({r:(r>>l*(h+3)&f)*u,g:(r>>l*(h+2)&f)*u,b:(r>>l*(h+1)&f)*u,a:s?(r&f)*u/255:1},t)}}},stringify:function(t){return t.a<1?"#"+a.DEC2HEX[Math.round(t.r)]+a.DEC2HEX[Math.round(t.g)]+a.DEC2HEX[Math.round(t.b)]+r.default.unit.frac2hex(t.a):"#"+a.DEC2HEX[Math.round(t.r)]+a.DEC2HEX[Math.round(t.g)]+a.DEC2HEX[Math.round(t.b)]}};e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i=n(45),a=n(15);e.default=function(t,e,n,o){void 0===o&&(o=1);var s=i.default.set({h:r.default.channel.clamp.h(t),s:r.default.channel.clamp.s(e),l:r.default.channel.clamp.l(n),a:r.default.channel.clamp.a(o)});return a.default.stringify(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"a")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i=n(15);e.default=function(t){var e=i.default.parse(t),n=e.r,a=e.g,o=e.b,s=.2126*r.default.channel.toLinear(n)+.7152*r.default.channel.toLinear(a)+.0722*r.default.channel.toLinear(o);return r.default.lang.round(s)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(102);e.default=function(t){return r.default(t)>=.5}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t,e){return r.default(t,"a",e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t,e){return r.default(t,"a",-e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(15),i=n(52);e.default=function(t,e){var n=r.default.parse(t),a={};for(var o in e)e[o]&&(a[o]=n[o]+e[o]);return i.default(t,a)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(15),i=n(51);e.default=function(t,e,n){void 0===n&&(n=50);var a=r.default.parse(t),o=a.r,s=a.g,c=a.b,u=a.a,l=r.default.parse(e),h=l.r,f=l.g,d=l.b,p=l.a,g=n/100,y=2*g-1,v=u-p,m=((y*v==-1?y:(y+v)/(1+y*v))+1)/2,b=1-m,x=o*m+h*b,_=s*m+f*b,k=c*m+d*b,w=u*g+p*(1-g);return i.default(x,_,k,w)}},function(t,e,n){var r=n(53),i=n(79),a=n(58),o=n(229),s=n(235),c=n(114),u=n(115),l=n(238),h=n(239),f=n(119),d=n(240),p=n(41),g=n(244),y=n(245),v=n(124),m=n(5),b=n(39),x=n(249),_=n(11),k=n(251),w=n(30),E={};E["[object Arguments]"]=E["[object Array]"]=E["[object ArrayBuffer]"]=E["[object DataView]"]=E["[object Boolean]"]=E["[object Date]"]=E["[object Float32Array]"]=E["[object Float64Array]"]=E["[object Int8Array]"]=E["[object Int16Array]"]=E["[object Int32Array]"]=E["[object Map]"]=E["[object Number]"]=E["[object Object]"]=E["[object RegExp]"]=E["[object Set]"]=E["[object String]"]=E["[object Symbol]"]=E["[object Uint8Array]"]=E["[object Uint8ClampedArray]"]=E["[object Uint16Array]"]=E["[object Uint32Array]"]=!0,E["[object Error]"]=E["[object Function]"]=E["[object WeakMap]"]=!1,t.exports=function t(e,n,T,C,A,S){var M,O=1&n,D=2&n,N=4&n;if(T&&(M=A?T(e,C,A,S):T(e)),void 0!==M)return M;if(!_(e))return e;var B=m(e);if(B){if(M=g(e),!O)return u(e,M)}else{var L=p(e),P="[object Function]"==L||"[object GeneratorFunction]"==L;if(b(e))return c(e,O);if("[object Object]"==L||"[object Arguments]"==L||P&&!A){if(M=D||P?{}:v(e),!O)return D?h(e,s(M,e)):l(e,o(M,e))}else{if(!E[L])return A?e:{};M=y(e,L,O)}}S||(S=new r);var I=S.get(e);if(I)return I;S.set(e,M),k(e)?e.forEach((function(r){M.add(t(r,n,T,r,e,S))})):x(e)&&e.forEach((function(r,i){M.set(i,t(r,n,T,i,e,S))}));var F=N?D?d:f:D?keysIn:w,j=B?void 0:F(e);return i(j||e,(function(r,i){j&&(r=e[i=r]),a(M,i,t(r,n,T,i,e,S))})),M}},function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(this,n(211))},function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},function(t,e,n){var r=n(33),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},function(t,e,n){var r=n(230),i=n(47),a=n(5),o=n(39),s=n(60),c=n(48),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=a(t),l=!n&&i(t),h=!n&&!l&&o(t),f=!n&&!l&&!h&&c(t),d=n||l||h||f,p=d?r(t.length,String):[],g=p.length;for(var y in t)!e&&!u.call(t,y)||d&&("length"==y||h&&("offset"==y||"parent"==y)||f&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||s(y,g))||p.push(y);return p}},function(t,e){t.exports=function(t,e){return function(n){return t(e(n))}}},function(t,e,n){(function(t){var r=n(16),i=e&&!e.nodeType&&e,a=i&&"object"==typeof t&&t&&!t.nodeType&&t,o=a&&a.exports===i?r.Buffer:void 0,s=o?o.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}}).call(this,n(7)(t))},function(t,e){t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,a=[];++n<r;){var o=t[n];e(o,n,t)&&(a[i++]=o)}return a}},function(t,e){t.exports=function(){return[]}},function(t,e,n){var r=n(84),i=n(63),a=n(83),o=n(117),s=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)r(e,a(t)),t=i(t);return e}:o;t.exports=s},function(t,e,n){var r=n(120),i=n(83),a=n(30);t.exports=function(t){return r(t,a,i)}},function(t,e,n){var r=n(84),i=n(5);t.exports=function(t,e,n){var a=e(t);return i(t)?a:r(a,n(t))}},function(t,e,n){var r=n(33)(n(16),"Set");t.exports=r},function(t,e,n){var r=n(16).Uint8Array;t.exports=r},function(t,e,n){var r=n(85);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},function(t,e,n){var r=n(125),i=n(63),a=n(62);t.exports=function(t){return"function"!=typeof t.constructor||a(t)?{}:r(i(t))}},function(t,e,n){var r=n(11),i=Object.create,a=function(){function t(){}return function(e){if(!r(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=a},function(t,e,n){var r=n(79),i=n(64),a=n(127),o=n(5);t.exports=function(t,e){return(o(t)?r:i)(t,a(e))}},function(t,e,n){var r=n(35);t.exports=function(t){return"function"==typeof t?t:r}},function(t,e,n){var r=n(116),i=n(255),a=n(25),o=n(5);t.exports=function(t,e){return(o(t)?r:i)(t,a(e,3))}},function(t,e,n){var r=n(258),i=n(21);t.exports=function t(e,n,a,o,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,a,o,t,s))}},function(t,e,n){var r=n(131),i=n(261),a=n(132);t.exports=function(t,e,n,o,s,c){var u=1&n,l=t.length,h=e.length;if(l!=h&&!(u&&h>l))return!1;var f=c.get(t);if(f&&c.get(e))return f==e;var d=-1,p=!0,g=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++d<l;){var y=t[d],v=e[d];if(o)var m=u?o(v,y,d,e,t,c):o(y,v,d,t,e,c);if(void 0!==m){if(m)continue;p=!1;break}if(g){if(!i(e,(function(t,e){if(!a(g,e)&&(y===t||s(y,t,n,o,c)))return g.push(e)}))){p=!1;break}}else if(y!==v&&!s(y,v,n,o,c)){p=!1;break}}return c.delete(t),c.delete(e),p}},function(t,e,n){var r=n(78),i=n(259),a=n(260);function o(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e<n;)this.add(t[e])}o.prototype.add=o.prototype.push=i,o.prototype.has=a,t.exports=o},function(t,e){t.exports=function(t,e){return t.has(e)}},function(t,e,n){var r=n(11);t.exports=function(t){return t==t&&!r(t)}},function(t,e){t.exports=function(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}},function(t,e,n){var r=n(271);t.exports=function(t){return null==t?"":r(t)}},function(t,e,n){var r=n(272),i=n(137);t.exports=function(t,e){return null!=t&&i(t,e,r)}},function(t,e,n){var r=n(65),i=n(47),a=n(5),o=n(60),s=n(80),c=n(49);t.exports=function(t,e,n){for(var u=-1,l=(e=r(e,t)).length,h=!1;++u<l;){var f=c(e[u]);if(!(h=null!=t&&n(t,f)))break;t=t[f]}return h||++u!=l?h:!!(l=null==t?0:t.length)&&s(l)&&o(f,l)&&(a(t)||i(t))}},function(t,e){t.exports=function(t){return function(e){return null==e?void 0:e[t]}}},function(t,e){t.exports=function(t){return void 0===t}},function(t,e,n){var r=n(66),i=n(25),a=n(141),o=n(5);t.exports=function(t,e){return(o(t)?r:a)(t,i(e,3))}},function(t,e,n){var r=n(64),i=n(24);t.exports=function(t,e){var n=-1,a=i(t)?Array(t.length):[];return r(t,(function(t,r,i){a[++n]=e(t,r,i)})),a}},function(t,e,n){var r=n(277),i=n(64),a=n(25),o=n(278),s=n(5);t.exports=function(t,e,n){var c=s(t)?r:o,u=arguments.length<3;return c(t,a(e,4),n,u,i)}},function(t,e,n){var r=n(288),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var a=arguments,o=-1,s=i(a.length-e,0),c=Array(s);++o<s;)c[o]=a[e+o];o=-1;for(var u=Array(e+1);++o<e;)u[o]=a[o];return u[e]=n(c),r(t,this,u)}}},function(t,e,n){var r=n(289),i=n(290)(r);t.exports=i},function(t,e){t.exports=function(t,e,n,r){for(var i=t.length,a=n+(r?1:-1);r?a--:++a<i;)if(e(t[a],a,t))return a;return-1}},function(t,e,n){var r=n(24),i=n(21);t.exports=function(t){return i(t)&&r(t)}},function(t,e,n){var r=n(299),i=n(30);t.exports=function(t){return null==t?[]:r(t,i(t))}},function(t,e,n){var r=n(10),i=n(149);t.exports=function(t,e,n,r){return function(t,e,n,r){var a,o,s={},c=new i,u=function(t){var e=t.v!==a?t.v:t.w,r=s[e],i=n(t),u=o.distance+i;if(i<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+i);u<r.distance&&(r.distance=u,r.predecessor=a,c.decrease(e,u))};t.nodes().forEach((function(t){var n=t===e?0:Number.POSITIVE_INFINITY;s[t]={distance:n},c.add(t,n)}));for(;c.size()>0&&(a=c.removeMin(),(o=s[a]).distance!==Number.POSITIVE_INFINITY);)r(a).forEach(u);return s}(t,String(e),n||a,r||function(e){return t.outEdges(e)})};var a=r.constant(1)},function(t,e,n){var r=n(10);function i(){this._arr=[],this._keyIndices={}}t.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map((function(t){return t.key}))},i.prototype.has=function(t){return r.has(this._keyIndices,t)},i.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,a=i.length;return n[t]=a,i.push({key:t,priority:e}),this._decrease(a),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},i.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},i.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n<e.length&&(i=e[n].priority<e[i].priority?n:i,r<e.length&&(i=e[r].priority<e[i].priority?r:i),i!==t&&(this._swap(t,i),this._heapify(i)))},i.prototype._decrease=function(t){for(var e,n=this._arr,r=n[t].priority;0!==t&&!(n[e=t>>1].priority<r);)this._swap(t,e),t=e},i.prototype._swap=function(t,e){var n=this._arr,r=this._keyIndices,i=n[t],a=n[e];n[t]=a,n[e]=i,r[a.key]=t,r[i.key]=e}},function(t,e,n){var r=n(10);t.exports=function(t){var e=0,n=[],i={},a=[];return t.nodes().forEach((function(o){r.has(i,o)||function o(s){var c=i[s]={onStack:!0,lowlink:e,index:e++};if(n.push(s),t.successors(s).forEach((function(t){r.has(i,t)?i[t].onStack&&(c.lowlink=Math.min(c.lowlink,i[t].index)):(o(t),c.lowlink=Math.min(c.lowlink,i[t].lowlink))})),c.lowlink===c.index){var u,l=[];do{u=n.pop(),i[u].onStack=!1,l.push(u)}while(s!==u);a.push(l)}}(o)})),a}},function(t,e,n){var r=n(10);function i(t){var e={},n={},i=[];if(r.each(t.sinks(),(function o(s){if(r.has(n,s))throw new a;r.has(e,s)||(n[s]=!0,e[s]=!0,r.each(t.predecessors(s),o),delete n[s],i.push(s))})),r.size(e)!==t.nodeCount())throw new a;return i}function a(){}t.exports=i,i.CycleException=a,a.prototype=new Error},function(t,e,n){var r=n(10);t.exports=function(t,e,n){r.isArray(e)||(e=[e]);var i=(t.isDirected()?t.successors:t.neighbors).bind(t),a=[],o={};return r.each(e,(function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);!function t(e,n,i,a,o,s){r.has(a,n)||(a[n]=!0,i||s.push(n),r.each(o(n),(function(n){t(e,n,i,a,o,s)})),i&&s.push(n))}(t,e,"post"===n,o,i,a)})),a}},function(t,e,n){var r;try{r=n(18)}catch(t){}r||(r=window.dagre),t.exports=r},function(t,e,n){var r=n(67),i=n(36),a=n(68),o=n(40),s=Object.prototype,c=s.hasOwnProperty,u=r((function(t,e){t=Object(t);var n=-1,r=e.length,u=r>2?e[2]:void 0;for(u&&a(e[0],e[1],u)&&(r=1);++n<r;)for(var l=e[n],h=o(l),f=-1,d=h.length;++f<d;){var p=h[f],g=t[p];(void 0===g||i(g,s[p])&&!c.call(t,p))&&(t[p]=l[p])}return t}));t.exports=u},function(t,e,n){var r=n(318);t.exports=function(t){return t?(t=r(t))===1/0||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},function(t,e,n){var r=n(94);t.exports=function(t){return(null==t?0:t.length)?r(t,1):[]}},function(t,e,n){var r=n(59),i=n(36);t.exports=function(t,e,n){(void 0===n||i(t[e],n))&&(void 0!==n||e in t)||r(t,e,n)}},function(t,e,n){var r=n(34),i=n(63),a=n(21),o=Function.prototype,s=Object.prototype,c=o.toString,u=s.hasOwnProperty,l=c.call(Object);t.exports=function(t){if(!a(t)||"[object Object]"!=r(t))return!1;var e=i(t);if(null===e)return!0;var n=u.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==l}},function(t,e){t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},function(t,e){t.exports=function(t,e){return t<e}},function(t,e,n){var r=n(332),i=n(335)((function(t,e){return null==t?{}:r(t,e)}));t.exports=i},function(t,e,n){var r=n(336)();t.exports=r},function(t,e,n){var r=n(135),i=0;t.exports=function(t){var e=++i;return r(t)+e}},function(t,e,n){"use strict";var r=n(4),i=n(17).Graph,a=n(69).slack;function o(t,e){return r.forEach(t.nodes(),(function n(i){r.forEach(e.nodeEdges(i),(function(r){var o=r.v,s=i===o?r.w:o;t.hasNode(s)||a(e,r)||(t.setNode(s,{}),t.setEdge(i,s,{}),n(s))}))})),t.nodeCount()}function s(t,e){return r.minBy(e.edges(),(function(n){if(t.hasNode(n.v)!==t.hasNode(n.w))return a(e,n)}))}function c(t,e,n){r.forEach(t.nodes(),(function(t){e.node(t).rank+=n}))}t.exports=function(t){var e,n,r=new i({directed:!1}),u=t.nodes()[0],l=t.nodeCount();r.setNode(u,{});for(;o(r,t)<l;)e=s(r,t),n=r.hasNode(e.v)?a(t,e):-a(t,e),c(r,t,n);return r}},function(t,e){t.exports=function(t,e){return t.intersect(e)}},function(t,e,n){var r=n(96);t.exports=function(t,e,n){return r(t,e,e,n)}},function(t,e,n){var r=n(369);t.exports=function(t,e,n){var i=t.x,a=t.y,o=[],s=Number.POSITIVE_INFINITY,c=Number.POSITIVE_INFINITY;e.forEach((function(t){s=Math.min(s,t.x),c=Math.min(c,t.y)}));for(var u=i-t.width/2-s,l=a-t.height/2-c,h=0;h<e.length;h++){var f=e[h],d=e[h<e.length-1?h+1:0],p=r(t,n,{x:u+f.x,y:l+f.y},{x:u+d.x,y:l+d.y});p&&o.push(p)}if(!o.length)return console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",t),t;o.length>1&&o.sort((function(t,e){var r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),o=e.x-n.x,s=e.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}));return o[0]}},function(t,e){t.exports=function(t,e){var n,r,i=t.x,a=t.y,o=e.x-i,s=e.y-a,c=t.width/2,u=t.height/2;Math.abs(s)*c>Math.abs(o)*u?(s<0&&(u=-u),n=0===s?0:u*o/s,r=u):(o<0&&(c=-c),n=c,r=0===o?0:c*s/o);return{x:i+n,y:a+r}}},function(t,e,n){t.exports=function t(e){"use strict";var n=/^\0+/g,r=/[\0\r\f]/g,i=/: */g,a=/zoo|gra/,o=/([,: ])(transform)/g,s=/,+\s*(?![^(]*[)])/g,c=/ +\s*(?![^(]*[)])/g,u=/ *[\0] */g,l=/,\r+?/g,h=/([\t\r\n ])*\f?&/g,f=/:global\(((?:[^\(\)\[\]]*|\[.*\]|\([^\(\)]*\))*)\)/g,d=/\W+/g,p=/@(k\w+)\s*(\S*)\s*/,g=/::(place)/g,y=/:(read-only)/g,v=/\s+(?=[{\];=:>])/g,m=/([[}=:>])\s+/g,b=/(\{[^{]+?);(?=\})/g,x=/\s{2,}/g,_=/([^\(])(:+) */g,k=/[svh]\w+-[tblr]{2}/,w=/\(\s*(.*)\s*\)/g,E=/([\s\S]*?);/g,T=/-self|flex-/g,C=/[^]*?(:[rp][el]a[\w-]+)[^]*/,A=/stretch|:\s*\w+\-(?:conte|avail)/,S=/([^-])(image-set\()/,M="-webkit-",O="-moz-",D="-ms-",N=1,B=1,L=0,P=1,I=1,F=1,j=0,R=0,Y=0,z=[],U=[],$=0,W=null,H=0,V=1,G="",q="",X="";function Z(t,e,i,a,o){for(var s,c,l=0,h=0,f=0,d=0,v=0,m=0,b=0,x=0,k=0,E=0,T=0,C=0,A=0,S=0,O=0,D=0,j=0,U=0,W=0,K=i.length,it=K-1,at="",ot="",st="",ct="",ut="",lt="";O<K;){if(b=i.charCodeAt(O),O===it&&h+d+f+l!==0&&(0!==h&&(b=47===h?10:47),d=f=l=0,K++,it++),h+d+f+l===0){if(O===it&&(D>0&&(ot=ot.replace(r,"")),ot.trim().length>0)){switch(b){case 32:case 9:case 59:case 13:case 10:break;default:ot+=i.charAt(O)}b=59}if(1===j)switch(b){case 123:case 125:case 59:case 34:case 39:case 40:case 41:case 44:j=0;case 9:case 13:case 10:case 32:break;default:for(j=0,W=O,v=b,O--,b=59;W<K;)switch(i.charCodeAt(W++)){case 10:case 13:case 59:++O,b=v,W=K;break;case 58:D>0&&(++O,b=v);case 123:W=K}}switch(b){case 123:for(v=(ot=ot.trim()).charCodeAt(0),T=1,W=++O;O<K;){switch(b=i.charCodeAt(O)){case 123:T++;break;case 125:T--;break;case 47:switch(m=i.charCodeAt(O+1)){case 42:case 47:O=rt(m,O,it,i)}break;case 91:b++;case 40:b++;case 34:case 39:for(;O++<it&&i.charCodeAt(O)!==b;);}if(0===T)break;O++}switch(st=i.substring(W,O),0===v&&(v=(ot=ot.replace(n,"").trim()).charCodeAt(0)),v){case 64:switch(D>0&&(ot=ot.replace(r,"")),m=ot.charCodeAt(1)){case 100:case 109:case 115:case 45:s=e;break;default:s=z}if(W=(st=Z(e,s,st,m,o+1)).length,Y>0&&0===W&&(W=ot.length),$>0&&(c=nt(3,st,s=J(z,ot,U),e,B,N,W,m,o,a),ot=s.join(""),void 0!==c&&0===(W=(st=c.trim()).length)&&(m=0,st="")),W>0)switch(m){case 115:ot=ot.replace(w,et);case 100:case 109:case 45:st=ot+"{"+st+"}";break;case 107:st=(ot=ot.replace(p,"$1 $2"+(V>0?G:"")))+"{"+st+"}",st=1===I||2===I&&tt("@"+st,3)?"@"+M+st+"@"+st:"@"+st;break;default:st=ot+st,112===a&&(ct+=st,st="")}else st="";break;default:st=Z(e,J(e,ot,U),st,a,o+1)}ut+=st,C=0,j=0,S=0,D=0,U=0,A=0,ot="",st="",b=i.charCodeAt(++O);break;case 125:case 59:if((W=(ot=(D>0?ot.replace(r,""):ot).trim()).length)>1)switch(0===S&&(45===(v=ot.charCodeAt(0))||v>96&&v<123)&&(W=(ot=ot.replace(" ",":")).length),$>0&&void 0!==(c=nt(1,ot,e,t,B,N,ct.length,a,o,a))&&0===(W=(ot=c.trim()).length)&&(ot="\0\0"),v=ot.charCodeAt(0),m=ot.charCodeAt(1),v){case 0:break;case 64:if(105===m||99===m){lt+=ot+i.charAt(O);break}default:if(58===ot.charCodeAt(W-1))break;ct+=Q(ot,v,m,ot.charCodeAt(2))}C=0,j=0,S=0,D=0,U=0,ot="",b=i.charCodeAt(++O)}}switch(b){case 13:case 10:if(h+d+f+l+R===0)switch(E){case 41:case 39:case 34:case 64:case 126:case 62:case 42:case 43:case 47:case 45:case 58:case 44:case 59:case 123:case 125:break;default:S>0&&(j=1)}47===h?h=0:P+C===0&&107!==a&&ot.length>0&&(D=1,ot+="\0"),$*H>0&&nt(0,ot,e,t,B,N,ct.length,a,o,a),N=1,B++;break;case 59:case 125:if(h+d+f+l===0){N++;break}default:switch(N++,at=i.charAt(O),b){case 9:case 32:if(d+l+h===0)switch(x){case 44:case 58:case 9:case 32:at="";break;default:32!==b&&(at=" ")}break;case 0:at="\\0";break;case 12:at="\\f";break;case 11:at="\\v";break;case 38:d+h+l===0&&P>0&&(U=1,D=1,at="\f"+at);break;case 108:if(d+h+l+L===0&&S>0)switch(O-S){case 2:112===x&&58===i.charCodeAt(O-3)&&(L=x);case 8:111===k&&(L=k)}break;case 58:d+h+l===0&&(S=O);break;case 44:h+f+d+l===0&&(D=1,at+="\r");break;case 34:case 39:0===h&&(d=d===b?0:0===d?b:d);break;case 91:d+h+f===0&&l++;break;case 93:d+h+f===0&&l--;break;case 41:d+h+l===0&&f--;break;case 40:if(d+h+l===0){if(0===C)switch(2*x+3*k){case 533:break;default:T=0,C=1}f++}break;case 64:h+f+d+l+S+A===0&&(A=1);break;case 42:case 47:if(d+l+f>0)break;switch(h){case 0:switch(2*b+3*i.charCodeAt(O+1)){case 235:h=47;break;case 220:W=O,h=42}break;case 42:47===b&&42===x&&W+2!==O&&(33===i.charCodeAt(W+2)&&(ct+=i.substring(W,O+1)),at="",h=0)}}if(0===h){if(P+d+l+A===0&&107!==a&&59!==b)switch(b){case 44:case 126:case 62:case 43:case 41:case 40:if(0===C){switch(x){case 9:case 32:case 10:case 13:at+="\0";break;default:at="\0"+at+(44===b?"":"\0")}D=1}else switch(b){case 40:S+7===O&&108===x&&(S=0),C=++T;break;case 41:0==(C=--T)&&(D=1,at+="\0")}break;case 9:case 32:switch(x){case 0:case 123:case 125:case 59:case 44:case 12:case 9:case 32:case 10:case 13:break;default:0===C&&(D=1,at+="\0")}}ot+=at,32!==b&&9!==b&&(E=b)}}k=x,x=b,O++}if(W=ct.length,Y>0&&0===W&&0===ut.length&&0===e[0].length==0&&(109!==a||1===e.length&&(P>0?q:X)===e[0])&&(W=e.join(",").length+2),W>0){if(s=0===P&&107!==a?function(t){for(var e,n,i=0,a=t.length,o=Array(a);i<a;++i){for(var s=t[i].split(u),c="",l=0,h=0,f=0,d=0,p=s.length;l<p;++l)if(!(0===(h=(n=s[l]).length)&&p>1)){if(f=c.charCodeAt(c.length-1),d=n.charCodeAt(0),e="",0!==l)switch(f){case 42:case 126:case 62:case 43:case 32:case 40:break;default:e=" "}switch(d){case 38:n=e+q;case 126:case 62:case 43:case 32:case 41:case 40:break;case 91:n=e+n+q;break;case 58:switch(2*n.charCodeAt(1)+3*n.charCodeAt(2)){case 530:if(F>0){n=e+n.substring(8,h-1);break}default:(l<1||s[l-1].length<1)&&(n=e+q+n)}break;case 44:e="";default:n=h>1&&n.indexOf(":")>0?e+n.replace(_,"$1"+q+"$2"):e+n+q}c+=n}o[i]=c.replace(r,"").trim()}return o}(e):e,$>0&&void 0!==(c=nt(2,ct,s,t,B,N,W,a,o,a))&&0===(ct=c).length)return lt+ct+ut;if(ct=s.join(",")+"{"+ct+"}",I*L!=0){switch(2!==I||tt(ct,2)||(L=0),L){case 111:ct=ct.replace(y,":-moz-$1")+ct;break;case 112:ct=ct.replace(g,"::-webkit-input-$1")+ct.replace(g,"::-moz-$1")+ct.replace(g,":-ms-input-$1")+ct}L=0}}return lt+ct+ut}function J(t,e,n){var r=e.trim().split(l),i=r,a=r.length,o=t.length;switch(o){case 0:case 1:for(var s=0,c=0===o?"":t[0]+" ";s<a;++s)i[s]=K(c,i[s],n,o).trim();break;default:s=0;var u=0;for(i=[];s<a;++s)for(var h=0;h<o;++h)i[u++]=K(t[h]+" ",r[s],n,o).trim()}return i}function K(t,e,n,r){var i=e,a=i.charCodeAt(0);switch(a<33&&(a=(i=i.trim()).charCodeAt(0)),a){case 38:switch(P+r){case 0:case 1:if(0===t.trim().length)break;default:return i.replace(h,"$1"+t.trim())}break;case 58:switch(i.charCodeAt(1)){case 103:if(F>0&&P>0)return i.replace(f,"$1").replace(h,"$1"+X);break;default:return t.trim()+i.replace(h,"$1"+t.trim())}default:if(n*P>0&&i.indexOf("\f")>0)return i.replace(h,(58===t.charCodeAt(0)?"":"$1")+t.trim())}return t+i}function Q(t,e,n,r){var u,l=0,h=t+";",f=2*e+3*n+4*r;if(944===f)return function(t){var e=t.length,n=t.indexOf(":",9)+1,r=t.substring(0,n).trim(),i=t.substring(n,e-1).trim();switch(t.charCodeAt(9)*V){case 0:break;case 45:if(110!==t.charCodeAt(10))break;default:var a=i.split((i="",s)),o=0;for(n=0,e=a.length;o<e;n=0,++o){for(var u=a[o],l=u.split(c);u=l[n];){var h=u.charCodeAt(0);if(1===V&&(h>64&&h<90||h>96&&h<123||95===h||45===h&&45!==u.charCodeAt(1)))switch(isNaN(parseFloat(u))+(-1!==u.indexOf("("))){case 1:switch(u){case"infinite":case"alternate":case"backwards":case"running":case"normal":case"forwards":case"both":case"none":case"linear":case"ease":case"ease-in":case"ease-out":case"ease-in-out":case"paused":case"reverse":case"alternate-reverse":case"inherit":case"initial":case"unset":case"step-start":case"step-end":break;default:u+=G}}l[n++]=u}i+=(0===o?"":",")+l.join(" ")}}return i=r+i+";",1===I||2===I&&tt(i,1)?M+i+i:i}(h);if(0===I||2===I&&!tt(h,1))return h;switch(f){case 1015:return 97===h.charCodeAt(10)?M+h+h:h;case 951:return 116===h.charCodeAt(3)?M+h+h:h;case 963:return 110===h.charCodeAt(5)?M+h+h:h;case 1009:if(100!==h.charCodeAt(4))break;case 969:case 942:return M+h+h;case 978:return M+h+O+h+h;case 1019:case 983:return M+h+O+h+D+h+h;case 883:return 45===h.charCodeAt(8)?M+h+h:h.indexOf("image-set(",11)>0?h.replace(S,"$1-webkit-$2")+h:h;case 932:if(45===h.charCodeAt(4))switch(h.charCodeAt(5)){case 103:return M+"box-"+h.replace("-grow","")+M+h+D+h.replace("grow","positive")+h;case 115:return M+h+D+h.replace("shrink","negative")+h;case 98:return M+h+D+h.replace("basis","preferred-size")+h}return M+h+D+h+h;case 964:return M+h+D+"flex-"+h+h;case 1023:if(99!==h.charCodeAt(8))break;return u=h.substring(h.indexOf(":",15)).replace("flex-","").replace("space-between","justify"),M+"box-pack"+u+M+h+D+"flex-pack"+u+h;case 1005:return a.test(h)?h.replace(i,":"+M)+h.replace(i,":"+O)+h:h;case 1e3:switch(l=(u=h.substring(13).trim()).indexOf("-")+1,u.charCodeAt(0)+u.charCodeAt(l)){case 226:u=h.replace(k,"tb");break;case 232:u=h.replace(k,"tb-rl");break;case 220:u=h.replace(k,"lr");break;default:return h}return M+h+D+u+h;case 1017:if(-1===h.indexOf("sticky",9))return h;case 975:switch(l=(h=t).length-10,f=(u=(33===h.charCodeAt(l)?h.substring(0,l):h).substring(t.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|u.charCodeAt(7))){case 203:if(u.charCodeAt(8)<111)break;case 115:h=h.replace(u,M+u)+";"+h;break;case 207:case 102:h=h.replace(u,M+(f>102?"inline-":"")+"box")+";"+h.replace(u,M+u)+";"+h.replace(u,D+u+"box")+";"+h}return h+";";case 938:if(45===h.charCodeAt(5))switch(h.charCodeAt(6)){case 105:return u=h.replace("-items",""),M+h+M+"box-"+u+D+"flex-"+u+h;case 115:return M+h+D+"flex-item-"+h.replace(T,"")+h;default:return M+h+D+"flex-line-pack"+h.replace("align-content","").replace(T,"")+h}break;case 973:case 989:if(45!==h.charCodeAt(3)||122===h.charCodeAt(4))break;case 931:case 953:if(!0===A.test(t))return 115===(u=t.substring(t.indexOf(":")+1)).charCodeAt(0)?Q(t.replace("stretch","fill-available"),e,n,r).replace(":fill-available",":stretch"):h.replace(u,M+u)+h.replace(u,O+u.replace("fill-",""))+h;break;case 962:if(h=M+h+(102===h.charCodeAt(5)?D+h:"")+h,n+r===211&&105===h.charCodeAt(13)&&h.indexOf("transform",10)>0)return h.substring(0,h.indexOf(";",27)+1).replace(o,"$1-webkit-$2")+h}return h}function tt(t,e){var n=t.indexOf(1===e?":":"{"),r=t.substring(0,3!==e?n:10),i=t.substring(n+1,t.length-1);return W(2!==e?r:r.replace(C,"$1"),i,e)}function et(t,e){var n=Q(e,e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2));return n!==e+";"?n.replace(E," or ($1)").substring(4):"("+e+")"}function nt(t,e,n,r,i,a,o,s,c,u){for(var l,h=0,f=e;h<$;++h)switch(l=U[h].call(at,t,f,n,r,i,a,o,s,c,u)){case void 0:case!1:case!0:case null:break;default:f=l}if(f!==e)return f}function rt(t,e,n,r){for(var i=e+1;i<n;++i)switch(r.charCodeAt(i)){case 47:if(42===t&&42===r.charCodeAt(i-1)&&e+2!==i)return i+1;break;case 10:if(47===t)return i+1}return i}function it(t){for(var e in t){var n=t[e];switch(e){case"keyframe":V=0|n;break;case"global":F=0|n;break;case"cascade":P=0|n;break;case"compress":j=0|n;break;case"semicolon":R=0|n;break;case"preserve":Y=0|n;break;case"prefix":W=null,n?"function"!=typeof n?I=1:(I=2,W=n):I=0}}return it}function at(e,n){if(void 0!==this&&this.constructor===at)return t(e);var i=e,a=i.charCodeAt(0);a<33&&(a=(i=i.trim()).charCodeAt(0)),V>0&&(G=i.replace(d,91===a?"":"-")),a=1,1===P?X=i:q=i;var o,s=[X];$>0&&void 0!==(o=nt(-1,n,s,s,B,N,0,0,0,0))&&"string"==typeof o&&(n=o);var c=Z(z,s,n,0,0);return $>0&&void 0!==(o=nt(-2,c,s,s,B,N,c.length,0,0,0))&&"string"!=typeof(c=o)&&(a=0),G="",X="",q="",L=0,B=1,N=1,j*a==0?c:function(t){return t.replace(r,"").replace(v,"").replace(m,"$1").replace(b,"$1").replace(x," ")}(c)}return at.use=function t(e){switch(e){case void 0:case null:$=U.length=0;break;default:if("function"==typeof e)U[$++]=e;else if("object"==typeof e)for(var n=0,r=e.length;n<r;++n)t(e[n]);else H=0|!!e}return t},at.set=it,void 0!==e&&it(e),at}(null)},function(t,e){t.exports=function(t,e){return t.intersect(e)}},function(t,e,n){var r={"./locale":98,"./locale.js":98};function i(t){var e=a(t);return n(e)}function a(t){if(!n.o(r,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return r[t]}i.keys=function(){return Object.keys(r)},i.resolve=a,t.exports=i,i.id=171},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(51);e.hex=r.default;var i=n(51);e.rgb=i.default;var a=n(51);e.rgba=a.default;var o=n(100);e.hsl=o.default;var s=n(100);e.hsla=s.default;var c=n(29);e.channel=c.default;var u=n(182);e.red=u.default;var l=n(183);e.green=l.default;var h=n(184);e.blue=h.default;var f=n(185);e.hue=f.default;var d=n(186);e.saturation=d.default;var p=n(187);e.lightness=p.default;var g=n(101);e.alpha=g.default;var y=n(101);e.opacity=y.default;var v=n(102);e.luminance=v.default;var m=n(188);e.isDark=m.default;var b=n(103);e.isLight=b.default;var x=n(189);e.isValid=x.default;var _=n(190);e.saturate=_.default;var k=n(191);e.desaturate=k.default;var w=n(192);e.lighten=w.default;var E=n(193);e.darken=E.default;var T=n(104);e.opacify=T.default;var C=n(104);e.fadeIn=C.default;var A=n(105);e.transparentize=A.default;var S=n(105);e.fadeOut=S.default;var M=n(194);e.complement=M.default;var O=n(195);e.grayscale=O.default;var D=n(106);e.adjust=D.default;var N=n(52);e.change=N.default;var B=n(196);e.invert=B.default;var L=n(107);e.mix=L.default;var P=n(197);e.scale=P.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:function(t){return t>=255?255:t<0?0:t},g:function(t){return t>=255?255:t<0?0:t},b:function(t){return t>=255?255:t<0?0:t},h:function(t){return t%360},s:function(t){return t>=100?100:t<0?0:t},l:function(t){return t>=100?100:t<0?0:t},a:function(t){return t>=1?1:t<0?0:t}},toLinear:function(t){var e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:function(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t},hsl2rgb:function(t,e){var n=t.h,i=t.s,a=t.l;if(100===i)return 2.55*a;n/=360,i/=100;var o=(a/=100)<.5?a*(1+i):a+i-a*i,s=2*a-o;switch(e){case"r":return 255*r.hue2rgb(s,o,n+1/3);case"g":return 255*r.hue2rgb(s,o,n);case"b":return 255*r.hue2rgb(s,o,n-1/3)}},rgb2hsl:function(t,e){var n=t.r,r=t.g,i=t.b;n/=255,r/=255,i/=255;var a=Math.max(n,r,i),o=Math.min(n,r,i),s=(a+o)/2;if("l"===e)return 100*s;if(a===o)return 0;var c=a-o;if("s"===e)return 100*(s>.5?c/(2-a-o):c/(a+o));switch(a){case n:return 60*((r-i)/c+(r<i?6:0));case r:return 60*((i-n)/c+2);case i:return 60*((n-r)/c+4);default:return-1}}};e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r={round:function(t){return Math.round(1e10*t)/1e10}};e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r={frac2hex:function(t){var e=Math.round(255*t).toString(16);return e.length>1?e:"0"+e},dec2hex:function(t){var e=Math.round(t).toString(16);return e.length>1?e:"0"+e}};e.default=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i=n(75),a=n(177),o=function(){function t(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new a.default}return t.prototype.set=function(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=i.TYPE.ALL,this},t.prototype._ensureHSL=function(){void 0===this.data.h&&(this.data.h=r.default.channel.rgb2hsl(this.data,"h")),void 0===this.data.s&&(this.data.s=r.default.channel.rgb2hsl(this.data,"s")),void 0===this.data.l&&(this.data.l=r.default.channel.rgb2hsl(this.data,"l"))},t.prototype._ensureRGB=function(){void 0===this.data.r&&(this.data.r=r.default.channel.hsl2rgb(this.data,"r")),void 0===this.data.g&&(this.data.g=r.default.channel.hsl2rgb(this.data,"g")),void 0===this.data.b&&(this.data.b=r.default.channel.hsl2rgb(this.data,"b"))},Object.defineProperty(t.prototype,"r",{get:function(){return this.type.is(i.TYPE.HSL)||void 0===this.data.r?(this._ensureHSL(),r.default.channel.hsl2rgb(this.data,"r")):this.data.r},set:function(t){this.type.set(i.TYPE.RGB),this.changed=!0,this.data.r=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"g",{get:function(){return this.type.is(i.TYPE.HSL)||void 0===this.data.g?(this._ensureHSL(),r.default.channel.hsl2rgb(this.data,"g")):this.data.g},set:function(t){this.type.set(i.TYPE.RGB),this.changed=!0,this.data.g=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"b",{get:function(){return this.type.is(i.TYPE.HSL)||void 0===this.data.b?(this._ensureHSL(),r.default.channel.hsl2rgb(this.data,"b")):this.data.b},set:function(t){this.type.set(i.TYPE.RGB),this.changed=!0,this.data.b=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"h",{get:function(){return this.type.is(i.TYPE.RGB)||void 0===this.data.h?(this._ensureRGB(),r.default.channel.rgb2hsl(this.data,"h")):this.data.h},set:function(t){this.type.set(i.TYPE.HSL),this.changed=!0,this.data.h=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"s",{get:function(){return this.type.is(i.TYPE.RGB)||void 0===this.data.s?(this._ensureRGB(),r.default.channel.rgb2hsl(this.data,"s")):this.data.s},set:function(t){this.type.set(i.TYPE.HSL),this.changed=!0,this.data.s=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"l",{get:function(){return this.type.is(i.TYPE.RGB)||void 0===this.data.l?(this._ensureRGB(),r.default.channel.rgb2hsl(this.data,"l")):this.data.l},set:function(t){this.type.set(i.TYPE.HSL),this.changed=!0,this.data.l=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"a",{get:function(){return this.data.a},set:function(t){this.changed=!0,this.data.a=t},enumerable:!0,configurable:!0}),t}();e.default=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(75),i=function(){function t(){this.type=r.TYPE.ALL}return t.prototype.get=function(){return this.type},t.prototype.set=function(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t},t.prototype.reset=function(){this.type=r.TYPE.ALL},t.prototype.is=function(t){return this.type===t},t}();e.default=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i={};e.DEC2HEX=i;for(var a=0;a<=255;a++)i[a]=r.default.unit.dec2hex(a)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(99),i={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:function(t){t=t.toLowerCase();var e=i.colors[t];if(e)return r.default.parse(e)},stringify:function(t){var e=r.default.stringify(t);for(var n in i.colors)if(i.colors[n]===e)return n}};e.default=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i=n(45),a={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:function(t){var e=t.charCodeAt(0);if(114===e||82===e){var n=t.match(a.re);if(n){var o=n[1],s=n[2],c=n[3],u=n[4],l=n[5],h=n[6],f=n[7],d=n[8];return i.default.set({r:r.default.channel.clamp.r(s?2.55*parseFloat(o):parseFloat(o)),g:r.default.channel.clamp.g(u?2.55*parseFloat(c):parseFloat(c)),b:r.default.channel.clamp.b(h?2.55*parseFloat(l):parseFloat(l)),a:f?r.default.channel.clamp.a(d?parseFloat(f)/100:parseFloat(f)):1},t)}}},stringify:function(t){return t.a<1?"rgba("+r.default.lang.round(t.r)+", "+r.default.lang.round(t.g)+", "+r.default.lang.round(t.b)+", "+r.default.lang.round(t.a)+")":"rgb("+r.default.lang.round(t.r)+", "+r.default.lang.round(t.g)+", "+r.default.lang.round(t.b)+")"}};e.default=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i=n(45),a={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:function(t){var e=t.match(a.hueRe);if(e){var n=e[1];switch(e[2]){case"grad":return r.default.channel.clamp.h(.9*parseFloat(n));case"rad":return r.default.channel.clamp.h(180*parseFloat(n)/Math.PI);case"turn":return r.default.channel.clamp.h(360*parseFloat(n))}}return r.default.channel.clamp.h(parseFloat(t))},parse:function(t){var e=t.charCodeAt(0);if(104===e||72===e){var n=t.match(a.re);if(n){var o=n[1],s=n[2],c=n[3],u=n[4],l=n[5];return i.default.set({h:a._hue2deg(o),s:r.default.channel.clamp.s(parseFloat(s)),l:r.default.channel.clamp.l(parseFloat(c)),a:u?r.default.channel.clamp.a(l?parseFloat(u)/100:parseFloat(u)):1},t)}}},stringify:function(t){return t.a<1?"hsla("+r.default.lang.round(t.h)+", "+r.default.lang.round(t.s)+"%, "+r.default.lang.round(t.l)+"%, "+t.a+")":"hsl("+r.default.lang.round(t.h)+", "+r.default.lang.round(t.s)+"%, "+r.default.lang.round(t.l)+"%)"}};e.default=a},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"r")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"g")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"b")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"h")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"s")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(29);e.default=function(t){return r.default(t,"l")}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(103);e.default=function(t){return!r.default(t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(15);e.default=function(t){try{return r.default.parse(t),!0}catch(t){return!1}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t,e){return r.default(t,"s",e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t,e){return r.default(t,"s",-e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t,e){return r.default(t,"l",e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t,e){return r.default(t,"l",-e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(32);e.default=function(t){return r.default(t,"h",180)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(52);e.default=function(t){return r.default(t,{s:0})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(15),i=n(107);e.default=function(t,e){void 0===e&&(e=100);var n=r.default.parse(t);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,i.default(n,t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(9),i=n(15),a=n(106);e.default=function(t,e){var n,o,s,c=i.default.parse(t),u={};for(var l in e)u[l]=(n=c[l],o=e[l],s=r.default.channel.max[l],o>0?(s-n)*o/100:n*o/100);return a.default(t,u)}},function(t,e,n){t.exports={Graph:n(76),version:n(300)}},function(t,e,n){var r=n(108);t.exports=function(t){return r(t,4)}},function(t,e){t.exports=function(){this.__data__=[],this.size=0}},function(t,e,n){var r=n(55),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0)&&(n==e.length-1?e.pop():i.call(e,n,1),--this.size,!0)}},function(t,e,n){var r=n(55);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},function(t,e,n){var r=n(55);t.exports=function(t){return r(this.__data__,t)>-1}},function(t,e,n){var r=n(55);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},function(t,e,n){var r=n(54);t.exports=function(){this.__data__=new r,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var r=n(54),i=n(77),a=n(78);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var o=n.__data__;if(!i||o.length<199)return o.push([t,e]),this.size=++n.size,this;n=this.__data__=new a(o)}return n.set(t,e),this.size=n.size,this}},function(t,e,n){var r=n(37),i=n(214),a=n(11),o=n(110),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,l=c.toString,h=u.hasOwnProperty,f=RegExp("^"+l.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!a(t)||i(t))&&(r(t)?f:s).test(o(t))}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){var r=n(38),i=Object.prototype,a=i.hasOwnProperty,o=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=a.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=o.call(t);return r&&(e?t[s]=n:delete t[s]),i}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e,n){var r,i=n(215),a=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!a&&a in t}},function(t,e,n){var r=n(16)["__core-js_shared__"];t.exports=r},function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},function(t,e,n){var r=n(218),i=n(54),a=n(77);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||i),string:new r}}},function(t,e,n){var r=n(219),i=n(220),a=n(221),o=n(222),s=n(223);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=i,c.prototype.get=a,c.prototype.has=o,c.prototype.set=s,t.exports=c},function(t,e,n){var r=n(56);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},function(t,e){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},function(t,e,n){var r=n(56),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0}},function(t,e,n){var r=n(56),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)}},function(t,e,n){var r=n(56);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this}},function(t,e,n){var r=n(57);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},function(t,e){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},function(t,e,n){var r=n(57);t.exports=function(t){return r(this,t).get(t)}},function(t,e,n){var r=n(57);t.exports=function(t){return r(this,t).has(t)}},function(t,e,n){var r=n(57);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},function(t,e,n){var r=n(46),i=n(30);t.exports=function(t,e){return t&&r(e,i(e),t)}},function(t,e){t.exports=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}},function(t,e,n){var r=n(34),i=n(21);t.exports=function(t){return i(t)&&"[object Arguments]"==r(t)}},function(t,e){t.exports=function(){return!1}},function(t,e,n){var r=n(34),i=n(80),a=n(21),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1,t.exports=function(t){return a(t)&&i(t.length)&&!!o[r(t)]}},function(t,e,n){var r=n(113)(Object.keys,Object);t.exports=r},function(t,e,n){var r=n(46),i=n(40);t.exports=function(t,e){return t&&r(e,i(e),t)}},function(t,e,n){var r=n(11),i=n(62),a=n(237),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return a(t);var e=i(t),n=[];for(var s in t)("constructor"!=s||!e&&o.call(t,s))&&n.push(s);return n}},function(t,e){t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},function(t,e,n){var r=n(46),i=n(83);t.exports=function(t,e){return r(t,i(t),e)}},function(t,e,n){var r=n(46),i=n(118);t.exports=function(t,e){return r(t,i(t),e)}},function(t,e,n){var r=n(120),i=n(118),a=n(40);t.exports=function(t){return r(t,a,i)}},function(t,e,n){var r=n(33)(n(16),"DataView");t.exports=r},function(t,e,n){var r=n(33)(n(16),"Promise");t.exports=r},function(t,e,n){var r=n(33)(n(16),"WeakMap");t.exports=r},function(t,e){var n=Object.prototype.hasOwnProperty;t.exports=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&n.call(t,"index")&&(r.index=t.index,r.input=t.input),r}},function(t,e,n){var r=n(85),i=n(246),a=n(247),o=n(248),s=n(123);t.exports=function(t,e,n){var c=t.constructor;switch(e){case"[object ArrayBuffer]":return r(t);case"[object Boolean]":case"[object Date]":return new c(+t);case"[object DataView]":return i(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(t,n);case"[object Map]":return new c;case"[object Number]":case"[object String]":return new c(t);case"[object RegExp]":return a(t);case"[object Set]":return new c;case"[object Symbol]":return o(t)}}},function(t,e,n){var r=n(85);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},function(t,e){var n=/\w*$/;t.exports=function(t){var e=new t.constructor(t.source,n.exec(t));return e.lastIndex=t.lastIndex,e}},function(t,e,n){var r=n(38),i=r?r.prototype:void 0,a=i?i.valueOf:void 0;t.exports=function(t){return a?Object(a.call(t)):{}}},function(t,e,n){var r=n(250),i=n(61),a=n(81),o=a&&a.isMap,s=o?i(o):r;t.exports=s},function(t,e,n){var r=n(41),i=n(21);t.exports=function(t){return i(t)&&"[object Map]"==r(t)}},function(t,e,n){var r=n(252),i=n(61),a=n(81),o=a&&a.isSet,s=o?i(o):r;t.exports=s},function(t,e,n){var r=n(41),i=n(21);t.exports=function(t){return i(t)&&"[object Set]"==r(t)}},function(t,e){t.exports=function(t){return function(e,n,r){for(var i=-1,a=Object(e),o=r(e),s=o.length;s--;){var c=o[t?s:++i];if(!1===n(a[c],c,a))break}return e}}},function(t,e,n){var r=n(24);t.exports=function(t,e){return function(n,i){if(null==n)return n;if(!r(n))return t(n,i);for(var a=n.length,o=e?a:-1,s=Object(n);(e?o--:++o<a)&&!1!==i(s[o],o,s););return n}}},function(t,e,n){var r=n(64);t.exports=function(t,e){var n=[];return r(t,(function(t,r,i){e(t,r,i)&&n.push(t)})),n}},function(t,e,n){var r=n(257),i=n(265),a=n(134);t.exports=function(t){var e=i(t);return 1==e.length&&e[0][2]?a(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},function(t,e,n){var r=n(53),i=n(129);t.exports=function(t,e,n,a){var o=n.length,s=o,c=!a;if(null==t)return!s;for(t=Object(t);o--;){var u=n[o];if(c&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++o<s;){var l=(u=n[o])[0],h=t[l],f=u[1];if(c&&u[2]){if(void 0===h&&!(l in t))return!1}else{var d=new r;if(a)var p=a(h,f,l,t,e,d);if(!(void 0===p?i(f,h,3,a,d):p))return!1}}return!0}},function(t,e,n){var r=n(53),i=n(130),a=n(262),o=n(264),s=n(41),c=n(5),u=n(39),l=n(48),h="[object Object]",f=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,d,p,g){var y=c(t),v=c(e),m=y?"[object Array]":s(t),b=v?"[object Array]":s(e),x=(m="[object Arguments]"==m?h:m)==h,_=(b="[object Arguments]"==b?h:b)==h,k=m==b;if(k&&u(t)){if(!u(e))return!1;y=!0,x=!1}if(k&&!x)return g||(g=new r),y||l(t)?i(t,e,n,d,p,g):a(t,e,m,n,d,p,g);if(!(1&n)){var w=x&&f.call(t,"__wrapped__"),E=_&&f.call(e,"__wrapped__");if(w||E){var T=w?t.value():t,C=E?e.value():e;return g||(g=new r),p(T,C,n,d,g)}}return!!k&&(g||(g=new r),o(t,e,n,d,p,g))}},function(t,e){t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e){t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}},function(t,e,n){var r=n(38),i=n(122),a=n(36),o=n(130),s=n(263),c=n(90),u=r?r.prototype:void 0,l=u?u.valueOf:void 0;t.exports=function(t,e,n,r,u,h,f){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!h(new i(t),new i(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return a(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var d=s;case"[object Set]":var p=1&r;if(d||(d=c),t.size!=e.size&&!p)return!1;var g=f.get(t);if(g)return g==e;r|=2,f.set(t,e);var y=o(d(t),d(e),r,u,h,f);return f.delete(t),y;case"[object Symbol]":if(l)return l.call(t)==l.call(e)}return!1}},function(t,e){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}},function(t,e,n){var r=n(119),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,a,o,s){var c=1&n,u=r(t),l=u.length;if(l!=r(e).length&&!c)return!1;for(var h=l;h--;){var f=u[h];if(!(c?f in e:i.call(e,f)))return!1}var d=s.get(t);if(d&&s.get(e))return d==e;var p=!0;s.set(t,e),s.set(e,t);for(var g=c;++h<l;){var y=t[f=u[h]],v=e[f];if(a)var m=c?a(v,y,f,e,t,s):a(y,v,f,t,e,s);if(!(void 0===m?y===v||o(y,v,n,a,s):m)){p=!1;break}g||(g="constructor"==f)}if(p&&!g){var b=t.constructor,x=e.constructor;b!=x&&"constructor"in t&&"constructor"in e&&!("function"==typeof b&&b instanceof b&&"function"==typeof x&&x instanceof x)&&(p=!1)}return s.delete(t),s.delete(e),p}},function(t,e,n){var r=n(133),i=n(30);t.exports=function(t){for(var e=i(t),n=e.length;n--;){var a=e[n],o=t[a];e[n]=[a,o,r(o)]}return e}},function(t,e,n){var r=n(129),i=n(267),a=n(136),o=n(92),s=n(133),c=n(134),u=n(49);t.exports=function(t,e){return o(t)&&s(e)?c(u(t),e):function(n){var o=i(n,t);return void 0===o&&o===e?a(n,t):r(e,o,3)}}},function(t,e,n){var r=n(91);t.exports=function(t,e,n){var i=null==t?void 0:r(t,e);return void 0===i?n:i}},function(t,e,n){var r=n(269),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,o=r((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(i,(function(t,n,r,i){e.push(r?i.replace(a,"$1"):n||t)})),e}));t.exports=o},function(t,e,n){var r=n(270);t.exports=function(t){var e=r(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},function(t,e,n){var r=n(78);function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=t.apply(this,r);return n.cache=a.set(i,o)||a,o};return n.cache=new(i.Cache||r),n}i.Cache=r,t.exports=i},function(t,e,n){var r=n(38),i=n(66),a=n(5),o=n(42),s=r?r.prototype:void 0,c=s?s.toString:void 0;t.exports=function t(e){if("string"==typeof e)return e;if(a(e))return i(e,t)+"";if(o(e))return c?c.call(e):"";var n=e+"";return"0"==n&&1/e==-1/0?"-0":n}},function(t,e){t.exports=function(t,e){return null!=t&&e in Object(t)}},function(t,e,n){var r=n(138),i=n(274),a=n(92),o=n(49);t.exports=function(t){return a(t)?r(o(t)):i(t)}},function(t,e,n){var r=n(91);t.exports=function(t){return function(e){return r(e,t)}}},function(t,e){var n=Object.prototype.hasOwnProperty;t.exports=function(t,e){return null!=t&&n.call(t,e)}},function(t,e,n){var r=n(82),i=n(41),a=n(47),o=n(5),s=n(24),c=n(39),u=n(62),l=n(48),h=Object.prototype.hasOwnProperty;t.exports=function(t){if(null==t)return!0;if(s(t)&&(o(t)||"string"==typeof t||"function"==typeof t.splice||c(t)||l(t)||a(t)))return!t.length;var e=i(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(u(t))return!r(t).length;for(var n in t)if(h.call(t,n))return!1;return!0}},function(t,e){t.exports=function(t,e,n,r){var i=-1,a=null==t?0:t.length;for(r&&a&&(n=t[++i]);++i<a;)n=e(n,t[i],i,t);return n}},function(t,e){t.exports=function(t,e,n,r,i){return i(t,(function(t,i,a){n=r?(r=!1,t):e(n,t,i,a)})),n}},function(t,e,n){var r=n(82),i=n(41),a=n(24),o=n(280),s=n(281);t.exports=function(t){if(null==t)return 0;if(a(t))return o(t)?s(t):t.length;var e=i(t);return"[object Map]"==e||"[object Set]"==e?t.size:r(t).length}},function(t,e,n){var r=n(34),i=n(5),a=n(21);t.exports=function(t){return"string"==typeof t||!i(t)&&a(t)&&"[object String]"==r(t)}},function(t,e,n){var r=n(282),i=n(283),a=n(284);t.exports=function(t){return i(t)?a(t):r(t)}},function(t,e,n){var r=n(138)("length");t.exports=r},function(t,e){var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(t){return n.test(t)}},function(t,e){var n="[\\ud800-\\udfff]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",a="[^\\ud800-\\udfff]",o="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+r+"|"+i+")"+"?",u="[\\ufe0e\\ufe0f]?"+c+("(?:\\u200d(?:"+[a,o,s].join("|")+")[\\ufe0e\\ufe0f]?"+c+")*"),l="(?:"+[a+r+"?",r,o,s,n].join("|")+")",h=RegExp(i+"(?="+i+")|"+l+u,"g");t.exports=function(t){for(var e=h.lastIndex=0;h.test(t);)++e;return e}},function(t,e,n){var r=n(79),i=n(125),a=n(88),o=n(25),s=n(63),c=n(5),u=n(39),l=n(37),h=n(11),f=n(48);t.exports=function(t,e,n){var d=c(t),p=d||u(t)||f(t);if(e=o(e,4),null==n){var g=t&&t.constructor;n=p?d?new g:[]:h(t)&&l(g)?i(s(t)):{}}return(p?r:a)(t,(function(t,r,i){return e(n,t,r,i)})),n}},function(t,e,n){var r=n(94),i=n(67),a=n(291),o=n(146),s=i((function(t){return a(r(t,1,o,!0))}));t.exports=s},function(t,e,n){var r=n(38),i=n(47),a=n(5),o=r?r.isConcatSpreadable:void 0;t.exports=function(t){return a(t)||i(t)||!!(o&&t&&t[o])}},function(t,e){t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},function(t,e,n){var r=n(86),i=n(111),a=n(35),o=i?function(t,e){return i(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:a;t.exports=o},function(t,e){var n=Date.now;t.exports=function(t){var e=0,r=0;return function(){var i=n(),a=16-(i-r);if(r=i,a>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var r=n(131),i=n(292),a=n(296),o=n(132),s=n(297),c=n(90);t.exports=function(t,e,n){var u=-1,l=i,h=t.length,f=!0,d=[],p=d;if(n)f=!1,l=a;else if(h>=200){var g=e?null:s(t);if(g)return c(g);f=!1,l=o,p=new r}else p=e?[]:d;t:for(;++u<h;){var y=t[u],v=e?e(y):y;if(y=n||0!==y?y:0,f&&v==v){for(var m=p.length;m--;)if(p[m]===v)continue t;e&&p.push(v),d.push(y)}else l(p,v,n)||(p!==d&&p.push(v),d.push(y))}return d}},function(t,e,n){var r=n(293);t.exports=function(t,e){return!!(null==t?0:t.length)&&r(t,e,0)>-1}},function(t,e,n){var r=n(145),i=n(294),a=n(295);t.exports=function(t,e,n){return e==e?a(t,e,n):r(t,i,n)}},function(t,e){t.exports=function(t){return t!=t}},function(t,e){t.exports=function(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}},function(t,e){t.exports=function(t,e,n){for(var r=-1,i=null==t?0:t.length;++r<i;)if(n(e,t[r]))return!0;return!1}},function(t,e,n){var r=n(121),i=n(298),a=n(90),o=r&&1/a(new r([,-0]))[1]==1/0?function(t){return new r(t)}:i;t.exports=o},function(t,e){t.exports=function(){}},function(t,e,n){var r=n(66);t.exports=function(t,e){return r(e,(function(e){return t[e]}))}},function(t,e){t.exports="2.1.8"},function(t,e,n){var r=n(10),i=n(76);function a(t){return r.map(t.nodes(),(function(e){var n=t.node(e),i=t.parent(e),a={v:e};return r.isUndefined(n)||(a.value=n),r.isUndefined(i)||(a.parent=i),a}))}function o(t){return r.map(t.edges(),(function(e){var n=t.edge(e),i={v:e.v,w:e.w};return r.isUndefined(e.name)||(i.name=e.name),r.isUndefined(n)||(i.value=n),i}))}t.exports={write:function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:a(t),edges:o(t)};r.isUndefined(t.graph())||(e.value=r.clone(t.graph()));return e},read:function(t){var e=new i(t.options).setGraph(t.value);return r.each(t.nodes,(function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)})),r.each(t.edges,(function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)})),e}}},function(t,e,n){t.exports={components:n(303),dijkstra:n(148),dijkstraAll:n(304),findCycles:n(305),floydWarshall:n(306),isAcyclic:n(307),postorder:n(308),preorder:n(309),prim:n(310),tarjan:n(150),topsort:n(151)}},function(t,e,n){var r=n(10);t.exports=function(t){var e,n={},i=[];function a(i){r.has(n,i)||(n[i]=!0,e.push(i),r.each(t.successors(i),a),r.each(t.predecessors(i),a))}return r.each(t.nodes(),(function(t){e=[],a(t),e.length&&i.push(e)})),i}},function(t,e,n){var r=n(148),i=n(10);t.exports=function(t,e,n){return i.transform(t.nodes(),(function(i,a){i[a]=r(t,a,e,n)}),{})}},function(t,e,n){var r=n(10),i=n(150);t.exports=function(t){return r.filter(i(t),(function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])}))}},function(t,e,n){var r=n(10);t.exports=function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach((function(t){r[t]={},r[t][t]={distance:0},i.forEach((function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})})),n(t).forEach((function(n){var i=n.v===t?n.w:n.v,a=e(n);r[t][i]={distance:a,predecessor:t}}))})),i.forEach((function(t){var e=r[t];i.forEach((function(n){var a=r[n];i.forEach((function(n){var r=a[t],i=e[n],o=a[n],s=r.distance+i.distance;s<o.distance&&(o.distance=s,o.predecessor=i.predecessor)}))}))})),r}(t,e||i,n||function(e){return t.outEdges(e)})};var i=r.constant(1)},function(t,e,n){var r=n(151);t.exports=function(t){try{r(t)}catch(t){if(t instanceof r.CycleException)return!1;throw t}return!0}},function(t,e,n){var r=n(152);t.exports=function(t,e){return r(t,e,"post")}},function(t,e,n){var r=n(152);t.exports=function(t,e){return r(t,e,"pre")}},function(t,e,n){var r=n(10),i=n(76),a=n(149);t.exports=function(t,e){var n,o=new i,s={},c=new a;function u(t){var r=t.v===n?t.w:t.v,i=c.priority(r);if(void 0!==i){var a=e(t);a<i&&(s[r]=n,c.decrease(r,a))}}if(0===t.nodeCount())return o;r.each(t.nodes(),(function(t){c.add(t,Number.POSITIVE_INFINITY),o.setNode(t)})),c.decrease(t.nodes()[0],0);var l=!1;for(;c.size()>0;){if(n=c.removeMin(),r.has(s,n))o.setEdge(n,s[n]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(n).forEach(u)}return o}},function(t,e,n){var r;try{r=n(3)}catch(t){}r||(r=window.graphlib),t.exports=r},function(t,e,n){"use strict";var r=n(4),i=n(345),a=n(348),o=n(349),s=n(8).normalizeRanks,c=n(351),u=n(8).removeEmptyRanks,l=n(352),h=n(353),f=n(354),d=n(355),p=n(364),g=n(8),y=n(17).Graph;t.exports=function(t,e){var n=e&&e.debugTiming?g.time:g.notime;n("layout",(function(){var e=n(" buildLayoutGraph",(function(){return function(t){var e=new y({multigraph:!0,compound:!0}),n=C(t.graph());return e.setGraph(r.merge({},m,T(n,v),r.pick(n,b))),r.forEach(t.nodes(),(function(n){var i=C(t.node(n));e.setNode(n,r.defaults(T(i,x),_)),e.setParent(n,t.parent(n))})),r.forEach(t.edges(),(function(n){var i=C(t.edge(n));e.setEdge(n,r.merge({},w,T(i,k),r.pick(i,E)))})),e}(t)}));n(" runLayout",(function(){!function(t,e){e(" makeSpaceForEdgeLabels",(function(){!function(t){var e=t.graph();e.ranksep/=2,r.forEach(t.edges(),(function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(t)})),e(" removeSelfEdges",(function(){!function(t){r.forEach(t.edges(),(function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}}))}(t)})),e(" acyclic",(function(){i.run(t)})),e(" nestingGraph.run",(function(){l.run(t)})),e(" rank",(function(){o(g.asNonCompoundGraph(t))})),e(" injectEdgeLabelProxies",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e:e};g.addDummyNode(t,"edge-proxy",i,"_ep")}}))}(t)})),e(" removeEmptyRanks",(function(){u(t)})),e(" nestingGraph.cleanup",(function(){l.cleanup(t)})),e(" normalizeRanks",(function(){s(t)})),e(" assignRankMinMax",(function(){!function(t){var e=0;r.forEach(t.nodes(),(function(n){var i=t.node(n);i.borderTop&&(i.minRank=t.node(i.borderTop).rank,i.maxRank=t.node(i.borderBottom).rank,e=r.max(e,i.maxRank))})),t.graph().maxRank=e}(t)})),e(" removeEdgeLabelProxies",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))}(t)})),e(" normalize.run",(function(){a.run(t)})),e(" parentDummyChains",(function(){c(t)})),e(" addBorderSegments",(function(){h(t)})),e(" order",(function(){d(t)})),e(" insertSelfEdges",(function(){!function(t){var e=g.buildLayerMatrix(t);r.forEach(e,(function(e){var n=0;r.forEach(e,(function(e,i){var a=t.node(e);a.order=i+n,r.forEach(a.selfEdges,(function(e){g.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:a.rank,order:i+ ++n,e:e.e,label:e.label},"_se")})),delete a.selfEdges}))}))}(t)})),e(" adjustCoordinateSystem",(function(){f.adjust(t)})),e(" position",(function(){p(t)})),e(" positionSelfEdges",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}}))}(t)})),e(" removeBorderNodes",(function(){!function(t){r.forEach(t.nodes(),(function(e){if(t.children(e).length){var n=t.node(e),i=t.node(n.borderTop),a=t.node(n.borderBottom),o=t.node(r.last(n.borderLeft)),s=t.node(r.last(n.borderRight));n.width=Math.abs(s.x-o.x),n.height=Math.abs(a.y-i.y),n.x=o.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}(t)})),e(" normalize.undo",(function(){a.undo(t)})),e(" fixupEdgeLabelCoords",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(t)})),e(" undoCoordinateSystem",(function(){f.undo(t)})),e(" translateGraph",(function(){!function(t){var e=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,a=0,o=t.graph(),s=o.marginx||0,c=o.marginy||0;function u(t){var r=t.x,o=t.y,s=t.width,c=t.height;e=Math.min(e,r-s/2),n=Math.max(n,r+s/2),i=Math.min(i,o-c/2),a=Math.max(a,o+c/2)}r.forEach(t.nodes(),(function(e){u(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.has(n,"x")&&u(n)})),e-=s,i-=c,r.forEach(t.nodes(),(function(n){var r=t.node(n);r.x-=e,r.y-=i})),r.forEach(t.edges(),(function(n){var a=t.edge(n);r.forEach(a.points,(function(t){t.x-=e,t.y-=i})),r.has(a,"x")&&(a.x-=e),r.has(a,"y")&&(a.y-=i)})),o.width=n-e+s,o.height=a-i+c}(t)})),e(" assignNodeIntersects",(function(){!function(t){r.forEach(t.edges(),(function(e){var n,r,i=t.edge(e),a=t.node(e.v),o=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=o,r=a),i.points.unshift(g.intersectRect(a,n)),i.points.push(g.intersectRect(o,r))}))}(t)})),e(" reversePoints",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);n.reversed&&n.points.reverse()}))}(t)})),e(" acyclic.undo",(function(){i.undo(t)}))}(e,n)})),n(" updateInputGraph",(function(){!function(t,e){r.forEach(t.nodes(),(function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(t.edges(),(function(n){var i=t.edge(n),a=e.edge(n);i.points=a.points,r.has(a,"x")&&(i.x=a.x,i.y=a.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)}))}))};var v=["nodesep","edgesep","ranksep","marginx","marginy"],m={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},b=["acyclicer","ranker","rankdir","align"],x=["width","height"],_={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],w={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function T(t,e){return r.mapValues(r.pick(t,e),Number)}function C(t){var e={};return r.forEach(t,(function(t,n){e[n.toLowerCase()]=t})),e}},function(t,e,n){var r=n(108);t.exports=function(t){return r(t,5)}},function(t,e,n){var r=n(315)(n(316));t.exports=r},function(t,e,n){var r=n(25),i=n(24),a=n(30);t.exports=function(t){return function(e,n,o){var s=Object(e);if(!i(e)){var c=r(n,3);e=a(e),n=function(t){return c(s[t],t,s)}}var u=t(e,n,o);return u>-1?s[c?e[u]:u]:void 0}}},function(t,e,n){var r=n(145),i=n(25),a=n(317),o=Math.max;t.exports=function(t,e,n){var s=null==t?0:t.length;if(!s)return-1;var c=null==n?0:a(n);return c<0&&(c=o(s+c,0)),r(t,i(e,3),c)}},function(t,e,n){var r=n(155);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},function(t,e,n){var r=n(11),i=n(42),a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(i(t))return NaN;if(r(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=r(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(a,"");var n=s.test(t);return n||c.test(t)?u(t.slice(2),n?2:8):o.test(t)?NaN:+t}},function(t,e,n){var r=n(89),i=n(127),a=n(40);t.exports=function(t,e){return null==t?t:r(t,i(e),a)}},function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},function(t,e,n){var r=n(59),i=n(88),a=n(25);t.exports=function(t,e){var n={};return e=a(e,3),i(t,(function(t,i,a){r(n,i,e(t,i,a))})),n}},function(t,e,n){var r=n(95),i=n(323),a=n(35);t.exports=function(t){return t&&t.length?r(t,a,i):void 0}},function(t,e){t.exports=function(t,e){return t>e}},function(t,e,n){var r=n(325),i=n(328)((function(t,e,n){r(t,e,n)}));t.exports=i},function(t,e,n){var r=n(53),i=n(157),a=n(89),o=n(326),s=n(11),c=n(40),u=n(159);t.exports=function t(e,n,l,h,f){e!==n&&a(n,(function(a,c){if(f||(f=new r),s(a))o(e,n,c,l,t,h,f);else{var d=h?h(u(e,c),a,c+"",e,n,f):void 0;void 0===d&&(d=a),i(e,c,d)}}),c)}},function(t,e,n){var r=n(157),i=n(114),a=n(123),o=n(115),s=n(124),c=n(47),u=n(5),l=n(146),h=n(39),f=n(37),d=n(11),p=n(158),g=n(48),y=n(159),v=n(327);t.exports=function(t,e,n,m,b,x,_){var k=y(t,n),w=y(e,n),E=_.get(w);if(E)r(t,n,E);else{var T=x?x(k,w,n+"",t,e,_):void 0,C=void 0===T;if(C){var A=u(w),S=!A&&h(w),M=!A&&!S&&g(w);T=w,A||S||M?u(k)?T=k:l(k)?T=o(k):S?(C=!1,T=i(w,!0)):M?(C=!1,T=a(w,!0)):T=[]:p(w)||c(w)?(T=k,c(k)?T=v(k):d(k)&&!f(k)||(T=s(w))):C=!1}C&&(_.set(w,T),b(T,w,m,x,_),_.delete(w)),r(t,n,T)}}},function(t,e,n){var r=n(46),i=n(40);t.exports=function(t){return r(t,i(t))}},function(t,e,n){var r=n(67),i=n(68);t.exports=function(t){return r((function(e,n){var r=-1,a=n.length,o=a>1?n[a-1]:void 0,s=a>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(a--,o):void 0,s&&i(n[0],n[1],s)&&(o=a<3?void 0:o,a=1),e=Object(e);++r<a;){var c=n[r];c&&t(e,c,r,o)}return e}))}},function(t,e,n){var r=n(95),i=n(160),a=n(35);t.exports=function(t){return t&&t.length?r(t,a,i):void 0}},function(t,e,n){var r=n(95),i=n(25),a=n(160);t.exports=function(t,e){return t&&t.length?r(t,i(e,2),a):void 0}},function(t,e,n){var r=n(16);t.exports=function(){return r.Date.now()}},function(t,e,n){var r=n(333),i=n(136);t.exports=function(t,e){return r(t,e,(function(e,n){return i(t,n)}))}},function(t,e,n){var r=n(91),i=n(334),a=n(65);t.exports=function(t,e,n){for(var o=-1,s=e.length,c={};++o<s;){var u=e[o],l=r(t,u);n(l,u)&&i(c,a(u,t),l)}return c}},function(t,e,n){var r=n(58),i=n(65),a=n(60),o=n(11),s=n(49);t.exports=function(t,e,n,c){if(!o(t))return t;for(var u=-1,l=(e=i(e,t)).length,h=l-1,f=t;null!=f&&++u<l;){var d=s(e[u]),p=n;if(u!=h){var g=f[d];void 0===(p=c?c(g,d,f):void 0)&&(p=o(g)?g:a(e[u+1])?[]:{})}r(f,d,p),f=f[d]}return t}},function(t,e,n){var r=n(156),i=n(143),a=n(144);t.exports=function(t){return a(i(t,void 0,r),t+"")}},function(t,e,n){var r=n(337),i=n(68),a=n(155);t.exports=function(t){return function(e,n,o){return o&&"number"!=typeof o&&i(e,n,o)&&(n=o=void 0),e=a(e),void 0===n?(n=e,e=0):n=a(n),o=void 0===o?e<n?1:-1:a(o),r(e,n,o,t)}}},function(t,e){var n=Math.ceil,r=Math.max;t.exports=function(t,e,i,a){for(var o=-1,s=r(n((e-t)/(i||1)),0),c=Array(s);s--;)c[a?s:++o]=t,t+=i;return c}},function(t,e,n){var r=n(94),i=n(339),a=n(67),o=n(68),s=a((function(t,e){if(null==t)return[];var n=e.length;return n>1&&o(t,e[0],e[1])?e=[]:n>2&&o(e[0],e[1],e[2])&&(e=[e[0]]),i(t,r(e,1),[])}));t.exports=s},function(t,e,n){var r=n(66),i=n(25),a=n(141),o=n(340),s=n(61),c=n(341),u=n(35);t.exports=function(t,e,n){var l=-1;e=r(e.length?e:[u],s(i));var h=a(t,(function(t,n,i){return{criteria:r(e,(function(e){return e(t)})),index:++l,value:t}}));return o(h,(function(t,e){return c(t,e,n)}))}},function(t,e){t.exports=function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}},function(t,e,n){var r=n(342);t.exports=function(t,e,n){for(var i=-1,a=t.criteria,o=e.criteria,s=a.length,c=n.length;++i<s;){var u=r(a[i],o[i]);if(u)return i>=c?u:u*("desc"==n[i]?-1:1)}return t.index-e.index}},function(t,e,n){var r=n(42);t.exports=function(t,e){if(t!==e){var n=void 0!==t,i=null===t,a=t==t,o=r(t),s=void 0!==e,c=null===e,u=e==e,l=r(e);if(!c&&!l&&!o&&t>e||o&&s&&u&&!c&&!l||i&&s&&u||!n&&u||!a)return 1;if(!i&&!o&&!l&&t<e||l&&n&&a&&!i&&!o||c&&n&&a||!s&&a||!u)return-1}return 0}},function(t,e,n){var r=n(58),i=n(344);t.exports=function(t,e){return i(t||[],e||[],r)}},function(t,e){t.exports=function(t,e,n){for(var r=-1,i=t.length,a=e.length,o={};++r<i;){var s=r<a?e[r]:void 0;n(o,t[r],s)}return o}},function(t,e,n){"use strict";var r=n(4),i=n(346);t.exports={run:function(t){var e="greedy"===t.graph().acyclicer?i(t,function(t){return function(e){return t.edge(e).weight}}(t)):function(t){var e=[],n={},i={};function a(o){r.has(i,o)||(i[o]=!0,n[o]=!0,r.forEach(t.outEdges(o),(function(t){r.has(n,t.w)?e.push(t):a(t.w)})),delete n[o])}return r.forEach(t.nodes(),a),e}(t);r.forEach(e,(function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,r.uniqueId("rev"))}))},undo:function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.reversed){t.removeEdge(e);var r=n.forwardName;delete n.reversed,delete n.forwardName,t.setEdge(e.w,e.v,n,r)}}))}}},function(t,e,n){var r=n(4),i=n(17).Graph,a=n(347);t.exports=function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new i,o=0,s=0;r.forEach(t.nodes(),(function(t){n.setNode(t,{v:t,in:0,out:0})})),r.forEach(t.edges(),(function(t){var r=n.edge(t.v,t.w)||0,i=e(t),a=r+i;n.setEdge(t.v,t.w,a),s=Math.max(s,n.node(t.v).out+=i),o=Math.max(o,n.node(t.w).in+=i)}));var u=r.range(s+o+3).map((function(){return new a})),l=o+1;return r.forEach(n.nodes(),(function(t){c(u,l,n.node(t))})),{graph:n,buckets:u,zeroIdx:l}}(t,e||o),u=function(t,e,n){var r,i=[],a=e[e.length-1],o=e[0];for(;t.nodeCount();){for(;r=o.dequeue();)s(t,e,n,r);for(;r=a.dequeue();)s(t,e,n,r);if(t.nodeCount())for(var c=e.length-2;c>0;--c)if(r=e[c].dequeue()){i=i.concat(s(t,e,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(u,(function(e){return t.outEdges(e.v,e.w)})),!0)};var o=r.constant(1);function s(t,e,n,i,a){var o=a?[]:void 0;return r.forEach(t.inEdges(i.v),(function(r){var i=t.edge(r),s=t.node(r.v);a&&o.push({v:r.v,w:r.w}),s.out-=i,c(e,n,s)})),r.forEach(t.outEdges(i.v),(function(r){var i=t.edge(r),a=r.w,o=t.node(a);o.in-=i,c(e,n,o)})),t.removeNode(i.v),o}function c(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}},function(t,e){function n(){var t={};t._next=t._prev=t,this._sentinel=t}function r(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function i(t,e){if("_next"!==t&&"_prev"!==t)return e}t.exports=n,n.prototype.dequeue=function(){var t=this._sentinel,e=t._prev;if(e!==t)return r(e),e},n.prototype.enqueue=function(t){var e=this._sentinel;t._prev&&t._next&&r(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e},n.prototype.toString=function(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,i)),n=n._prev;return"["+t.join(", ")+"]"}},function(t,e,n){"use strict";var r=n(4),i=n(8);t.exports={run:function(t){t.graph().dummyChains=[],r.forEach(t.edges(),(function(e){!function(t,e){var n,r,a,o=e.v,s=t.node(o).rank,c=e.w,u=t.node(c).rank,l=e.name,h=t.edge(e),f=h.labelRank;if(u===s+1)return;for(t.removeEdge(e),a=0,++s;s<u;++a,++s)h.points=[],r={width:0,height:0,edgeLabel:h,edgeObj:e,rank:s},n=i.addDummyNode(t,"edge",r,"_d"),s===f&&(r.width=h.width,r.height=h.height,r.dummy="edge-label",r.labelpos=h.labelpos),t.setEdge(o,n,{weight:h.weight},l),0===a&&t.graph().dummyChains.push(n),o=n;t.setEdge(o,c,{weight:h.weight},l)}(t,e)}))},undo:function(t){r.forEach(t.graph().dummyChains,(function(e){var n,r=t.node(e),i=r.edgeLabel;for(t.setEdge(r.edgeObj,i);r.dummy;)n=t.successors(e)[0],t.removeNode(e),i.points.push({x:r.x,y:r.y}),"edge-label"===r.dummy&&(i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height),e=n,r=t.node(e)}))}}},function(t,e,n){"use strict";var r=n(69).longestPath,i=n(164),a=n(350);t.exports=function(t){switch(t.graph().ranker){case"network-simplex":s(t);break;case"tight-tree":!function(t){r(t),i(t)}(t);break;case"longest-path":o(t);break;default:s(t)}};var o=r;function s(t){a(t)}},function(t,e,n){"use strict";var r=n(4),i=n(164),a=n(69).slack,o=n(69).longestPath,s=n(17).alg.preorder,c=n(17).alg.postorder,u=n(8).simplify;function l(t){t=u(t),o(t);var e,n=i(t);for(d(n),h(n,t);e=g(n);)v(n,t,e,y(n,t,e))}function h(t,e){var n=c(t,t.nodes());n=n.slice(0,n.length-1),r.forEach(n,(function(n){!function(t,e,n){var r=t.node(n).parent;t.edge(n,r).cutvalue=f(t,e,n)}(t,e,n)}))}function f(t,e,n){var i=t.node(n).parent,a=!0,o=e.edge(n,i),s=0;return o||(a=!1,o=e.edge(i,n)),s=o.weight,r.forEach(e.nodeEdges(n),(function(r){var o,c,u=r.v===n,l=u?r.w:r.v;if(l!==i){var h=u===a,f=e.edge(r).weight;if(s+=h?f:-f,o=n,c=l,t.hasEdge(o,c)){var d=t.edge(n,l).cutvalue;s+=h?-d:d}}})),s}function d(t,e){arguments.length<2&&(e=t.nodes()[0]),p(t,{},1,e)}function p(t,e,n,i,a){var o=n,s=t.node(i);return e[i]=!0,r.forEach(t.neighbors(i),(function(a){r.has(e,a)||(n=p(t,e,n,a,i))})),s.low=o,s.lim=n++,a?s.parent=a:delete s.parent,n}function g(t){return r.find(t.edges(),(function(e){return t.edge(e).cutvalue<0}))}function y(t,e,n){var i=n.v,o=n.w;e.hasEdge(i,o)||(i=n.w,o=n.v);var s=t.node(i),c=t.node(o),u=s,l=!1;s.lim>c.lim&&(u=c,l=!0);var h=r.filter(e.edges(),(function(e){return l===m(t,t.node(e.v),u)&&l!==m(t,t.node(e.w),u)}));return r.minBy(h,(function(t){return a(e,t)}))}function v(t,e,n,i){var a=n.v,o=n.w;t.removeEdge(a,o),t.setEdge(i.v,i.w,{}),d(t),h(t,e),function(t,e){var n=r.find(t.nodes(),(function(t){return!e.node(t).parent})),i=s(t,n);i=i.slice(1),r.forEach(i,(function(n){var r=t.node(n).parent,i=e.edge(n,r),a=!1;i||(i=e.edge(r,n),a=!0),e.node(n).rank=e.node(r).rank+(a?i.minlen:-i.minlen)}))}(t,e)}function m(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}t.exports=l,l.initLowLimValues=d,l.initCutValues=h,l.calcCutValue=f,l.leaveEdge=g,l.enterEdge=y,l.exchangeEdges=v},function(t,e,n){var r=n(4);t.exports=function(t){var e=function(t){var e={},n=0;function i(a){var o=n;r.forEach(t.children(a),i),e[a]={low:o,lim:n++}}return r.forEach(t.children(),i),e}(t);r.forEach(t.graph().dummyChains,(function(n){for(var r=t.node(n),i=r.edgeObj,a=function(t,e,n,r){var i,a,o=[],s=[],c=Math.min(e[n].low,e[r].low),u=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),o.push(i)}while(i&&(e[i].low>c||u>e[i].lim));a=i,i=r;for(;(i=t.parent(i))!==a;)s.push(i);return{path:o.concat(s.reverse()),lca:a}}(t,e,i.v,i.w),o=a.path,s=a.lca,c=0,u=o[c],l=!0;n!==i.w;){if(r=t.node(n),l){for(;(u=o[c])!==s&&t.node(u).maxRank<r.rank;)c++;u===s&&(l=!1)}if(!l){for(;c<o.length-1&&t.node(u=o[c+1]).minRank<=r.rank;)c++;u=o[c]}t.setParent(n,u),n=t.successors(n)[0]}}))}},function(t,e,n){var r=n(4),i=n(8);t.exports={run:function(t){var e=i.addDummyNode(t,"root",{},"_root"),n=function(t){var e={};return r.forEach(t.children(),(function(n){!function n(i,a){var o=t.children(i);o&&o.length&&r.forEach(o,(function(t){n(t,a+1)}));e[i]=a}(n,1)})),e}(t),a=r.max(r.values(n))-1,o=2*a+1;t.graph().nestingRoot=e,r.forEach(t.edges(),(function(e){t.edge(e).minlen*=o}));var s=function(t){return r.reduce(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}(t)+1;r.forEach(t.children(),(function(c){!function t(e,n,a,o,s,c,u){var l=e.children(u);if(!l.length)return void(u!==n&&e.setEdge(n,u,{weight:0,minlen:a}));var h=i.addBorderNode(e,"_bt"),f=i.addBorderNode(e,"_bb"),d=e.node(u);e.setParent(h,u),d.borderTop=h,e.setParent(f,u),d.borderBottom=f,r.forEach(l,(function(r){t(e,n,a,o,s,c,r);var i=e.node(r),l=i.borderTop?i.borderTop:r,d=i.borderBottom?i.borderBottom:r,p=i.borderTop?o:2*o,g=l!==d?1:s-c[u]+1;e.setEdge(h,l,{weight:p,minlen:g,nestingEdge:!0}),e.setEdge(d,f,{weight:p,minlen:g,nestingEdge:!0})})),e.parent(u)||e.setEdge(n,h,{weight:0,minlen:s+c[u]})}(t,e,o,s,a,n,c)})),t.graph().nodeRankFactor=o},cleanup:function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,r.forEach(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e)}))}}},function(t,e,n){var r=n(4),i=n(8);function a(t,e,n,r,a,o){var s={width:0,height:0,rank:o,borderType:e},c=a[e][o-1],u=i.addDummyNode(t,"border",s,n);a[e][o]=u,t.setParent(u,r),c&&t.setEdge(c,u,{weight:1})}t.exports=function(t){r.forEach(t.children(),(function e(n){var i=t.children(n),o=t.node(n);if(i.length&&r.forEach(i,e),r.has(o,"minRank")){o.borderLeft=[],o.borderRight=[];for(var s=o.minRank,c=o.maxRank+1;s<c;++s)a(t,"borderLeft","_bl",n,o,s),a(t,"borderRight","_br",n,o,s)}}))}},function(t,e,n){"use strict";var r=n(4);function i(t){r.forEach(t.nodes(),(function(e){a(t.node(e))})),r.forEach(t.edges(),(function(e){a(t.edge(e))}))}function a(t){var e=t.width;t.width=t.height,t.height=e}function o(t){t.y=-t.y}function s(t){var e=t.x;t.x=t.y,t.y=e}t.exports={adjust:function(t){var e=t.graph().rankdir.toLowerCase();"lr"!==e&&"rl"!==e||i(t)},undo:function(t){var e=t.graph().rankdir.toLowerCase();"bt"!==e&&"rl"!==e||function(t){r.forEach(t.nodes(),(function(e){o(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,o),r.has(n,"y")&&o(n)}))}(t);"lr"!==e&&"rl"!==e||(!function(t){r.forEach(t.nodes(),(function(e){s(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.forEach(n.points,s),r.has(n,"x")&&s(n)}))}(t),i(t))}}},function(t,e,n){"use strict";var r=n(4),i=n(356),a=n(357),o=n(358),s=n(362),c=n(363),u=n(17).Graph,l=n(8);function h(t,e,n){return r.map(e,(function(e){return s(t,e,n)}))}function f(t,e){var n=new u;r.forEach(t,(function(t){var i=t.graph().root,a=o(t,i,n,e);r.forEach(a.vs,(function(e,n){t.node(e).order=n})),c(t,n,a.vs)}))}function d(t,e){r.forEach(e,(function(e){r.forEach(e,(function(e,n){t.node(e).order=n}))}))}t.exports=function(t){var e=l.maxRank(t),n=h(t,r.range(1,e+1),"inEdges"),o=h(t,r.range(e-1,-1,-1),"outEdges"),s=i(t);d(t,s);for(var c,u=Number.POSITIVE_INFINITY,p=0,g=0;g<4;++p,++g){f(p%2?n:o,p%4>=2),s=l.buildLayerMatrix(t);var y=a(t,s);y<u&&(g=0,c=r.cloneDeep(s),u=y)}d(t,c)}},function(t,e,n){"use strict";var r=n(4);t.exports=function(t){var e={},n=r.filter(t.nodes(),(function(e){return!t.children(e).length})),i=r.max(r.map(n,(function(e){return t.node(e).rank}))),a=r.map(r.range(i+1),(function(){return[]}));var o=r.sortBy(n,(function(e){return t.node(e).rank}));return r.forEach(o,(function n(i){if(r.has(e,i))return;e[i]=!0;var o=t.node(i);a[o.rank].push(i),r.forEach(t.successors(i),n)})),a}},function(t,e,n){"use strict";var r=n(4);function i(t,e,n){for(var i=r.zipObject(n,r.map(n,(function(t,e){return e}))),a=r.flatten(r.map(e,(function(e){return r.sortBy(r.map(t.outEdges(e),(function(e){return{pos:i[e.w],weight:t.edge(e).weight}})),"pos")})),!0),o=1;o<n.length;)o<<=1;var s=2*o-1;o-=1;var c=r.map(new Array(s),(function(){return 0})),u=0;return r.forEach(a.forEach((function(t){var e=t.pos+o;c[e]+=t.weight;for(var n=0;e>0;)e%2&&(n+=c[e+1]),c[e=e-1>>1]+=t.weight;u+=t.weight*n}))),u}t.exports=function(t,e){for(var n=0,r=1;r<e.length;++r)n+=i(t,e[r-1],e[r]);return n}},function(t,e,n){var r=n(4),i=n(359),a=n(360),o=n(361);t.exports=function t(e,n,s,c){var u=e.children(n),l=e.node(n),h=l?l.borderLeft:void 0,f=l?l.borderRight:void 0,d={};h&&(u=r.filter(u,(function(t){return t!==h&&t!==f})));var p=i(e,u);r.forEach(p,(function(n){if(e.children(n.v).length){var i=t(e,n.v,s,c);d[n.v]=i,r.has(i,"barycenter")&&(a=n,o=i,r.isUndefined(a.barycenter)?(a.barycenter=o.barycenter,a.weight=o.weight):(a.barycenter=(a.barycenter*a.weight+o.barycenter*o.weight)/(a.weight+o.weight),a.weight+=o.weight))}var a,o}));var g=a(p,s);!function(t,e){r.forEach(t,(function(t){t.vs=r.flatten(t.vs.map((function(t){return e[t]?e[t].vs:t})),!0)}))}(g,d);var y=o(g,c);if(h&&(y.vs=r.flatten([h,y.vs,f],!0),e.predecessors(h).length)){var v=e.node(e.predecessors(h)[0]),m=e.node(e.predecessors(f)[0]);r.has(y,"barycenter")||(y.barycenter=0,y.weight=0),y.barycenter=(y.barycenter*y.weight+v.order+m.order)/(y.weight+2),y.weight+=2}return y}},function(t,e,n){var r=n(4);t.exports=function(t,e){return r.map(e,(function(e){var n=t.inEdges(e);if(n.length){var i=r.reduce(n,(function(e,n){var r=t.edge(n),i=t.node(n.v);return{sum:e.sum+r.weight*i.order,weight:e.weight+r.weight}}),{sum:0,weight:0});return{v:e,barycenter:i.sum/i.weight,weight:i.weight}}return{v:e}}))}},function(t,e,n){"use strict";var r=n(4);t.exports=function(t,e){var n={};return r.forEach(t,(function(t,e){var i=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};r.isUndefined(t.barycenter)||(i.barycenter=t.barycenter,i.weight=t.weight)})),r.forEach(e.edges(),(function(t){var e=n[t.v],i=n[t.w];r.isUndefined(e)||r.isUndefined(i)||(i.indegree++,e.out.push(n[t.w]))})),function(t){var e=[];function n(t){return function(e){e.merged||(r.isUndefined(e.barycenter)||r.isUndefined(t.barycenter)||e.barycenter>=t.barycenter)&&function(t,e){var n=0,r=0;t.weight&&(n+=t.barycenter*t.weight,r+=t.weight);e.weight&&(n+=e.barycenter*e.weight,r+=e.weight);t.vs=e.vs.concat(t.vs),t.barycenter=n/r,t.weight=r,t.i=Math.min(e.i,t.i),e.merged=!0}(t,e)}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var a=t.pop();e.push(a),r.forEach(a.in.reverse(),n(a)),r.forEach(a.out,i(a))}return r.map(r.filter(e,(function(t){return!t.merged})),(function(t){return r.pick(t,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(t){return!t.indegree})))}},function(t,e,n){var r=n(4),i=n(8);function a(t,e,n){for(var i;e.length&&(i=r.last(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}t.exports=function(t,e){var n=i.partition(t,(function(t){return r.has(t,"barycenter")})),o=n.lhs,s=r.sortBy(n.rhs,(function(t){return-t.i})),c=[],u=0,l=0,h=0;o.sort((f=!!e,function(t,e){return t.barycenter<e.barycenter?-1:t.barycenter>e.barycenter?1:f?e.i-t.i:t.i-e.i})),h=a(c,s,h),r.forEach(o,(function(t){h+=t.vs.length,c.push(t.vs),u+=t.barycenter*t.weight,l+=t.weight,h=a(c,s,h)}));var f;var d={vs:r.flatten(c,!0)};l&&(d.barycenter=u/l,d.weight=l);return d}},function(t,e,n){var r=n(4),i=n(17).Graph;t.exports=function(t,e,n){var a=function(t){var e;for(;t.hasNode(e=r.uniqueId("_root")););return e}(t),o=new i({compound:!0}).setGraph({root:a}).setDefaultNodeLabel((function(e){return t.node(e)}));return r.forEach(t.nodes(),(function(i){var s=t.node(i),c=t.parent(i);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(o.setNode(i),o.setParent(i,c||a),r.forEach(t[n](i),(function(e){var n=e.v===i?e.w:e.v,a=o.edge(n,i),s=r.isUndefined(a)?0:a.weight;o.setEdge(n,i,{weight:t.edge(e).weight+s})})),r.has(s,"minRank")&&o.setNode(i,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))})),o}},function(t,e,n){var r=n(4);t.exports=function(t,e,n){var i,a={};r.forEach(n,(function(n){for(var r,o,s=t.parent(n);s;){if((r=t.parent(s))?(o=a[r],a[r]=s):(o=i,i=s),o&&o!==s)return void e.setEdge(o,s);s=r}}))}},function(t,e,n){"use strict";var r=n(4),i=n(8),a=n(365).positionX;t.exports=function(t){(function(t){var e=i.buildLayerMatrix(t),n=t.graph().ranksep,a=0;r.forEach(e,(function(e){var i=r.max(r.map(e,(function(e){return t.node(e).height})));r.forEach(e,(function(e){t.node(e).y=a+i/2})),a+=i+n}))})(t=i.asNonCompoundGraph(t)),r.forEach(a(t),(function(e,n){t.node(n).x=e}))}},function(t,e,n){"use strict";var r=n(4),i=n(17).Graph,a=n(8);function o(t,e){var n={};return r.reduce(e,(function(e,i){var a=0,o=0,s=e.length,u=r.last(i);return r.forEach(i,(function(e,l){var h=function(t,e){if(t.node(e).dummy)return r.find(t.predecessors(e),(function(e){return t.node(e).dummy}))}(t,e),f=h?t.node(h).order:s;(h||e===u)&&(r.forEach(i.slice(o,l+1),(function(e){r.forEach(t.predecessors(e),(function(r){var i=t.node(r),o=i.order;!(o<a||f<o)||i.dummy&&t.node(e).dummy||c(n,r,e)}))})),o=l+1,a=f)})),i})),n}function s(t,e){var n={};function i(e,i,a,o,s){var u;r.forEach(r.range(i,a),(function(i){u=e[i],t.node(u).dummy&&r.forEach(t.predecessors(u),(function(e){var r=t.node(e);r.dummy&&(r.order<o||r.order>s)&&c(n,e,u)}))}))}return r.reduce(e,(function(e,n){var a,o=-1,s=0;return r.forEach(n,(function(r,c){if("border"===t.node(r).dummy){var u=t.predecessors(r);u.length&&(a=t.node(u[0]).order,i(n,s,c,o,a),s=c,o=a)}i(n,s,n.length,a,e.length)})),n})),n}function c(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function u(t,e,n){if(e>n){var i=e;e=n,n=i}return r.has(t[e],n)}function l(t,e,n,i){var a={},o={},s={};return r.forEach(e,(function(t){r.forEach(t,(function(t,e){a[t]=t,o[t]=t,s[t]=e}))})),r.forEach(e,(function(t){var e=-1;r.forEach(t,(function(t){var c=i(t);if(c.length)for(var l=((c=r.sortBy(c,(function(t){return s[t]}))).length-1)/2,h=Math.floor(l),f=Math.ceil(l);h<=f;++h){var d=c[h];o[t]===t&&e<s[d]&&!u(n,t,d)&&(o[d]=t,o[t]=a[t]=a[d],e=s[d])}}))})),{root:a,align:o}}function h(t,e,n,a,o){var s={},c=function(t,e,n,a){var o=new i,s=t.graph(),c=function(t,e,n){return function(i,a,o){var s,c=i.node(a),u=i.node(o),l=0;if(l+=c.width/2,r.has(c,"labelpos"))switch(c.labelpos.toLowerCase()){case"l":s=-c.width/2;break;case"r":s=c.width/2}if(s&&(l+=n?s:-s),s=0,l+=(c.dummy?e:t)/2,l+=(u.dummy?e:t)/2,l+=u.width/2,r.has(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":s=u.width/2;break;case"r":s=-u.width/2}return s&&(l+=n?s:-s),s=0,l}}(s.nodesep,s.edgesep,a);return r.forEach(e,(function(e){var i;r.forEach(e,(function(e){var r=n[e];if(o.setNode(r),i){var a=n[i],s=o.edge(a,r);o.setEdge(a,r,Math.max(c(t,e,i),s||0))}i=e}))})),o}(t,e,n,o),u=o?"borderLeft":"borderRight";function l(t,e){for(var n=c.nodes(),r=n.pop(),i={};r;)i[r]?t(r):(i[r]=!0,n.push(r),n=n.concat(e(r))),r=n.pop()}return l((function(t){s[t]=c.inEdges(t).reduce((function(t,e){return Math.max(t,s[e.v]+c.edge(e))}),0)}),c.predecessors.bind(c)),l((function(e){var n=c.outEdges(e).reduce((function(t,e){return Math.min(t,s[e.w]-c.edge(e))}),Number.POSITIVE_INFINITY),r=t.node(e);n!==Number.POSITIVE_INFINITY&&r.borderType!==u&&(s[e]=Math.max(s[e],n))}),c.successors.bind(c)),r.forEach(a,(function(t){s[t]=s[n[t]]})),s}function f(t,e){return r.minBy(r.values(e),(function(e){var n=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;return r.forIn(e,(function(e,r){var a=function(t,e){return t.node(e).width}(t,r)/2;n=Math.max(e+a,n),i=Math.min(e-a,i)})),n-i}))}function d(t,e){var n=r.values(e),i=r.min(n),a=r.max(n);r.forEach(["u","d"],(function(n){r.forEach(["l","r"],(function(o){var s,c=n+o,u=t[c];if(u!==e){var l=r.values(u);(s="l"===o?i-r.min(l):a-r.max(l))&&(t[c]=r.mapValues(u,(function(t){return t+s})))}}))}))}function p(t,e){return r.mapValues(t.ul,(function(n,i){if(e)return t[e.toLowerCase()][i];var a=r.sortBy(r.map(t,i));return(a[1]+a[2])/2}))}t.exports={positionX:function(t){var e,n=a.buildLayerMatrix(t),i=r.merge(o(t,n),s(t,n)),c={};r.forEach(["u","d"],(function(a){e="u"===a?n:r.values(n).reverse(),r.forEach(["l","r"],(function(n){"r"===n&&(e=r.map(e,(function(t){return r.values(t).reverse()})));var o=("u"===a?t.predecessors:t.successors).bind(t),s=l(t,e,i,o),u=h(t,e,s.root,s.align,"r"===n);"r"===n&&(u=r.mapValues(u,(function(t){return-t}))),c[a+n]=u}))}));var u=f(t,c);return d(c,u),p(c,t.graph().align)},findType1Conflicts:o,findType2Conflicts:s,addConflict:c,hasConflict:u,verticalAlignment:l,horizontalCompaction:h,alignCoordinates:d,findSmallestWidthAlignment:f,balance:p}},function(t,e,n){var r=n(4),i=n(8),a=n(17).Graph;t.exports={debugOrdering:function(t){var e=i.buildLayerMatrix(t),n=new a({compound:!0,multigraph:!0}).setGraph({});return r.forEach(t.nodes(),(function(e){n.setNode(e,{label:e}),n.setParent(e,"layer"+t.node(e).rank)})),r.forEach(t.edges(),(function(t){n.setEdge(t.v,t.w,{},t.name)})),r.forEach(e,(function(t,e){var i="layer"+e;n.setNode(i,{rank:"same"}),r.reduce(t,(function(t,e){return n.setEdge(t,e,{style:"invis"}),e}))})),n}}},function(t,e){t.exports="0.8.5"},function(t,e,n){t.exports={node:n(165),circle:n(166),ellipse:n(96),polygon:n(167),rect:n(168)}},function(t,e){function n(t,e){return t*e>0}t.exports=function(t,e,r,i){var a,o,s,c,u,l,h,f,d,p,g,y,v;if(a=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,d=a*r.x+s*r.y+u,p=a*i.x+s*i.y+u,0!==d&&0!==p&&n(d,p))return;if(o=i.y-r.y,c=r.x-i.x,l=i.x*r.y-r.x*i.y,h=o*t.x+c*t.y+l,f=o*e.x+c*e.y+l,0!==h&&0!==f&&n(h,f))return;if(0===(g=a*c-o*s))return;return y=Math.abs(g/2),{x:(v=s*l-c*u)<0?(v-y)/g:(v+y)/g,y:(v=o*u-a*l)<0?(v-y)/g:(v+y)/g}}},function(t,e,n){var r=n(43),i=n(31),a=n(153).layout;t.exports=function(){var t=n(371),e=n(374),i=n(375),u=n(376),l=n(377),h=n(378),f=n(379),d=n(380),p=n(381),g=function(n,g){!function(t){t.nodes().forEach((function(e){var n=t.node(e);r.has(n,"label")||t.children(e).length||(n.label=e),r.has(n,"paddingX")&&r.defaults(n,{paddingLeft:n.paddingX,paddingRight:n.paddingX}),r.has(n,"paddingY")&&r.defaults(n,{paddingTop:n.paddingY,paddingBottom:n.paddingY}),r.has(n,"padding")&&r.defaults(n,{paddingLeft:n.padding,paddingRight:n.padding,paddingTop:n.padding,paddingBottom:n.padding}),r.defaults(n,o),r.each(["paddingLeft","paddingRight","paddingTop","paddingBottom"],(function(t){n[t]=Number(n[t])})),r.has(n,"width")&&(n._prevWidth=n.width),r.has(n,"height")&&(n._prevHeight=n.height)})),t.edges().forEach((function(e){var n=t.edge(e);r.has(n,"label")||(n.label=""),r.defaults(n,s)}))}(g);var y=c(n,"output"),v=c(y,"clusters"),m=c(y,"edgePaths"),b=i(c(y,"edgeLabels"),g),x=t(c(y,"nodes"),g,d);a(g),l(x,g),h(b,g),u(m,g,p);var _=e(v,g);f(_,g),function(t){r.each(t.nodes(),(function(e){var n=t.node(e);r.has(n,"_prevWidth")?n.width=n._prevWidth:delete n.width,r.has(n,"_prevHeight")?n.height=n._prevHeight:delete n.height,delete n._prevWidth,delete n._prevHeight}))}(g)};return g.createNodes=function(e){return arguments.length?(t=e,g):t},g.createClusters=function(t){return arguments.length?(e=t,g):e},g.createEdgeLabels=function(t){return arguments.length?(i=t,g):i},g.createEdgePaths=function(t){return arguments.length?(u=t,g):u},g.shapes=function(t){return arguments.length?(d=t,g):d},g.arrows=function(t){return arguments.length?(p=t,g):p},g};var o={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},s={arrowhead:"normal",curve:i.curveLinear};function c(t,e){var n=t.select("g."+e);return n.empty()&&(n=t.append("g").attr("class",e)),n}},function(t,e,n){"use strict";var r=n(43),i=n(97),a=n(12),o=n(31);t.exports=function(t,e,n){var s,c=e.nodes().filter((function(t){return!a.isSubgraph(e,t)})),u=t.selectAll("g.node").data(c,(function(t){return t})).classed("update",!0);u.exit().remove(),u.enter().append("g").attr("class","node").style("opacity",0),(u=t.selectAll("g.node")).each((function(t){var s=e.node(t),c=o.select(this);a.applyClass(c,s.class,(c.classed("update")?"update ":"")+"node"),c.select("g.label").remove();var u=c.append("g").attr("class","label"),l=i(u,s),h=n[s.shape],f=r.pick(l.node().getBBox(),"width","height");s.elem=this,s.id&&c.attr("id",s.id),s.labelId&&u.attr("id",s.labelId),r.has(s,"width")&&(f.width=s.width),r.has(s,"height")&&(f.height=s.height),f.width+=s.paddingLeft+s.paddingRight,f.height+=s.paddingTop+s.paddingBottom,u.attr("transform","translate("+(s.paddingLeft-s.paddingRight)/2+","+(s.paddingTop-s.paddingBottom)/2+")");var d=o.select(this);d.select(".label-container").remove();var p=h(d,f,s).classed("label-container",!0);a.applyStyle(p,s.style);var g=p.node().getBBox();s.width=g.width,s.height=g.height})),s=u.exit?u.exit():u.selectAll(null);return a.applyTransition(s,e).style("opacity",0).remove(),u}},function(t,e,n){var r=n(12);t.exports=function(t,e){for(var n=t.append("text"),i=function(t){for(var e,n="",r=!1,i=0;i<t.length;++i)if(e=t[i],r){switch(e){case"n":n+="\n";break;default:n+=e}r=!1}else"\\"===e?r=!0:n+=e;return n}(e.label).split("\n"),a=0;a<i.length;a++)n.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(i[a]);return r.applyStyle(n,e.labelStyle),n}},function(t,e,n){var r=n(12);t.exports=function(t,e){var n=t;return n.node().appendChild(e.label),r.applyStyle(n,e.labelStyle),n}},function(t,e,n){var r=n(12),i=n(31),a=n(97);t.exports=function(t,e){var n,o=e.nodes().filter((function(t){return r.isSubgraph(e,t)})),s=t.selectAll("g.cluster").data(o,(function(t){return t}));s.selectAll("*").remove(),s.enter().append("g").attr("class","cluster").attr("id",(function(t){return e.node(t).id})).style("opacity",0),s=t.selectAll("g.cluster"),r.applyTransition(s,e).style("opacity",1),s.each((function(t){var n=e.node(t),r=i.select(this);i.select(this).append("rect");var o=r.append("g").attr("class","label");a(o,n,n.clusterLabelPos)})),s.selectAll("rect").each((function(t){var n=e.node(t),a=i.select(this);r.applyStyle(a,n.style)})),n=s.exit?s.exit():s.selectAll(null);return r.applyTransition(n,e).style("opacity",0).remove(),s}},function(t,e,n){"use strict";var r=n(43),i=n(97),a=n(12),o=n(31);t.exports=function(t,e){var n,s=t.selectAll("g.edgeLabel").data(e.edges(),(function(t){return a.edgeToId(t)})).classed("update",!0);s.exit().remove(),s.enter().append("g").classed("edgeLabel",!0).style("opacity",0),(s=t.selectAll("g.edgeLabel")).each((function(t){var n=o.select(this);n.select(".label").remove();var a=e.edge(t),s=i(n,e.edge(t),0,0).classed("label",!0),c=s.node().getBBox();a.labelId&&s.attr("id",a.labelId),r.has(a,"width")||(a.width=c.width),r.has(a,"height")||(a.height=c.height)})),n=s.exit?s.exit():s.selectAll(null);return a.applyTransition(n,e).style("opacity",0).remove(),s}},function(t,e,n){"use strict";var r=n(43),i=n(165),a=n(12),o=n(31);function s(t,e){var n=(o.line||o.svg.line)().x((function(t){return t.x})).y((function(t){return t.y}));return(n.curve||n.interpolate)(t.curve),n(e)}t.exports=function(t,e,n){var c=t.selectAll("g.edgePath").data(e.edges(),(function(t){return a.edgeToId(t)})).classed("update",!0),u=function(t,e){var n=t.enter().append("g").attr("class","edgePath").style("opacity",0);return n.append("path").attr("class","path").attr("d",(function(t){var n=e.edge(t),i=e.node(t.v).elem;return s(n,r.range(n.points.length).map((function(){return e=(t=i).getBBox(),{x:(n=t.ownerSVGElement.getScreenCTM().inverse().multiply(t.getScreenCTM()).translate(e.width/2,e.height/2)).e,y:n.f};var t,e,n})))})),n.append("defs"),n}(c,e);!function(t,e){var n=t.exit();a.applyTransition(n,e).style("opacity",0).remove()}(c,e);var l=void 0!==c.merge?c.merge(u):c;return a.applyTransition(l,e).style("opacity",1),l.each((function(t){var n=o.select(this),r=e.edge(t);r.elem=this,r.id&&n.attr("id",r.id),a.applyClass(n,r.class,(n.classed("update")?"update ":"")+"edgePath")})),l.selectAll("path.path").each((function(t){var n=e.edge(t);n.arrowheadId=r.uniqueId("arrowhead");var c=o.select(this).attr("marker-end",(function(){return"url("+(t=location.href,e=n.arrowheadId,t.split("#")[0]+"#"+e)+")";var t,e})).style("fill","none");a.applyTransition(c,e).attr("d",(function(t){return function(t,e){var n=t.edge(e),r=t.node(e.v),a=t.node(e.w),o=n.points.slice(1,n.points.length-1);return o.unshift(i(r,o[0])),o.push(i(a,o[o.length-1])),s(n,o)}(e,t)})),a.applyStyle(c,n.style)})),l.selectAll("defs *").remove(),l.selectAll("defs").each((function(t){var r=e.edge(t);(0,n[r.arrowhead])(o.select(this),r.arrowheadId,r,"arrowhead")})),l}},function(t,e,n){"use strict";var r=n(12),i=n(31);t.exports=function(t,e){function n(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}t.filter((function(){return!i.select(this).classed("update")})).attr("transform",n),r.applyTransition(t,e).style("opacity",1).attr("transform",n)}},function(t,e,n){"use strict";var r=n(12),i=n(31),a=n(43);t.exports=function(t,e){function n(t){var n=e.edge(t);return a.has(n,"x")?"translate("+n.x+","+n.y+")":""}t.filter((function(){return!i.select(this).classed("update")})).attr("transform",n),r.applyTransition(t,e).style("opacity",1).attr("transform",n)}},function(t,e,n){"use strict";var r=n(12),i=n(31);t.exports=function(t,e){var n=t.filter((function(){return!i.select(this).classed("update")}));function a(t){var n=e.node(t);return"translate("+n.x+","+n.y+")"}n.attr("transform",a),r.applyTransition(t,e).style("opacity",1).attr("transform",a),r.applyTransition(n.selectAll("rect"),e).attr("width",(function(t){return e.node(t).width})).attr("height",(function(t){return e.node(t).height})).attr("x",(function(t){return-e.node(t).width/2})).attr("y",(function(t){return-e.node(t).height/2}))}},function(t,e,n){"use strict";var r=n(168),i=n(96),a=n(166),o=n(167);t.exports={rect:function(t,e,n){var i=t.insert("rect",":first-child").attr("rx",n.rx).attr("ry",n.ry).attr("x",-e.width/2).attr("y",-e.height/2).attr("width",e.width).attr("height",e.height);return n.intersect=function(t){return r(n,t)},i},ellipse:function(t,e,n){var r=e.width/2,a=e.height/2,o=t.insert("ellipse",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("rx",r).attr("ry",a);return n.intersect=function(t){return i(n,r,a,t)},o},circle:function(t,e,n){var r=Math.max(e.width,e.height)/2,i=t.insert("circle",":first-child").attr("x",-e.width/2).attr("y",-e.height/2).attr("r",r);return n.intersect=function(t){return a(n,r,t)},i},diamond:function(t,e,n){var r=e.width*Math.SQRT2/2,i=e.height*Math.SQRT2/2,a=[{x:0,y:-i},{x:-r,y:0},{x:0,y:i},{x:r,y:0}],s=t.insert("polygon",":first-child").attr("points",a.map((function(t){return t.x+","+t.y})).join(" "));return n.intersect=function(t){return o(n,a,t)},s}}},function(t,e,n){var r=n(12);function i(t,e,n,i){var a=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");r.applyStyle(a,n[i+"Style"]),n[i+"Class"]&&a.attr("class",n[i+"Class"])}t.exports={default:i,normal:i,vee:function(t,e,n,i){var a=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");r.applyStyle(a,n[i+"Style"]),n[i+"Class"]&&a.attr("class",n[i+"Class"])},undirected:function(t,e,n,i){var a=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");r.applyStyle(a,n[i+"Style"]),n[i+"Class"]&&a.attr("class",n[i+"Class"])}}},function(t,e){t.exports="0.6.4"},function(t,e,n){"use strict";var r;function i(t){return r=r||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),r.innerHTML=t,unescape(r.textContent)}n.r(e);var a=n(23),o=n.n(a),s={debug:1,info:2,warn:3,error:4,fatal:5},c={debug:function(){},info:function(){},warn:function(){},error:function(){},fatal:function(){}},u=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"fatal";isNaN(t)&&(t=t.toLowerCase(),void 0!==s[t]&&(t=s[t])),c.trace=function(){},c.debug=function(){},c.info=function(){},c.warn=function(){},c.error=function(){},c.fatal=function(){},t<=s.fatal&&(c.fatal=console.error?console.error.bind(console,l("FATAL"),"color: orange"):console.log.bind(console,"",l("FATAL"))),t<=s.error&&(c.error=console.error?console.error.bind(console,l("ERROR"),"color: orange"):console.log.bind(console,"",l("ERROR"))),t<=s.warn&&(c.warn=console.warn?console.warn.bind(console,l("WARN"),"color: orange"):console.log.bind(console,"",l("WARN"))),t<=s.info&&(c.info=console.info?console.info.bind(console,l("INFO"),"color: lightblue"):console.log.bind(console,"",l("INFO"))),t<=s.debug&&(c.debug=console.debug?console.debug.bind(console,l("DEBUG"),"color: lightgreen"):console.log.bind(console,"",l("DEBUG")))},l=function(t){var e=o()().format("ss.SSS");return"%c".concat(e," : ").concat(t," : ")},h=n(169),f=n.n(h),d=n(0),p=n(44),g=n(70),y=function(t){for(var e="",n=0;n>=0;){if(!((n=t.indexOf("<script"))>=0)){e+=t,n=-1;break}e+=t.substr(0,n),(n=(t=t.substr(n+1)).indexOf("<\/script>"))>=0&&(n+=9,t=t.substr(n))}return e},v=/<br\s*\/?>/gi,m=function(t){return t.replace(v,"#br#")},b=function(t){return t.replace(/#br#/g,"<br/>")},x={getRows:function(t){if(!t)return 1;var e=m(t);return(e=e.replace(/\\n/g,"#br#")).split("#br#")},sanitizeText:function(t,e){var n=t,r=!0;if(!e.flowchart||!1!==e.flowchart.htmlLabels&&"false"!==e.flowchart.htmlLabels||(r=!1),r){var i=e.securityLevel;"antiscript"===i?n=y(n):"loose"!==i&&(n=(n=(n=m(n)).replace(/</g,"<").replace(/>/g,">")).replace(/=/g,"="),n=b(n))}return n},hasBreaks:function(t){return/<br\s*[/]?>/gi.test(t)},splitBreaks:function(t){return t.split(/<br\s*[/]?>/gi)},lineBreakRegex:v,removeScript:y};function _(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function k(t){return(k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function w(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var E={curveBasis:d.curveBasis,curveBasisClosed:d.curveBasisClosed,curveBasisOpen:d.curveBasisOpen,curveLinear:d.curveLinear,curveLinearClosed:d.curveLinearClosed,curveMonotoneX:d.curveMonotoneX,curveMonotoneY:d.curveMonotoneY,curveNatural:d.curveNatural,curveStep:d.curveStep,curveStepAfter:d.curveStepAfter,curveStepBefore:d.curveStepBefore},T=/[%]{2}[{]\s*(?:(?:(\w+)\s*:|(\w+))\s*(?:(?:(\w+))|((?:(?![}][%]{2}).|\r?\n)*))?\s*)(?:[}][%]{2})?/gi,C=/\s*(?:(?:(\w+)(?=:):|(\w+))\s*(?:(?:(\w+))|((?:(?![}][%]{2}).|\r?\n)*))?\s*)(?:[}][%]{2})?/gi,A=/\s*%%.*\n/gm,S=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;try{var n=new RegExp("[%]{2}(?![{]".concat(C.source,")(?=[}][%]{2}).*\n"),"ig");t=t.trim().replace(n,"").replace(/'/gm,'"'),c.debug("Detecting diagram directive".concat(null!==e?" type:"+e:""," based on the text:").concat(t));for(var r,i=[];null!==(r=T.exec(t));)if(r.index===T.lastIndex&&T.lastIndex++,r&&!e||e&&r[1]&&r[1].match(e)||e&&r[2]&&r[2].match(e)){var a=r[1]?r[1]:r[2],o=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;i.push({type:a,args:o})}return 0===i.length&&i.push({type:t,args:null}),1===i.length?i[0]:i}catch(n){return c.error("ERROR: ".concat(n.message," - Unable to parse directive").concat(null!==e?" type:"+e:""," based on the text:").concat(t)),{type:null,args:null}}},M=function(t){return t=t.replace(T,"").replace(A,"\n"),c.debug("Detecting diagram type based on the text "+t),t.match(/^\s*sequenceDiagram/)?"sequence":t.match(/^\s*gantt/)?"gantt":t.match(/^\s*classDiagram-v2/)?"classDiagram":t.match(/^\s*classDiagram/)?"class":t.match(/^\s*stateDiagram-v2/)?"stateDiagram":t.match(/^\s*stateDiagram/)?"state":t.match(/^\s*gitGraph/)?"git":t.match(/^\s*flowchart/)?"flowchart-v2":t.match(/^\s*info/)?"info":t.match(/^\s*pie/)?"pie":t.match(/^\s*erDiagram/)?"er":t.match(/^\s*journey/)?"journey":"flowchart"},O=function(t,e){var n={};return function(){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];var o=e?e.apply(void 0,i):i[0];if(o in n)return n[o];var s=t.apply(void 0,i);return n[o]=s,s}},D=function(t,e){if(!t)return e;var n="curve".concat(t.charAt(0).toUpperCase()+t.slice(1));return E[n]||e},N=function(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0},B=function(t){for(var e="",n="",r=0;r<t.length;r++)void 0!==t[r]&&(t[r].startsWith("color:")||t[r].startsWith("text-align:")?n=n+t[r]+";":e=e+t[r]+";");return{style:e,labelStyle:n}},L=0,P=function(){return L++,"id-"+Math.random().toString(36).substr(2,12)+"-"+L};var I=function(t){return function(t){for(var e="",n="0123456789abcdef".length,r=0;r<t;r++)e+="0123456789abcdef".charAt(Math.floor(Math.random()*n));return e}(t.length)},F=function t(e,n,r){var i=Object.assign({depth:2,clobber:!1},r),a=i.depth,o=i.clobber;return Array.isArray(n)&&!Array.isArray(e)?(n.forEach((function(n){return t(e,n,r)})),e):Array.isArray(n)&&Array.isArray(e)?(n.forEach((function(t){-1===e.indexOf(t)&&e.push(t)})),e):void 0===e||a<=0?null!=e&&"object"===k(e)&&"object"===k(n)?Object.assign(e,n):n:(void 0!==n&&"object"===k(e)&&"object"===k(n)&&Object.keys(n).forEach((function(r){"object"!==k(n[r])||void 0!==e[r]&&"object"!==k(e[r])?(o||"object"!==k(e[r])&&"object"!==k(n[r]))&&(e[r]=n[r]):(void 0===e[r]&&(e[r]=Array.isArray(n[r])?[]:{}),e[r]=t(e[r],n[r],{depth:a-1,clobber:o}))})),e)},j=function(t,e){var n=e.text.replace(x.lineBreakRegex," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.style("text-anchor",e.anchor),r.style("font-family",e.fontFamily),r.style("font-size",e.fontSize),r.style("font-weight",e.fontWeight),r.attr("fill",e.fill),void 0!==e.class&&r.attr("class",e.class);var i=r.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.attr("fill",e.fill),i.text(n),r},R=O((function(t,e,n){if(!t)return t;if(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},n),x.lineBreakRegex.test(t))return t;var r=t.split(" "),i=[],a="";return r.forEach((function(t,o){var s=z("".concat(t," "),n),c=z(a,n);if(s>e){var u=Y(t,e,"-",n),l=u.hyphenatedStrings,h=u.remainingWord;i.push.apply(i,[a].concat(w(l))),a=h}else c+s>=e?(i.push(a),a=t):a=[a,t].filter(Boolean).join(" ");o+1===r.length&&i.push(a)})),i.filter((function(t){return""!==t})).join(n.joinWith)}),(function(t,e,n){return"".concat(t,"-").concat(e,"-").concat(n.fontSize,"-").concat(n.fontWeight,"-").concat(n.fontFamily,"-").concat(n.joinWith)})),Y=O((function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=arguments.length>3?arguments[3]:void 0;r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},r);var i=t.split(""),a=[],o="";return i.forEach((function(t,s){var c="".concat(o).concat(t);if(z(c,r)>=e){var u=s+1,l=i.length===u,h="".concat(c).concat(n);a.push(l?c:h),o=""}else o=c})),{hyphenatedStrings:a,remainingWord:o}}),(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=arguments.length>3?arguments[3]:void 0;return"".concat(t,"-").concat(e,"-").concat(n,"-").concat(r.fontSize,"-").concat(r.fontWeight,"-").concat(r.fontFamily)})),z=function(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),U(t,e).width},U=O((function(t,e){var n=e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial"},e),r=n.fontSize,i=n.fontFamily,a=n.fontWeight;if(!t)return{width:0,height:0};var o=["sans-serif",i],s=t.split(x.lineBreakRegex),c=[],u=Object(d.select)("body");if(!u.remove)return{width:0,height:0,lineHeight:0};for(var l=u.append("svg"),h=0,f=o;h<f.length;h++){var p=f[h],g=0,y={width:0,height:0,lineHeight:0},v=!0,m=!1,b=void 0;try{for(var _,k=s[Symbol.iterator]();!(v=(_=k.next()).done);v=!0){var w=_.value,E={x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0};E.text=w;var T=j(l,E).style("font-size",r).style("font-weight",a).style("font-family",p),C=(T._groups||T)[0][0].getBBox();y.width=Math.round(Math.max(y.width,C.width)),g=Math.round(C.height),y.height+=g,y.lineHeight=Math.round(Math.max(y.lineHeight,g))}}catch(t){m=!0,b=t}finally{try{v||null==k.return||k.return()}finally{if(m)throw b}}c.push(y)}return l.remove(),c[isNaN(c[1].height)||isNaN(c[1].width)||isNaN(c[1].lineHeight)||c[0].height>c[1].height&&c[0].width>c[1].width&&c[0].lineHeight>c[1].lineHeight?0:1]}),(function(t,e){return"".concat(t,"-").concat(e.fontSize,"-").concat(e.fontWeight,"-").concat(e.fontFamily)})),$=function(t,e,n){var r=new Map;return r.set("height",t),n?(r.set("width","100%"),r.set("style","max-width: ".concat(e,"px;"))):r.set("width",e),r},W=function(t,e,n,r){!function(t,e){var n=!0,r=!1,i=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;t.attr(s[0],s[1])}}catch(t){r=!0,i=t}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}(t,$(e,n,r))},H={assignWithDepth:F,wrapLabel:R,calculateTextHeight:function(t,e){return e=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:15},e),U(t,e).height},calculateTextWidth:z,calculateTextDimensions:U,calculateSvgSizeAttrs:$,configureSvgSize:W,detectInit:function(t){var e=S(t,/(?:init\b)|(?:initialize\b)/),n={};if(Array.isArray(e)){var r=e.map((function(t){return t.args}));n=F(n,w(r))}else n=e.args;if(n){var i=M(t);["config"].forEach((function(t){void 0!==n[t]&&("flowchart-v2"===i&&(i="flowchart"),n[i]=n[t],delete n[t])}))}return n},detectDirective:S,detectType:M,isSubstringInArray:function(t,e){for(var n=0;n<e.length;n++)if(e[n].match(t))return n;return-1},interpolateToCurve:D,calcLabelPosition:function(t){return function(t){var e,n=0;t.forEach((function(t){n+=N(t,e),e=t}));var r=n/2,i=void 0;return e=void 0,t.forEach((function(t){if(e&&!i){var n=N(t,e);if(n<r)r-=n;else{var a=r/n;a<=0&&(i=e),a>=1&&(i={x:t.x,y:t.y}),a>0&&a<1&&(i={x:(1-a)*e.x+a*t.x,y:(1-a)*e.y+a*t.y})}}e=t})),i}(t)},calcCardinalityPosition:function(t,e,n){var r;c.info("our points",e),e[0]!==n&&(e=e.reverse()),e.forEach((function(t){N(t,r),r=t}));var i,a=25;r=void 0,e.forEach((function(t){if(r&&!i){var e=N(t,r);if(e<a)a-=e;else{var n=a/e;n<=0&&(i=r),n>=1&&(i={x:t.x,y:t.y}),n>0&&n<1&&(i={x:(1-n)*r.x+n*t.x,y:(1-n)*r.y+n*t.y})}}r=t}));var o=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),u={x:0,y:0};return u.x=Math.sin(s)*o+(e[0].x+i.x)/2,u.y=-Math.cos(s)*o+(e[0].y+i.y)/2,u},calcTerminalLabelPosition:function(t,e,n){var r,i=JSON.parse(JSON.stringify(n));c.info("our points",i),"start_left"!==e&&"start_right"!==e&&(i=i.reverse()),i.forEach((function(t){N(t,r),r=t}));var a,o=25;r=void 0,i.forEach((function(t){if(r&&!a){var e=N(t,r);if(e<o)o-=e;else{var n=o/e;n<=0&&(a=r),n>=1&&(a={x:t.x,y:t.y}),n>0&&n<1&&(a={x:(1-n)*r.x+n*t.x,y:(1-n)*r.y+n*t.y})}}r=t}));var s=10,u=Math.atan2(i[0].y-a.y,i[0].x-a.x),l={x:0,y:0};return l.x=Math.sin(u)*s+(i[0].x+a.x)/2,l.y=-Math.cos(u)*s+(i[0].y+a.y)/2,"start_left"===e&&(l.x=Math.sin(u+Math.PI)*s+(i[0].x+a.x)/2,l.y=-Math.cos(u+Math.PI)*s+(i[0].y+a.y)/2),"end_right"===e&&(l.x=Math.sin(u-Math.PI)*s+(i[0].x+a.x)/2-5,l.y=-Math.cos(u-Math.PI)*s+(i[0].y+a.y)/2-5),"end_left"===e&&(l.x=Math.sin(u)*s+(i[0].x+a.x)/2-5,l.y=-Math.cos(u)*s+(i[0].y+a.y)/2-5),l},formatUrl:function(t,e){var n=t.trim();if(n)return"loose"!==e.securityLevel?Object(g.sanitizeUrl)(n):n},getStylesFromArray:B,generateId:P,random:I,memoize:O,runFunc:function(t){for(var e,n=t.split("."),r=n.length-1,i=n[r],a=window,o=0;o<r;o++)if(!(a=a[n[o]]))return;for(var s=arguments.length,c=new Array(s>1?s-1:0),u=1;u<s;u++)c[u-1]=arguments[u];(e=a)[i].apply(e,c)},initIdGeneratior:function(t,e){return t?new(function(){function t(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.count=e?e.length:0}var n,r,i;return n=t,(r=[{key:"next",value:function(){return this.count++}}])&&_(n.prototype,r),i&&_(n,i),t}()):{next:function(){return Date.now()}}}},V=n(3),G=n.n(V),q=n(1),X=function(t,e){return e?Object(q.adjust)(t,{s:-40,l:10}):Object(q.adjust)(t,{s:-40,l:-10})};function Z(t){return(Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function J(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var K=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.background="#f4f4f4",this.darkMode=!1,this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}var e,n,r;return e=t,(n=[{key:"updateColors",value:function(){this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#ddd":"#333"),this.secondaryColor=this.secondaryColor||Object(q.adjust)(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Object(q.adjust)(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||X(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||X(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||X(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||X(this.noteBkgColor,this.darkMode),this.secondaryTextColor=this.secondaryTextColor||Object(q.invert)(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Object(q.invert)(this.tertiaryColor),this.lineColor=this.lineColor||Object(q.invert)(this.background),this.textColor=this.textColor||this.primaryTextColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Object(q.darken)(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Object(q.darken)(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Object(q.invert)(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Object(q.lighten)(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.labelColor=this.labelColor||this.primaryTextColor,this.altBackground=this.altBackground||this.tertiaryColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||Object(q.adjust)(this.primaryColor,{h:64}),this.fillType3=this.fillType3||Object(q.adjust)(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||Object(q.adjust)(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||Object(q.adjust)(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||Object(q.adjust)(this.primaryColor,{h:128}),this.fillType7=this.fillType7||Object(q.adjust)(this.secondaryColor,{h:128})}},{key:"calculate",value:function(t){var e=this;if("object"===Z(t)){var n=Object.keys(t);n.forEach((function(n){e[n]=t[n]})),this.updateColors(),n.forEach((function(n){e[n]=t[n]}))}else this.updateColors()}}])&&J(e.prototype,n),r&&J(e,r),t}();function Q(t){return(Q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tt(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var et=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Object(q.lighten)(this.primaryColor,16),this.tertiaryColor=Object(q.adjust)(this.primaryColor,{h:-160}),this.primaryBorderColor=X(this.primaryColor,this.darkMode),this.secondaryBorderColor=X(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=X(this.tertiaryColor,this.darkMode),this.primaryTextColor=Object(q.invert)(this.primaryColor),this.secondaryTextColor=Object(q.invert)(this.secondaryColor),this.tertiaryTextColor=Object(q.invert)(this.tertiaryColor),this.lineColor=Object(q.invert)(this.background),this.textColor=Object(q.invert)(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Object(q.lighten)(Object(q.invert)("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=Object(q.rgba)(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=Object(q.darken)("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.taskBorderColor=Object(q.rgba)(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Object(q.rgba)(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}var e,n,r;return e=t,(n=[{key:"updateColors",value:function(){this.secondBkg=Object(q.lighten)(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Object(q.lighten)(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.border2,this.noteTextColor=this.mainBkg,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Object(q.lighten)(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.labelColor=this.textColor,this.altBackground=Object(q.lighten)(this.background,20),this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Object(q.adjust)(this.primaryColor,{h:64}),this.fillType3=Object(q.adjust)(this.secondaryColor,{h:64}),this.fillType4=Object(q.adjust)(this.primaryColor,{h:-64}),this.fillType5=Object(q.adjust)(this.secondaryColor,{h:-64}),this.fillType6=Object(q.adjust)(this.primaryColor,{h:128}),this.fillType7=Object(q.adjust)(this.secondaryColor,{h:128}),this.classText=this.primaryTextColor}},{key:"calculate",value:function(t){var e=this;if("object"===Q(t)){var n=Object.keys(t);n.forEach((function(n){e[n]=t[n]})),this.updateColors(),n.forEach((function(n){e[n]=t[n]}))}else this.updateColors()}}])&&tt(e.prototype,n),r&&tt(e,r),t}();function nt(t){return(nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function rt(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var it=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Object(q.adjust)(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Object(q.adjust)(this.primaryColor,{h:-160}),this.primaryBorderColor=X(this.primaryColor,this.darkMode),this.secondaryBorderColor=X(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=X(this.tertiaryColor,this.darkMode),this.primaryTextColor=Object(q.invert)(this.primaryColor),this.secondaryTextColor=Object(q.invert)(this.secondaryColor),this.tertiaryTextColor=Object(q.invert)(this.tertiaryColor),this.lineColor=Object(q.invert)(this.background),this.textColor=Object(q.invert)(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=Object(q.rgba)(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}var e,n,r;return e=t,(n=[{key:"updateColors",value:function(){this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=Object(q.lighten)(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Object(q.adjust)(this.primaryColor,{h:64}),this.fillType3=Object(q.adjust)(this.secondaryColor,{h:64}),this.fillType4=Object(q.adjust)(this.primaryColor,{h:-64}),this.fillType5=Object(q.adjust)(this.secondaryColor,{h:-64}),this.fillType6=Object(q.adjust)(this.primaryColor,{h:128}),this.fillType7=Object(q.adjust)(this.secondaryColor,{h:128})}},{key:"calculate",value:function(t){var e=this;if("object"===nt(t)){var n=Object.keys(t);n.forEach((function(n){e[n]=t[n]})),this.updateColors(),n.forEach((function(n){e[n]=t[n]}))}else this.updateColors()}}])&&rt(e.prototype,n),r&&rt(e,r),t}();function at(t){return(at="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ot(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var st=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Object(q.lighten)("#cde498",10),this.primaryBorderColor=X(this.primaryColor,this.darkMode),this.secondaryBorderColor=X(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=X(this.tertiaryColor,this.darkMode),this.primaryTextColor=Object(q.invert)(this.primaryColor),this.secondaryTextColor=Object(q.invert)(this.secondaryColor),this.tertiaryTextColor=Object(q.invert)(this.primaryColor),this.lineColor=Object(q.invert)(this.background),this.textColor=Object(q.invert)(this.background),this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}var e,n,r;return e=t,(n=[{key:"updateColors",value:function(){this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.actorBorder=Object(q.darken)(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Object(q.adjust)(this.primaryColor,{h:64}),this.fillType3=Object(q.adjust)(this.secondaryColor,{h:64}),this.fillType4=Object(q.adjust)(this.primaryColor,{h:-64}),this.fillType5=Object(q.adjust)(this.secondaryColor,{h:-64}),this.fillType6=Object(q.adjust)(this.primaryColor,{h:128}),this.fillType7=Object(q.adjust)(this.secondaryColor,{h:128})}},{key:"calculate",value:function(t){var e=this;if("object"===at(t)){var n=Object.keys(t);n.forEach((function(n){e[n]=t[n]})),this.updateColors(),n.forEach((function(n){e[n]=t[n]}))}else this.updateColors()}}])&&ot(e.prototype,n),r&&ot(e,r),t}();function ct(t){return(ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ut(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var lt=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.primaryColor="#eee",this.contrast="#26a",this.secondaryColor=Object(q.lighten)(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Object(q.adjust)(this.primaryColor,{h:-160}),this.primaryBorderColor=X(this.primaryColor,this.darkMode),this.secondaryBorderColor=X(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=X(this.tertiaryColor,this.darkMode),this.primaryTextColor=Object(q.invert)(this.primaryColor),this.secondaryTextColor=Object(q.invert)(this.secondaryColor),this.tertiaryTextColor=Object(q.invert)(this.tertiaryColor),this.lineColor=Object(q.invert)(this.background),this.textColor=Object(q.invert)(this.background),this.altBackground=Object(q.lighten)(this.contrast,55),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}var e,n,r;return e=t,(n=[{key:"updateColors",value:function(){this.secondBkg=Object(q.lighten)(this.contrast,55),this.border2=this.contrast,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.actorBorder=Object(q.lighten)(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor=Object(q.darken)(this.note,60),this.noteBkgColor=this.note,this.noteTextColor=this.actorTextColor,this.sectionBkgColor=Object(q.lighten)(this.contrast,30),this.sectionBkgColor2=Object(q.lighten)(this.contrast,30),this.taskBorderColor=Object(q.darken)(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=Object(q.lighten)(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=Object(q.darken)(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Object(q.adjust)(this.primaryColor,{h:64}),this.fillType3=Object(q.adjust)(this.secondaryColor,{h:64}),this.fillType4=Object(q.adjust)(this.primaryColor,{h:-64}),this.fillType5=Object(q.adjust)(this.secondaryColor,{h:-64}),this.fillType6=Object(q.adjust)(this.primaryColor,{h:128}),this.fillType7=Object(q.adjust)(this.secondaryColor,{h:128})}},{key:"calculate",value:function(t){var e=this;if("object"===ct(t)){var n=Object.keys(t);n.forEach((function(n){e[n]=t[n]})),this.updateColors(),n.forEach((function(n){e[n]=t[n]}))}else this.updateColors()}}])&&ut(e.prototype,n),r&&ut(e,r),t}(),ht={base:{getThemeVariables:function(t){var e=new K;return e.calculate(t),e}},dark:{getThemeVariables:function(t){var e=new et;return e.calculate(t),e}},default:{getThemeVariables:function(t){var e=new it;return e.calculate(t),e}},forest:{getThemeVariables:function(t){var e=new st;return e.calculate(t),e}},neutral:{getThemeVariables:function(t){var e=new lt;return e.calculate(t),e}}},ft={theme:"default",themeVariables:ht.default.getThemeVariables(),themeCSS:void 0,maxTextSize:5e4,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize"],deterministicIds:!1,deterministicIDSeed:void 0,flowchart:{diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"linear",padding:15,useMaxWidth:!0},sequence:{activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open-Sans", "sans-serif"',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d",useMaxWidth:!0,useWidth:void 0},journey:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1},class:{arrowMarkerAbsolute:!1,useMaxWidth:!0},git:{arrowMarkerAbsolute:!1,useWidth:void 0,useMaxWidth:!0},state:{dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,useMaxWidth:!0},er:{diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12,useMaxWidth:!0},pie:{useWidth:void 0,useMaxWidth:!0}};ft.class.arrowMarkerAbsolute=ft.arrowMarkerAbsolute,ft.git.arrowMarkerAbsolute=ft.arrowMarkerAbsolute;var dt,pt=ft,gt=Object.freeze(pt),yt=F({},gt),vt=[],mt=F({},gt),bt=function(t,e){for(var n=F({},t),r={},i=0;i<e.length;i++){var a=e[i];kt(a),r=F(r,a)}if(n=F(n,r),r.theme){var o=F(dt.themeVariables||{},r.themeVariables);n.themeVariables=ht[n.theme].getThemeVariables(o)}return mt=n,n},xt=function(){return F({},yt)},_t=function(){return F({},mt)},kt=function(t){Object.keys(yt.secure).forEach((function(e){void 0!==t[yt.secure[e]]&&(c.debug("Denied attempt to modify a secure key ".concat(yt.secure[e]),t[yt.secure[e]]),delete t[yt.secure[e]])}))},wt=function(t){t.fontFamily&&(t.themeVariables&&t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily})),vt.push(t),bt(yt,vt)},Et=function(){bt(yt,vt=[])};function Tt(t){return(Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ct(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var At,St,Mt=0,Ot=_t(),Dt={},Nt=[],Bt=[],Lt=[],Pt={},It={},Ft=0,jt=!0,Rt=[],Yt=function(t){for(var e=Object.keys(Dt),n=0;n<e.length;n++)if(Dt[e[n]].id===t)return Dt[e[n]].domId;return t},zt=function(t,e,n,r){var i={start:t,end:e,type:void 0,text:""};void 0!==(r=n.text)&&(i.text=x.sanitizeText(r.trim(),Ot),'"'===i.text[0]&&'"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1))),void 0!==n&&(i.type=n.type,i.stroke=n.stroke,i.length=n.length),Nt.push(i)},Ut=function(t,e){t.split(",").forEach((function(t){var n=t;void 0!==Dt[n]&&Dt[n].classes.push(e),void 0!==Pt[n]&&Pt[n].classes.push(e)}))},$t=function(t){var e=Object(d.select)(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=Object(d.select)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Object(d.select)(t).select("svg").selectAll("g.node").on("mouseover",(function(){var t=Object(d.select)(this);if(null!==t.attr("title")){var n=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",window.scrollX+n.left+(n.right-n.left)/2+"px").style("top",window.scrollY+n.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),Object(d.select)(this).classed("hover",!1)}))};Rt.push($t);var Wt=function(t){for(var e=0;e<Lt.length;e++)if(Lt[e].id===t)return e;return-1},Ht=-1,Vt=[],Gt=function(t,e){var n=!1;return t.forEach((function(t){t.nodes.indexOf(e)>=0&&(n=!0)})),n},qt=function(t,e){var n=[];return t.nodes.forEach((function(r,i){Gt(e,r)||n.push(t.nodes[i])})),{nodes:n}},Xt={parseDirective:function(t,e,n){Go.parseDirective(this,t,e,n)},defaultConfig:function(){return gt.flowchart},addVertex:function(t,e,n,r,i){var a,o=t;void 0!==o&&0!==o.trim().length&&(void 0===Dt[o]&&(Dt[o]={id:o,domId:"flowchart-"+o+"-"+Mt,styles:[],classes:[]}),Mt++,void 0!==e?(Ot=_t(),'"'===(a=x.sanitizeText(e.trim(),Ot))[0]&&'"'===a[a.length-1]&&(a=a.substring(1,a.length-1)),Dt[o].text=a):void 0===Dt[o].text&&(Dt[o].text=t),void 0!==n&&(Dt[o].type=n),null!=r&&r.forEach((function(t){Dt[o].styles.push(t)})),null!=i&&i.forEach((function(t){Dt[o].classes.push(t)})))},lookUpDomId:Yt,addLink:function(t,e,n,r){var i,a;for(i=0;i<t.length;i++)for(a=0;a<e.length;a++)zt(t[i],e[a],n,r)},updateLinkInterpolate:function(t,e){t.forEach((function(t){"default"===t?Nt.defaultInterpolate=e:Nt[t].interpolate=e}))},updateLink:function(t,e){t.forEach((function(t){"default"===t?Nt.defaultStyle=e:(-1===H.isSubstringInArray("fill",e)&&e.push("fill:none"),Nt[t].style=e)}))},addClass:function(t,e){void 0===Bt[t]&&(Bt[t]={id:t,styles:[],textStyles:[]}),null!=e&&e.forEach((function(e){if(e.match("color")){var n=e.replace("fill","bgFill").replace("color","fill");Bt[t].textStyles.push(n)}Bt[t].styles.push(e)}))},setDirection:function(t){(At=t).match(/.*</)&&(At="RL"),At.match(/.*\^/)&&(At="BT"),At.match(/.*>/)&&(At="LR"),At.match(/.*v/)&&(At="TB")},setClass:Ut,setTooltip:function(t,e){t.split(",").forEach((function(t){void 0!==e&&(It["gen-1"===St?Yt(t):t]=x.sanitizeText(e,Ot))}))},getTooltip:function(t){return It[t]},setClickEvent:function(t,e,n){t.split(",").forEach((function(t){!function(t,e,n){var r=Yt(t);if("loose"===_t().securityLevel&&void 0!==e){var i=[];if("string"==typeof n){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(var a=0;a<i.length;a++){var o=i[a].trim();'"'===o.charAt(0)&&'"'===o.charAt(o.length-1)&&(o=o.substr(1,o.length-2)),i[a]=o}}0===i.length&&i.push(t),void 0!==Dt[t]&&(Dt[t].haveCallback=!0,Rt.push((function(){var t=document.querySelector('[id="'.concat(r,'"]'));null!==t&&t.addEventListener("click",(function(){H.runFunc.apply(H,[e].concat(Ct(i)))}),!1)})))}}(t,e,n)})),Ut(t,"clickable")},setLink:function(t,e,n){t.split(",").forEach((function(t){void 0!==Dt[t]&&(Dt[t].link=H.formatUrl(e,Ot),Dt[t].linkTarget=n)})),Ut(t,"clickable")},bindFunctions:function(t){Rt.forEach((function(e){e(t)}))},getDirection:function(){return At.trim()},getVertices:function(){return Dt},getEdges:function(){return Nt},getClasses:function(){return Bt},clear:function(t){Dt={},Bt={},Nt=[],(Rt=[]).push($t),Lt=[],Pt={},Ft=0,It=[],jt=!0,St=t||"gen-1"},setGen:function(t){St=t||"gen-1"},defaultStyle:function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},addSubGraph:function(t,e,n){var r=t.trim(),i=n;t===n&&n.match(/\s/)&&(r=void 0);var a,o,s,u=[];if(a=u.concat.apply(u,e),o={boolean:{},number:{},string:{}},s=[],u=a.filter((function(t){var e=Tt(t);return""!==t.trim()&&(e in o?!o[e].hasOwnProperty(t)&&(o[e][t]=!0):!(s.indexOf(t)>=0)&&s.push(t))})),"gen-1"===St){c.warn("LOOKING UP");for(var l=0;l<u.length;l++)u[l]=Yt(u[l])}r=r||"subGraph"+Ft,i=i||"",i=x.sanitizeText(i,Ot),Ft+=1;var h={id:r,nodes:u,title:i.trim(),classes:[]};return c.info("Adding",h.id,h.nodes),h.nodes=qt(h,Lt).nodes,Lt.push(h),Pt[r]=h,r},getDepthFirstPos:function(t){return Vt[t]},indexNodes:function(){Ht=-1,Lt.length>0&&function t(e,n){var r=Lt[n].nodes;if(!((Ht+=1)>2e3)){if(Vt[Ht]=n,Lt[n].id===e)return{result:!0,count:0};for(var i=0,a=1;i<r.length;){var o=Wt(r[i]);if(o>=0){var s=t(e,o);if(s.result)return{result:!0,count:a+s.count};a+=s.count}i+=1}return{result:!1,count:a}}}("none",Lt.length-1)},getSubGraphs:function(){return Lt},destructLink:function(t,e){var n,r=function(t){var e=t.trim(),n=e.slice(0,-1),r="arrow_open";switch(e.slice(-1)){case"x":r="arrow_cross","x"===e[0]&&(r="double_"+r,n=n.slice(1));break;case">":r="arrow_point","<"===e[0]&&(r="double_"+r,n=n.slice(1));break;case"o":r="arrow_circle","o"===e[0]&&(r="double_"+r,n=n.slice(1))}var i="normal",a=n.length-1;"="===n[0]&&(i="thick");var o=function(t,e){for(var n=e.length,r=0,i=0;i<n;++i)e[i]===t&&++r;return r}(".",n);return o&&(i="dotted",a=o),{type:r,stroke:i,length:a}}(t);if(e){if((n=function(t){var e=t.trim(),n="arrow_open";switch(e[0]){case"<":n="arrow_point",e=e.slice(1);break;case"x":n="arrow_cross",e=e.slice(1);break;case"o":n="arrow_circle",e=e.slice(1)}var r="normal";return-1!==e.indexOf("=")&&(r="thick"),-1!==e.indexOf(".")&&(r="dotted"),{type:n,stroke:r}}(e)).stroke!==r.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===n.type)n.type=r.type;else{if(n.type!==r.type)return{type:"INVALID",stroke:"INVALID"};n.type="double_"+n.type}return"double_arrow"===n.type&&(n.type="double_arrow_point"),n.length=r.length,n}return r},lex:{firstGraph:function(){return!!jt&&(jt=!1,!0)}},exists:Gt,makeUniq:qt},Zt=n(26),Jt=n.n(Zt),Kt=n(6),Qt=n.n(Kt),te=n(50),ee=n.n(te);function ne(t,e,n){var r=.9*(e.width+e.height),i=[{x:r/2,y:0},{x:r,y:-r/2},{x:r/2,y:-r},{x:0,y:-r/2}],a=de(t,r,r,i);return n.intersect=function(t){return Qt.a.intersect.polygon(n,i,t)},a}function re(t,e,n){var r=e.height,i=r/4,a=e.width+2*i,o=[{x:i,y:0},{x:a-i,y:0},{x:a,y:-r/2},{x:a-i,y:-r},{x:i,y:-r},{x:0,y:-r/2}],s=de(t,a,r,o);return n.intersect=function(t){return Qt.a.intersect.polygon(n,o,t)},s}function ie(t,e,n){var r=e.width,i=e.height,a=[{x:-i/2,y:0},{x:r,y:0},{x:r,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}],o=de(t,r,i,a);return n.intersect=function(t){return Qt.a.intersect.polygon(n,a,t)},o}function ae(t,e,n){var r=e.width,i=e.height,a=[{x:-2*i/6,y:0},{x:r-i/6,y:0},{x:r+2*i/6,y:-i},{x:i/6,y:-i}],o=de(t,r,i,a);return n.intersect=function(t){return Qt.a.intersect.polygon(n,a,t)},o}function oe(t,e,n){var r=e.width,i=e.height,a=[{x:2*i/6,y:0},{x:r+i/6,y:0},{x:r-2*i/6,y:-i},{x:-i/6,y:-i}],o=de(t,r,i,a);return n.intersect=function(t){return Qt.a.intersect.polygon(n,a,t)},o}function se(t,e,n){var r=e.width,i=e.height,a=[{x:-2*i/6,y:0},{x:r+2*i/6,y:0},{x:r-i/6,y:-i},{x:i/6,y:-i}],o=de(t,r,i,a);return n.intersect=function(t){return Qt.a.intersect.polygon(n,a,t)},o}function ce(t,e,n){var r=e.width,i=e.height,a=[{x:i/6,y:0},{x:r-i/6,y:0},{x:r+2*i/6,y:-i},{x:-2*i/6,y:-i}],o=de(t,r,i,a);return n.intersect=function(t){return Qt.a.intersect.polygon(n,a,t)},o}function ue(t,e,n){var r=e.width,i=e.height,a=[{x:0,y:0},{x:r+i/2,y:0},{x:r,y:-i/2},{x:r+i/2,y:-i},{x:0,y:-i}],o=de(t,r,i,a);return n.intersect=function(t){return Qt.a.intersect.polygon(n,a,t)},o}function le(t,e,n){var r=e.height,i=e.width+r/4,a=t.insert("rect",":first-child").attr("rx",r/2).attr("ry",r/2).attr("x",-i/2).attr("y",-r/2).attr("width",i).attr("height",r);return n.intersect=function(t){return Qt.a.intersect.rect(n,t)},a}function he(t,e,n){var r=e.width,i=e.height,a=[{x:0,y:0},{x:r,y:0},{x:r,y:-i},{x:0,y:-i},{x:0,y:0},{x:-8,y:0},{x:r+8,y:0},{x:r+8,y:-i},{x:-8,y:-i},{x:-8,y:0}],o=de(t,r,i,a);return n.intersect=function(t){return Qt.a.intersect.polygon(n,a,t)},o}function fe(t,e,n){var r=e.width,i=r/2,a=i/(2.5+r/50),o=e.height+a,s="M 0,"+a+" a "+i+","+a+" 0,0,0 "+r+" 0 a "+i+","+a+" 0,0,0 "+-r+" 0 l 0,"+o+" a "+i+","+a+" 0,0,0 "+r+" 0 l 0,"+-o,c=t.attr("label-offset-y",a).insert("path",":first-child").attr("d",s).attr("transform","translate("+-r/2+","+-(o/2+a)+")");return n.intersect=function(t){var e=Qt.a.intersect.rect(n,t),r=e.x-n.x;if(0!=i&&(Math.abs(r)<n.width/2||Math.abs(r)==n.width/2&&Math.abs(e.y-n.y)>n.height/2-a)){var o=a*a*(1-r*r/(i*i));0!=o&&(o=Math.sqrt(o)),o=a-o,t.y-n.y>0&&(o=-o),e.y+=o}return e},c}function de(t,e,n,r){return t.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("transform","translate("+-e/2+","+n/2+")")}var pe={addToRender:function(t){t.shapes().question=ne,t.shapes().hexagon=re,t.shapes().stadium=le,t.shapes().subroutine=he,t.shapes().cylinder=fe,t.shapes().rect_left_inv_arrow=ie,t.shapes().lean_right=ae,t.shapes().lean_left=oe,t.shapes().trapezoid=se,t.shapes().inv_trapezoid=ce,t.shapes().rect_right_inv_arrow=ue},addToRenderV2:function(t){t({question:ne}),t({hexagon:re}),t({stadium:le}),t({subroutine:he}),t({cylinder:fe}),t({rect_left_inv_arrow:ie}),t({lean_right:ae}),t({lean_left:oe}),t({trapezoid:se}),t({inv_trapezoid:ce}),t({rect_right_inv_arrow:ue})}},ge={},ye=function(t,e,n){var r=Object(d.select)('[id="'.concat(n,'"]'));Object.keys(t).forEach((function(n){var i=t[n],a="default";i.classes.length>0&&(a=i.classes.join(" "));var o,s=B(i.styles),u=void 0!==i.text?i.text:i.id;if(_t().flowchart.htmlLabels){var l={label:u.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"<i class='".concat(t.replace(":"," "),"'></i>")}))};(o=ee()(r,l).node()).parentNode.removeChild(o)}else{var h=document.createElementNS("http://www.w3.org/2000/svg","text");h.setAttribute("style",s.labelStyle.replace("color:","fill:"));for(var f=u.split(x.lineBreakRegex),d=0;d<f.length;d++){var p=document.createElementNS("http://www.w3.org/2000/svg","tspan");p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),p.setAttribute("dy","1em"),p.setAttribute("x","1"),p.textContent=f[d],h.appendChild(p)}o=h}var g=0,y="";switch(i.type){case"round":g=5,y="rect";break;case"square":y="rect";break;case"diamond":y="question";break;case"hexagon":y="hexagon";break;case"odd":y="rect_left_inv_arrow";break;case"lean_right":y="lean_right";break;case"lean_left":y="lean_left";break;case"trapezoid":y="trapezoid";break;case"inv_trapezoid":y="inv_trapezoid";break;case"odd_right":y="rect_left_inv_arrow";break;case"circle":y="circle";break;case"ellipse":y="ellipse";break;case"stadium":y="stadium";break;case"subroutine":y="subroutine";break;case"cylinder":y="cylinder";break;case"group":y="rect";break;default:y="rect"}c.warn("Adding node",i.id,i.domId),e.setNode(Xt.lookUpDomId(i.id),{labelType:"svg",labelStyle:s.labelStyle,shape:y,label:o,rx:g,ry:g,class:a,style:s.style,id:Xt.lookUpDomId(i.id)})}))},ve=function(t,e){var n,r,i=0;if(void 0!==t.defaultStyle){var a=B(t.defaultStyle);n=a.style,r=a.labelStyle}t.forEach((function(a){i++;var o="L-"+a.start+"-"+a.end,s="LS-"+a.start,c="LE-"+a.end,u={};"arrow_open"===a.type?u.arrowhead="none":u.arrowhead="normal";var l="",h="";if(void 0!==a.style){var f=B(a.style);l=f.style,h=f.labelStyle}else switch(a.stroke){case"normal":l="fill:none",void 0!==n&&(l=n),void 0!==r&&(h=r);break;case"dotted":l="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":l=" stroke-width: 3.5px;fill:none"}u.style=l,u.labelStyle=h,void 0!==a.interpolate?u.curve=D(a.interpolate,d.curveLinear):void 0!==t.defaultInterpolate?u.curve=D(t.defaultInterpolate,d.curveLinear):u.curve=D(ge.curve,d.curveLinear),void 0===a.text?void 0!==a.style&&(u.arrowheadStyle="fill: #333"):(u.arrowheadStyle="fill: #333",u.labelpos="c",_t().flowchart.htmlLabels?(u.labelType="html",u.label='<span id="L-'.concat(o,'" class="edgeLabel L-').concat(s,"' L-").concat(c,'">').concat(a.text.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"<i class='".concat(t.replace(":"," "),"'></i>")})),"</span>")):(u.labelType="text",u.label=a.text.replace(x.lineBreakRegex,"\n"),void 0===a.style&&(u.style=u.style||"stroke: #333; stroke-width: 1.5px;fill:none"),u.labelStyle=u.labelStyle.replace("color:","fill:"))),u.id=o,u.class=s+" "+c,u.minlen=a.length||1,e.setEdge(Xt.lookUpDomId(a.start),Xt.lookUpDomId(a.end),u,i)}))},me=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)ge[e[n]]=t[e[n]]},be=function(t){c.info("Extracting classes"),Xt.clear();try{var e=Jt.a.parser;return e.yy=Xt,e.parse(t),Xt.getClasses()}catch(t){return}},xe=function(t,e){c.info("Drawing flowchart"),Xt.clear(),Xt.setGen("gen-1");var n=Jt.a.parser;n.yy=Xt,n.parse(t);var r=Xt.getDirection();void 0===r&&(r="TD");for(var i,a=_t().flowchart,o=a.nodeSpacing||50,s=a.rankSpacing||50,u=new G.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:o,ranksep:s,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),l=Xt.getSubGraphs(),h=l.length-1;h>=0;h--)i=l[h],Xt.addVertex(i.id,i.title,"group",void 0,i.classes);var f=Xt.getVertices();c.warn("Get vertices",f);var p=Xt.getEdges(),g=0;for(g=l.length-1;g>=0;g--){i=l[g],Object(d.selectAll)("cluster").append("text");for(var y=0;y<i.nodes.length;y++)c.warn("Setting subgraph",i.nodes[y],Xt.lookUpDomId(i.nodes[y]),Xt.lookUpDomId(i.id)),u.setParent(Xt.lookUpDomId(i.nodes[y]),Xt.lookUpDomId(i.id))}ye(f,u,e),ve(p,u);var v=new(0,Qt.a.render);pe.addToRender(v),v.arrows().none=function(t,e,n,r){var i=t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 0 0 L 0 0 z");Qt.a.util.applyStyle(i,n[r+"Style"])},v.arrows().normal=function(t,e){t.append("marker").attr("id",e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};var m=Object(d.select)('[id="'.concat(e,'"]'));m.attr("xmlns:xlink","http://www.w3.org/1999/xlink"),c.warn(u);var b=Object(d.select)("#"+e+" g");v(b,u),b.selectAll("g.node").attr("title",(function(){return Xt.getTooltip(this.id)}));var x=a.diagramPadding,_=m.node().getBBox(),k=_.width+2*x,w=_.height+2*x;W(m,w,k,a.useMaxWidth);var E="".concat(_.x-x," ").concat(_.y-x," ").concat(k," ").concat(w);for(c.debug("viewBox ".concat(E)),m.attr("viewBox",E),Xt.indexNodes("subGraph"+g),g=0;g<l.length;g++)if("undefined"!==(i=l[g]).title){var T=document.querySelectorAll("#"+e+' [id="'+Xt.lookUpDomId(i.id)+'"] rect'),C=document.querySelectorAll("#"+e+' [id="'+Xt.lookUpDomId(i.id)+'"]'),A=T[0].x.baseVal.value,S=T[0].y.baseVal.value,M=T[0].width.baseVal.value,O=Object(d.select)(C[0]).select(".label");O.attr("transform","translate(".concat(A+M/2,", ").concat(S+14,")")),O.attr("id",e+"Text");for(var D=0;D<i.classes.length;D++)C[0].classList.add(i.classes[D])}a.htmlLabels;for(var N=document.querySelectorAll('[id="'+e+'"] .edgeLabel .label'),B=0;B<N.length;B++){var L=N[B],P=L.getBBox(),I=document.createElementNS("http://www.w3.org/2000/svg","rect");I.setAttribute("rx",0),I.setAttribute("ry",0),I.setAttribute("width",P.width),I.setAttribute("height",P.height),L.insertBefore(I,L.firstChild)}Object.keys(f).forEach((function(t){var n=f[t];if(n.link){var r=Object(d.select)("#"+e+' [id="'+Xt.lookUpDomId(t)+'"]');if(r){var i=document.createElementNS("http://www.w3.org/2000/svg","a");i.setAttributeNS("http://www.w3.org/2000/svg","class",n.classes.join(" ")),i.setAttributeNS("http://www.w3.org/2000/svg","href",n.link),i.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),n.linkTarget&&i.setAttributeNS("http://www.w3.org/2000/svg","target",n.linkTarget);var a=r.insert((function(){return i}),":first-child"),o=r.select(".label-container");o&&a.append((function(){return o.node()}));var s=r.select(".label");s&&a.append((function(){return s.node()}))}}}))},_e=n(18),ke=n.n(_e),we={extension:function(t,e,n){c.trace("Making markers for ",n),t.append("defs").append("marker").attr("id",e+"-extensionStart").attr("class","marker extension "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:function(t,e){t.append("defs").append("marker").attr("id",e+"-compositionStart").attr("class","marker composition "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:function(t,e){t.append("defs").append("marker").attr("id",e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:function(t,e){t.append("defs").append("marker").attr("id",e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},point:function(t,e){t.append("marker").attr("id",e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:function(t,e){t.append("marker").attr("id",e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:function(t,e){t.append("marker").attr("id",e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:function(t,e){t.append("defs").append("marker").attr("id",e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},Ee=function(t,e,n,r){e.forEach((function(e){we[e](t,n,r)}))};var Te=function(t,e,n,r){var i=t||"";if(_t().flowchart.htmlLabels)return i=i.replace(/\\n|\n/g,"<br />"),c.info("vertexText"+i),function(t){var e,n,r=Object(d.select)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),i=r.append("xhtml:div"),a=t.label,o=t.isNode?"nodeLabel":"edgeLabel";return i.html('<span class="'+o+'">'+a+"</span>"),e=i,(n=t.labelStyle)&&e.attr("style",n),i.style("display","inline-block"),i.style("white-space","nowrap"),i.attr("xmlns","http://www.w3.org/1999/xhtml"),r.node()}({isNode:r,label:i.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"<i class='".concat(t.replace(":"," "),"'></i>")})),labelStyle:e.replace("fill:","color:")});var a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));var o=[];o="string"==typeof i?i.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(i)?i:[];for(var s=0;s<o.length;s++){var u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),n?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=o[s].trim(),a.appendChild(u)}return a},Ce=function(t,e,n,r){var i;i=n||"node default";var a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),o=a.insert("g").attr("class","label").attr("style",e.labelStyle),s=o.node().appendChild(Te(e.labelText,e.labelStyle,!1,r)),c=s.getBBox();if(_t().flowchart.htmlLabels){var u=s.children[0],l=Object(d.select)(s);c=u.getBoundingClientRect(),l.attr("width",c.width),l.attr("height",c.height)}var h=e.padding/2;return o.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"),{shapeSvg:a,bbox:c,halfPadding:h,label:o}},Ae=function(t,e){var n=e.node().getBBox();t.width=n.width,t.height=n.height};function Se(t,e,n,r){return t.insert("polygon",":first-child").attr("points",r.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+n/2+")")}var Me={},Oe={},De={},Ne=function(t,e){return c.debug("In isDecendant",e," ",t," = ",Oe[e].indexOf(t)>=0),Oe[e].indexOf(t)>=0},Be=function t(e,n,r,i){c.warn("Copying children of ",e,"root",i,"data",n.node(e),i);var a=n.children(e)||[];e!==i&&a.push(e),c.warn("Copying (nodes) clusterId",e,"nodes",a),a.forEach((function(a){if(n.children(a).length>0)t(a,n,r,i);else{var o=n.node(a);c.info("cp ",a," to ",i," with parent ",e),r.setNode(a,o),i!==n.parent(a)&&(c.warn("Setting parent",a,n.parent(a)),r.setParent(a,n.parent(a))),e!==i&&a!==e?(c.debug("Setting parent",a,e),r.setParent(a,e)):(c.info("In copy ",e,"root",i,"data",n.node(e),i),c.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==i,"node!==clusterId",a!==e));var s=n.edges(a);c.debug("Copying Edges",s),s.forEach((function(t){c.info("Edge",t);var a=n.edge(t.v,t.w,t.name);c.info("Edge data",a,i);try{!function(t,e){return c.info("Decendants of ",e," is ",Oe[e]),c.info("Edge is ",t),t.v!==e&&(t.w!==e&&(Oe[e]?(c.info("Here "),Oe[e].indexOf(t.v)>=0||(!!Ne(t.v,e)||(!!Ne(t.w,e)||Oe[e].indexOf(t.w)>=0))):(c.debug("Tilt, ",e,",not in decendants"),!1)))}(t,i)?c.info("Skipping copy of edge ",t.v,"--\x3e",t.w," rootId: ",i," clusterId:",e):(c.info("Copying as ",t.v,t.w,a,t.name),r.setEdge(t.v,t.w,a,t.name),c.info("newGraph edges ",r.edges(),r.edge(r.edges()[0])))}catch(t){c.error(t)}}))}c.debug("Removing node",a),n.removeNode(a)}))},Le=function t(e,n){c.trace("Searching",e);var r=n.children(e);if(c.trace("Searching children of id ",e,r),r.length<1)return c.trace("This is a valid node",e),e;for(var i=0;i<r.length;i++){var a=t(r[i],n);if(a)return c.trace("Found replacement for",e," => ",a),a}},Pe=function(t){return Me[t]&&Me[t].externalConnections&&Me[t]?Me[t].id:t},Ie=function(t,e){!t||e>10?c.debug("Opting out, no graph "):(c.debug("Opting in, graph "),t.nodes().forEach((function(e){t.children(e).length>0&&(c.warn("Cluster identified",e," Replacement id in edges: ",Le(e,t)),Oe[e]=function t(e,n){for(var r=n.children(e),i=[].concat(r),a=0;a<r.length;a++)De[r[a]]=e,i=i.concat(t(r[a],n));return i}(e,t),Me[e]={id:Le(e,t),clusterData:t.node(e)})})),t.nodes().forEach((function(e){var n=t.children(e),r=t.edges();n.length>0?(c.debug("Cluster identified",e,Oe),r.forEach((function(t){t.v!==e&&t.w!==e&&(Ne(t.v,e)^Ne(t.w,e)&&(c.warn("Edge: ",t," leaves cluster ",e),c.warn("Decendants of XXX ",e,": ",Oe[e]),Me[e].externalConnections=!0))}))):c.debug("Not a cluster ",e,Oe)})),t.edges().forEach((function(e){var n=t.edge(e);c.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),c.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t.edge(e)));var r=e.v,i=e.w;c.warn("Fix XXX",Me,"ids:",e.v,e.w,"Translateing: ",Me[e.v]," --- ",Me[e.w]),(Me[e.v]||Me[e.w])&&(c.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),r=Pe(e.v),i=Pe(e.w),t.removeEdge(e.v,e.w,e.name),r!==e.v&&(n.fromCluster=e.v),i!==e.w&&(n.toCluster=e.w),c.warn("Fix Replacing with XXX",r,i,e.name),t.setEdge(r,i,n,e.name))})),c.warn("Adjusted Graph",G.a.json.write(t)),Fe(t,0),c.trace(Me))},Fe=function t(e,n){if(c.warn("extractor - ",n,G.a.json.write(e),e.children("D")),n>10)c.error("Bailing out");else{for(var r=e.nodes(),i=!1,a=0;a<r.length;a++){var o=r[a],s=e.children(o);i=i||s.length>0}if(i){c.debug("Nodes = ",r,n);for(var u=0;u<r.length;u++){var l=r[u];if(c.debug("Extracting node",l,Me,Me[l]&&!Me[l].externalConnections,!e.parent(l),e.node(l),e.children("D")," Depth ",n),Me[l])if(!Me[l].externalConnections&&e.children(l)&&e.children(l).length>0){c.warn("Cluster without external connections, without a parent and with children",l,n);var h=e.graph(),f=new G.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:"TB"===h.rankdir?"LR":"TB",nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));c.warn("Old graph before copy",G.a.json.write(e)),Be(l,e,f,l),e.setNode(l,{clusterNode:!0,id:l,clusterData:Me[l].clusterData,labelText:Me[l].labelText,graph:f}),c.warn("New graph after copy node: (",l,")",G.a.json.write(f)),c.debug("Old graph after copy",G.a.json.write(e))}else c.warn("Cluster ** ",l," **not meeting the criteria !externalConnections:",!Me[l].externalConnections," no parent: ",!e.parent(l)," children ",e.children(l)&&e.children(l).length>0,e.children("D"),n),c.debug(Me);else c.debug("Not a cluster",l,n)}r=e.nodes(),c.warn("New list of nodes",r);for(var d=0;d<r.length;d++){var p=r[d],g=e.node(p);c.warn(" Now next level",p,g),g.clusterNode&&t(g.graph,n+1)}}else c.debug("Done, no node has children",e.nodes())}},je=function(t){return function t(e,n){if(0===n.length)return[];var r=Object.assign(n);return n.forEach((function(n){var i=e.children(n),a=t(e,i);r=r.concat(a)})),r}(t,t.children())},Re=n(170);var Ye=function(t,e,n,r){var i=t.x,a=t.y,o=i-r.x,s=a-r.y,c=Math.sqrt(e*e*s*s+n*n*o*o),u=Math.abs(e*n*o/c);r.x<i&&(u=-u);var l=Math.abs(e*n*s/c);return r.y<a&&(l=-l),{x:i+u,y:a+l}};var ze=function(t,e,n){return Ye(t,e,e,n)};function Ue(t,e){return t*e>0}var $e=function(t,e,n,r){var i,a,o,s,c,u,l,h,f,d,p,g,y;if(i=e.y-t.y,o=t.x-e.x,c=e.x*t.y-t.x*e.y,f=i*n.x+o*n.y+c,d=i*r.x+o*r.y+c,!(0!==f&&0!==d&&Ue(f,d)||(a=r.y-n.y,s=n.x-r.x,u=r.x*n.y-n.x*r.y,l=a*t.x+s*t.y+u,h=a*e.x+s*e.y+u,0!==l&&0!==h&&Ue(l,h)||0==(p=i*s-a*o))))return g=Math.abs(p/2),{x:(y=o*u-s*c)<0?(y-g)/p:(y+g)/p,y:(y=a*c-i*u)<0?(y-g)/p:(y+g)/p}},We=function(t,e,n){var r=t.x,i=t.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){o=Math.min(o,t.x),s=Math.min(s,t.y)})):(o=Math.min(o,e.x),s=Math.min(s,e.y));for(var c=r-t.width/2-o,u=i-t.height/2-s,l=0;l<e.length;l++){var h=e[l],f=e[l<e.length-1?l+1:0],d=$e(t,n,{x:c+h.x,y:u+h.y},{x:c+f.x,y:u+f.y});d&&a.push(d)}if(!a.length)return t;a.length>1&&a.sort((function(t,e){var r=t.x-n.x,i=t.y-n.y,a=Math.sqrt(r*r+i*i),o=e.x-n.x,s=e.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}));return a[0]};var He=function(t,e){var n,r,i=t.x,a=t.y,o=e.x-i,s=e.y-a,c=t.width/2,u=t.height/2;return Math.abs(s)*c>Math.abs(o)*u?(s<0&&(u=-u),n=0===s?0:u*o/s,r=u):(o<0&&(c=-c),n=c,r=0===o?0:c*s/o),{x:i+n,y:a+r}},Ve={node:n.n(Re).a,circle:ze,ellipse:Ye,polygon:We,rect:He},Ge=function(t,e){var n=Ce(t,e,"node "+e.classes,!0),r=n.shapeSvg,i=n.bbox,a=n.halfPadding;c.info("Classes = ",e.classes);var o=r.insert("rect",":first-child");return o.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),Ae(e,o),e.intersect=function(t){return Ve.rect(e,t)},r};function qe(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var Xe=[],Ze={},Je=0,Ke=[],Qe=function(t){var e="",n=t;if(t.indexOf("~")>0){var r=t.split("~");n=r[0],e=r[1]}return{className:n,type:e}},tn=function(t){var e=Qe(t);void 0===Ze[e.className]&&(Ze[e.className]={id:e.className,type:e.type,cssClasses:[],methods:[],members:[],annotations:[],domId:"classid-"+e.className+"-"+Je},Je++)},en=function(t){for(var e=Object.keys(Ze),n=0;n<e.length;n++)if(Ze[e[n]].id===t)return Ze[e[n]].domId},nn=function(t,e){var n=Qe(t).className,r=Ze[n];if("string"==typeof e){var i=e.trim();i.startsWith("<<")&&i.endsWith(">>")?r.annotations.push(i.substring(2,i.length-2)):i.indexOf(")")>0?r.methods.push(i):i&&r.members.push(i)}},rn=function(t,e){t.split(",").forEach((function(t){var n=t;t[0].match(/\d/)&&(n="classid-"+n),void 0!==Ze[n]&&Ze[n].cssClasses.push(e)}))},an=function(t,e,n){var r=_t(),i=t,a=en(i);if("loose"===r.securityLevel&&void 0!==e&&void 0!==Ze[i]){var o=[];if("string"==typeof n){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(var s=0;s<o.length;s++){var c=o[s].trim();'"'===c.charAt(0)&&'"'===c.charAt(c.length-1)&&(c=c.substr(1,c.length-2)),o[s]=c}}0===o.length&&o.push(a),Ke.push((function(){var t=document.querySelector('[id="'.concat(a,'"]'));null!==t&&t.addEventListener("click",(function(){H.runFunc.apply(H,[e].concat(qe(o)))}),!1)}))}},on={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},sn=function(t){var e=Object(d.select)(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=Object(d.select)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Object(d.select)(t).select("svg").selectAll("g.node").on("mouseover",(function(){var t=Object(d.select)(this);if(null!==t.attr("title")){var n=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.html(t.attr("title")).style("left",window.scrollX+n.left+(n.right-n.left)/2+"px").style("top",window.scrollY+n.top-14+document.body.scrollTop+"px"),t.classed("hover",!0)}})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),Object(d.select)(this).classed("hover",!1)}))};Ke.push(sn);var cn={parseDirective:function(t,e,n){Go.parseDirective(this,t,e,n)},getConfig:function(){return _t().class},addClass:tn,bindFunctions:function(t){Ke.forEach((function(e){e(t)}))},clear:function(){Xe=[],Ze={},(Ke=[]).push(sn)},getClass:function(t){return Ze[t]},getClasses:function(){return Ze},addAnnotation:function(t,e){var n=Qe(t).className;Ze[n].annotations.push(e)},getRelations:function(){return Xe},addRelation:function(t){c.debug("Adding relation: "+JSON.stringify(t)),tn(t.id1),tn(t.id2),t.id1=Qe(t.id1).className,t.id2=Qe(t.id2).className,Xe.push(t)},addMember:nn,addMembers:function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach((function(e){return nn(t,e)})))},cleanupLabel:function(t){return":"===t.substring(0,1)?t.substr(1).trim():t.trim()},lineType:{LINE:0,DOTTED_LINE:1},relationType:on,setClickEvent:function(t,e,n){t.split(",").forEach((function(t){an(t,e,n),Ze[t].haveCallback=!0})),rn(t,"clickable")},setCssClass:rn,setLink:function(t,e,n){var r=_t();t.split(",").forEach((function(t){var i=t;t[0].match(/\d/)&&(i="classid-"+i),void 0!==Ze[i]&&(Ze[i].link=H.formatUrl(e,r),Ze[i].linkTarget="string"==typeof n?n:"_blank")})),rn(t,"clickable")},setTooltip:function(t,e){var n=_t();t.split(",").forEach((function(t){void 0!==e&&(Ze[t].tooltip=x.sanitizeText(e,n))}))},lookUpDomId:en},un=0,ln=function(t){var e=t.match(/(\+|-|~|#)?(\w+)(~\w+~|\[\])?\s+(\w+)/),n=t.match(/^([+|\-|~|#])?(\w+) *\( *(.*)\) *(\*|\$)? *(\w*[~|[\]]*\s*\w*~?)$/);return e&&!n?hn(e):n?fn(n):dn(t)},hn=function(t){var e="";try{e=(t[1]?t[1].trim():"")+(t[2]?t[2].trim():"")+(t[3]?gn(t[3].trim()):"")+" "+(t[4]?t[4].trim():"")}catch(n){e=t}return{displayText:e,cssStyle:""}},fn=function(t){var e="",n="";try{var r=t[1]?t[1].trim():"",i=t[2]?t[2].trim():"",a=t[3]?gn(t[3].trim()):"",o=t[4]?t[4].trim():"";n=r+i+"("+a+")"+(t[5]?" : "+gn(t[5]).trim():""),e=yn(o)}catch(e){n=t}return{displayText:n,cssStyle:e}},dn=function(t){var e="",n="",r="",i=t.indexOf("("),a=t.indexOf(")");if(i>1&&a>i&&a<=t.length){var o="",s="",c=t.substring(0,1);c.match(/\w/)?s=t.substring(0,i).trim():(c.match(/\+|-|~|#/)&&(o=c),s=t.substring(1,i).trim());var u=t.substring(i+1,a),l=t.substring(a+1,1);n=yn(l),e=o+s+"("+gn(u.trim())+")",a<"".length&&""!==(r=t.substring(a+2).trim())&&(r=" : "+gn(r))}else e=gn(t);return{displayText:e,cssStyle:n}},pn=function(t,e,n,r){var i=ln(e),a=t.append("tspan").attr("x",r.padding).text(i.displayText);""!==i.cssStyle&&a.attr("style",i.cssStyle),n||a.attr("dy",r.textHeight)},gn=function t(e){var n=e;return-1!=e.indexOf("~")?t(n=(n=n.replace("~","<")).replace("~",">")):n},yn=function(t){switch(t){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}},vn=function(t,e,n){c.info("Rendering class "+e);var r,i=e.id,a={id:i,label:e.id,width:0,height:0},o=t.append("g").attr("id",en(i)).attr("class","classGroup");r=e.link?o.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",n.textHeight+n.padding).attr("x",0):o.append("text").attr("y",n.textHeight+n.padding).attr("x",0);var s=!0;e.annotations.forEach((function(t){var e=r.append("tspan").text("«"+t+"»");s||e.attr("dy",n.textHeight),s=!1}));var u=e.id;void 0!==e.type&&""!==e.type&&(u+="<"+e.type+">");var l=r.append("tspan").text(u).attr("class","title");s||l.attr("dy",n.textHeight);var h=r.node().getBBox().height,f=o.append("line").attr("x1",0).attr("y1",n.padding+h+n.dividerMargin/2).attr("y2",n.padding+h+n.dividerMargin/2),d=o.append("text").attr("x",n.padding).attr("y",h+n.dividerMargin+n.textHeight).attr("fill","white").attr("class","classText");s=!0,e.members.forEach((function(t){pn(d,t,s,n),s=!1}));var p=d.node().getBBox(),g=o.append("line").attr("x1",0).attr("y1",n.padding+h+n.dividerMargin+p.height).attr("y2",n.padding+h+n.dividerMargin+p.height),y=o.append("text").attr("x",n.padding).attr("y",h+2*n.dividerMargin+p.height+n.textHeight).attr("fill","white").attr("class","classText");s=!0,e.methods.forEach((function(t){pn(y,t,s,n),s=!1}));var v=o.node().getBBox(),m=" ";e.cssClasses.length>0&&(m+=e.cssClasses.join(" "));var b=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",v.width+2*n.padding).attr("height",v.height+n.padding+.5*n.dividerMargin).attr("class",m).node().getBBox().width;return r.node().childNodes.forEach((function(t){t.setAttribute("x",(b-t.getBBox().width)/2)})),e.tooltip&&r.insert("title").text(e.tooltip),f.attr("x2",b),g.attr("x2",b),a.width=b,a.height=v.height+n.padding+.5*n.dividerMargin,a},mn=function(t,e,n,r){var i=function(t){switch(t){case on.AGGREGATION:return"aggregation";case on.EXTENSION:return"extension";case on.COMPOSITION:return"composition";case on.DEPENDENCY:return"dependency"}};e.points=e.points.filter((function(t){return!Number.isNaN(t.y)}));var a,o,s=e.points,u=Object(d.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(d.curveBasis),l=t.append("path").attr("d",u(s)).attr("id","edge"+un).attr("class","relation"),h="";r.arrowMarkerAbsolute&&(h=(h=(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),1==n.relation.lineType&&l.attr("class","relation dashed-line"),"none"!==n.relation.type1&&l.attr("marker-start","url("+h+"#"+i(n.relation.type1)+"Start)"),"none"!==n.relation.type2&&l.attr("marker-end","url("+h+"#"+i(n.relation.type2)+"End)");var f,p,g,y,v=e.points.length,m=H.calcLabelPosition(e.points);if(a=m.x,o=m.y,v%2!=0&&v>1){var b=H.calcCardinalityPosition("none"!==n.relation.type1,e.points,e.points[0]),x=H.calcCardinalityPosition("none"!==n.relation.type2,e.points,e.points[v-1]);c.debug("cardinality_1_point "+JSON.stringify(b)),c.debug("cardinality_2_point "+JSON.stringify(x)),f=b.x,p=b.y,g=x.x,y=x.y}if(void 0!==n.title){var _=t.append("g").attr("class","classLabel"),k=_.append("text").attr("class","label").attr("x",a).attr("y",o).attr("fill","red").attr("text-anchor","middle").text(n.title);window.label=k;var w=k.node().getBBox();_.insert("rect",":first-child").attr("class","box").attr("x",w.x-r.padding/2).attr("y",w.y-r.padding/2).attr("width",w.width+r.padding).attr("height",w.height+r.padding)}(c.info("Rendering relation "+JSON.stringify(n)),void 0!==n.relationTitle1&&"none"!==n.relationTitle1)&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",f).attr("y",p).attr("fill","black").attr("font-size","6").text(n.relationTitle1);void 0!==n.relationTitle2&&"none"!==n.relationTitle2&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",g).attr("y",y).attr("fill","black").attr("font-size","6").text(n.relationTitle2);un++},bn=function(t,e,n){var r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;"LR"===n&&(i=10,a=70);var o=r.append("rect").style("stroke","black").style("fill","black").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return Ae(e,o),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return Ve.rect(e,t)},r},xn={question:function(t,e){var n=Ce(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+e.padding+(i.height+e.padding),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}];c.info("Question main (Circle)");var s=Se(r,a,a,o);return Ae(e,s),e.intersect=function(t){return c.warn("Intersect called"),Ve.polygon(e,o,t)},r},rect:function(t,e){var n=Ce(t,e,"node "+e.classes,!0),r=n.shapeSvg,i=n.bbox,a=n.halfPadding;c.trace("Classes = ",e.classes);var o=r.insert("rect",":first-child");return o.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),Ae(e,o),e.intersect=function(t){return Ve.rect(e,t)},r},rectWithTitle:function(t,e){var n;n=e.classes?"node "+e.classes:"node default";var r=t.insert("g").attr("class",n).attr("id",e.domId||e.id),i=r.insert("rect",":first-child"),a=r.insert("line"),o=r.insert("g").attr("class","label"),s=e.labelText.flat();c.info("Label text",s[0]);var u,l=o.node().appendChild(Te(s[0],e.labelStyle,!0,!0));if(_t().flowchart.htmlLabels){var h=l.children[0],f=Object(d.select)(l);u=h.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}c.info("Text 2",s);var p=s.slice(1,s.length),g=l.getBBox(),y=o.node().appendChild(Te(p.join("<br/>"),e.labelStyle,!0,!0));if(_t().flowchart.htmlLabels){var v=y.children[0],m=Object(d.select)(y);u=v.getBoundingClientRect(),m.attr("width",u.width),m.attr("height",u.height)}var b=e.padding/2;return Object(d.select)(y).attr("transform","translate( "+(u.width>g.width?0:(g.width-u.width)/2)+", "+(g.height+b+5)+")"),Object(d.select)(l).attr("transform","translate( "+(u.width<g.width?0:-(g.width-u.width)/2)+", 0)"),u=o.node().getBBox(),o.attr("transform","translate("+-u.width/2+", "+(-u.height/2-b+3)+")"),i.attr("class","outer title-state").attr("x",-u.width/2-b).attr("y",-u.height/2-b).attr("width",u.width+e.padding).attr("height",u.height+e.padding),a.attr("class","divider").attr("x1",-u.width/2-b).attr("x2",u.width/2+b).attr("y1",-u.height/2-b+g.height+b).attr("y2",-u.height/2-b+g.height+b),Ae(e,i),e.intersect=function(t){return Ve.rect(e,t)},r},circle:function(t,e){var n=Ce(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=n.halfPadding,o=r.insert("circle",":first-child");return o.attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),c.info("Circle main"),Ae(e,o),e.intersect=function(t){return c.info("Circle intersect",e,i.width/2+a,t),Ve.circle(e,i.width/2+a,t)},r},stadium:function(t,e){var n=Ce(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.height+e.padding,o=i.width+a/4+e.padding,s=r.insert("rect",":first-child").attr("rx",a/2).attr("ry",a/2).attr("x",-o/2).attr("y",-a/2).attr("width",o).attr("height",a);return Ae(e,s),e.intersect=function(t){return Ve.rect(e,t)},r},hexagon:function(t,e){var n=Ce(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.height+e.padding,o=a/4,s=i.width+2*o+e.padding,c=Se(r,s,a,[{x:o,y:0},{x:s-o,y:0},{x:s,y:-a/2},{x:s-o,y:-a},{x:o,y:-a},{x:0,y:-a/2}]);return Ae(e,c),e.intersect=function(t){return Ve.polygon(e,t)},r},rect_left_inv_arrow:function(t,e){var n=Ce(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+e.padding,o=i.height+e.padding,s=Se(r,a,o,[{x:-o/2,y:0},{x:a,y:0},{x:a,y:-o},{x:-o/2,y:-o},{x:0,y:-o/2}]);return Ae(e,s),e.intersect=function(t){return Ve.polygon(e,t)},r},lean_right:function(t,e){var n=Ce(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+e.padding,o=i.height+e.padding,s=Se(r,a,o,[{x:-2*o/6,y:0},{x:a-o/6,y:0},{x:a+2*o/6,y:-o},{x:o/6,y:-o}]);return Ae(e,s),e.intersect=function(t){return Ve.polygon(e,t)},r},lean_left:function(t,e){var n=Ce(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+e.padding,o=i.height+e.padding,s=Se(r,a,o,[{x:2*o/6,y:0},{x:a+o/6,y:0},{x:a-2*o/6,y:-o},{x:-o/6,y:-o}]);return Ae(e,s),e.intersect=function(t){return Ve.polygon(e,t)},r},trapezoid:function(t,e){var n=Ce(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+e.padding,o=i.height+e.padding,s=Se(r,a,o,[{x:-2*o/6,y:0},{x:a+2*o/6,y:0},{x:a-o/6,y:-o},{x:o/6,y:-o}]);return Ae(e,s),e.intersect=function(t){return Ve.polygon(e,t)},r},inv_trapezoid:function(t,e){var n=Ce(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+e.padding,o=i.height+e.padding,s=Se(r,a,o,[{x:o/6,y:0},{x:a-o/6,y:0},{x:a+2*o/6,y:-o},{x:-2*o/6,y:-o}]);return Ae(e,s),e.intersect=function(t){return Ve.polygon(e,t)},r},rect_right_inv_arrow:function(t,e){var n=Ce(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+e.padding,o=i.height+e.padding,s=Se(r,a,o,[{x:0,y:0},{x:a+o/2,y:0},{x:a,y:-o/2},{x:a+o/2,y:-o},{x:0,y:-o}]);return Ae(e,s),e.intersect=function(t){return Ve.polygon(e,t)},r},cylinder:function(t,e){var n=Ce(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+e.padding,o=a/2,s=o/(2.5+a/50),c=i.height+s+e.padding,u="M 0,"+s+" a "+o+","+s+" 0,0,0 "+a+" 0 a "+o+","+s+" 0,0,0 "+-a+" 0 l 0,"+c+" a "+o+","+s+" 0,0,0 "+a+" 0 l 0,"+-c,l=r.attr("label-offset-y",s).insert("path",":first-child").attr("d",u).attr("transform","translate("+-a/2+","+-(c/2+s)+")");return Ae(e,l),e.intersect=function(t){var n=Ve.rect(e,t),r=n.x-e.x;if(0!=o&&(Math.abs(r)<e.width/2||Math.abs(r)==e.width/2&&Math.abs(n.y-e.y)>e.height/2-s)){var i=s*s*(1-r*r/(o*o));0!=i&&(i=Math.sqrt(i)),i=s-i,t.y-e.y>0&&(i=-i),n.y+=i}return n},r},start:function(t,e){var n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=n.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Ae(e,r),e.intersect=function(t){return Ve.circle(e,7,t)},n},end:function(t,e){var n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),r=n.insert("circle",":first-child"),i=n.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),r.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Ae(e,i),e.intersect=function(t){return Ve.circle(e,7,t)},n},note:Ge,subroutine:function(t,e){var n=Ce(t,e,void 0,!0),r=n.shapeSvg,i=n.bbox,a=i.width+e.padding,o=i.height+e.padding,s=Se(r,a,o,[{x:0,y:0},{x:a,y:0},{x:a,y:-o},{x:0,y:-o},{x:0,y:0},{x:-8,y:0},{x:a+8,y:0},{x:a+8,y:-o},{x:-8,y:-o},{x:-8,y:0}]);return Ae(e,s),e.intersect=function(t){return Ve.polygon(e,t)},r},fork:bn,join:bn,class_box:function(t,e){var n,r=e.padding/2;n=e.classes?"node "+e.classes:"node default";var i=t.insert("g").attr("class",n).attr("id",e.domId||e.id),a=i.insert("rect",":first-child"),o=i.insert("line"),s=i.insert("line"),c=0,u=4,l=i.insert("g").attr("class","label"),h=0,f=e.classData.annotations&&e.classData.annotations[0],p=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",g=l.node().appendChild(Te(p,e.labelStyle,!0,!0)),y=g.getBBox();if(_t().flowchart.htmlLabels){var v=g.children[0],m=Object(d.select)(g);y=v.getBoundingClientRect(),m.attr("width",y.width),m.attr("height",y.height)}e.classData.annotations[0]&&(u+=y.height+4,c+=y.width);var b=e.classData.id;void 0!==e.classData.type&&""!==e.classData.type&&(b+="<"+e.classData.type+">");var x=l.node().appendChild(Te(b,e.labelStyle,!0,!0));Object(d.select)(x).attr("class","classTitle");var _=x.getBBox();if(_t().flowchart.htmlLabels){var k=x.children[0],w=Object(d.select)(x);_=k.getBoundingClientRect(),w.attr("width",_.width),w.attr("height",_.height)}u+=_.height+4,_.width>c&&(c=_.width);var E=[];e.classData.members.forEach((function(t){var n=ln(t).displayText,r=l.node().appendChild(Te(n,e.labelStyle,!0,!0)),i=r.getBBox();if(_t().flowchart.htmlLabels){var a=r.children[0],o=Object(d.select)(r);i=a.getBoundingClientRect(),o.attr("width",i.width),o.attr("height",i.height)}i.width>c&&(c=i.width),u+=i.height+4,E.push(r)})),u+=8;var T=[];if(e.classData.methods.forEach((function(t){var n=ln(t).displayText,r=l.node().appendChild(Te(n,e.labelStyle,!0,!0)),i=r.getBBox();if(_t().flowchart.htmlLabels){var a=r.children[0],o=Object(d.select)(r);i=a.getBoundingClientRect(),o.attr("width",i.width),o.attr("height",i.height)}i.width>c&&(c=i.width),u+=i.height+4,T.push(r)})),u+=8,f){var C=(c-y.width)/2;Object(d.select)(g).attr("transform","translate( "+(-1*c/2+C)+", "+-1*u/2+")"),h=y.height+4}var A=(c-_.width)/2;return Object(d.select)(x).attr("transform","translate( "+(-1*c/2+A)+", "+(-1*u/2+h)+")"),h+=_.height+4,o.attr("class","divider").attr("x1",-c/2-r).attr("x2",c/2+r).attr("y1",-u/2-r+8+h).attr("y2",-u/2-r+8+h),h+=8,E.forEach((function(t){Object(d.select)(t).attr("transform","translate( "+-c/2+", "+(-1*u/2+h+4)+")"),h+=_.height+4})),h+=8,s.attr("class","divider").attr("x1",-c/2-r).attr("x2",c/2+r).attr("y1",-u/2-r+8+h).attr("y2",-u/2-r+8+h),h+=8,T.forEach((function(t){Object(d.select)(t).attr("transform","translate( "+-c/2+", "+(-1*u/2+h)+")"),h+=_.height+4})),a.attr("class","outer title-state").attr("x",-c/2-r).attr("y",-u/2-r).attr("width",c+e.padding).attr("height",u+e.padding),Ae(e,a),e.intersect=function(t){return Ve.rect(e,t)},i}},_n={},kn=function(t){var e=_n[t.id];c.trace("Transforming node",t,"translate("+(t.x-t.width/2-5)+", "+(t.y-t.height/2-5)+")");t.clusterNode?e.attr("transform","translate("+(t.x-t.width/2-8)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")")},wn={rect:function(t,e){c.trace("Creating subgraph rect for ",e.id,e);var n=t.insert("g").attr("class","cluster"+(e.class?" "+e.class:"")).attr("id",e.id),r=n.insert("rect",":first-child"),i=n.insert("g").attr("class","cluster-label"),a=i.node().appendChild(Te(e.labelText,e.labelStyle,void 0,!0)),o=a.getBBox();if(_t().flowchart.htmlLabels){var s=a.children[0],u=Object(d.select)(a);o=s.getBoundingClientRect(),u.attr("width",o.width),u.attr("height",o.height)}var l=0*e.padding,h=l/2;c.trace("Data ",e,JSON.stringify(e)),r.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-h).attr("y",e.y-e.height/2-h).attr("width",e.width+l).attr("height",e.height+l),i.attr("transform","translate("+(e.x-o.width/2)+", "+(e.y-e.height/2+e.padding/3)+")");var f=r.node().getBBox();return e.width=f.width,e.height=f.height,e.intersect=function(t){return He(e,t)},n},roundedWithTitle:function(t,e){var n=t.insert("g").attr("class",e.classes).attr("id",e.id),r=n.insert("rect",":first-child"),i=n.insert("g").attr("class","cluster-label"),a=n.append("rect"),o=i.node().appendChild(Te(e.labelText,e.labelStyle,void 0,!0)),s=o.getBBox();if(_t().flowchart.htmlLabels){var c=o.children[0],u=Object(d.select)(o);s=c.getBoundingClientRect(),u.attr("width",s.width),u.attr("height",s.height)}s=o.getBBox();var l=0*e.padding,h=l/2;r.attr("class","outer").attr("x",e.x-e.width/2-h).attr("y",e.y-e.height/2-h).attr("width",e.width+l).attr("height",e.height+l),a.attr("class","inner").attr("x",e.x-e.width/2-h).attr("y",e.y-e.height/2-h+s.height-1).attr("width",e.width+l).attr("height",e.height+l-s.height-3),i.attr("transform","translate("+(e.x-s.width/2)+", "+(e.y-e.height/2-e.padding/3+(_t().flowchart.htmlLabels?5:3))+")");var f=r.node().getBBox();return e.width=f.width,e.height=f.height,e.intersect=function(t){return He(e,t)},n},noteGroup:function(t,e){var n=t.insert("g").attr("class","note-cluster").attr("id",e.id),r=n.insert("rect",":first-child"),i=0*e.padding,a=i/2;r.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");var o=r.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(t){return He(e,t)},n},divider:function(t,e){var n=t.insert("g").attr("class",e.classes).attr("id",e.id),r=n.insert("rect",":first-child"),i=0*e.padding,a=i/2;r.attr("class","divider").attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2).attr("width",e.width+i).attr("height",e.height+i);var o=r.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(t){return He(e,t)},n}},En={},Tn={},Cn={},An=function(t,e){var n=t.x,r=t.y,i=Math.abs(e.x-n),a=Math.abs(e.y-r),o=t.width/2,s=t.height/2;return i>=o||a>=s},Sn=function(t,e,n){c.warn("intersection calc o:",e," i:",n,t);var r=t.x,i=t.y,a=Math.abs(r-n.x),o=t.width/2,s=n.x<e.x?o-a:o+a,u=t.height/2,l=r-o,h=r+o,f=i-u,d=i+u;if(e.x===l||e.x===h||e.y===f||e.y===d)return c.warn("calc equals on edge"),e;var p=Math.abs(e.y-n.y),g=Math.abs(e.x-n.x);if(Math.abs(i-e.y)*o>Math.abs(r-e.x)*u){var y=n.y<e.y?e.y-u-i:i-u-e.y;s=g*y/p;var v={x:n.x<e.x?n.x+g-s:n.x-s,y:n.y<e.y?n.y+p-y:n.y-y};return c.warn("topp/bott calc, Q ".concat(p,", q ").concat(y,", R ").concat(g,", r ").concat(s),v),v}var m=m=p*(s=n.x<e.x?e.x-o-r:r-o-e.x)/g;return c.warn("sides calc, Q ".concat(p,", q ").concat(m,", R ").concat(g,", r ").concat(s),{x:n.x<e.x?n.x+g-s:n.x+a-o,y:n.y<e.y?n.y+m:n.y-m}),{x:n.x<e.x?n.x+g-s:n.x+a-o,y:n.y<e.y?n.y+m:n.y-m}},Mn=function t(e,n,r,i){c.info("Graph in recursive render: XXX",G.a.json.write(n),i);var a=n.graph().rankdir;c.warn("Dir in recursive render - dir:",a);var o=e.insert("g").attr("class","root");n.nodes()?c.info("Recursive render XXX",n.nodes()):c.info("No nodes found for",n),n.edges().length>0&&c.info("Recursive edges",n.edge(n.edges()[0]));var s=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),l=o.insert("g").attr("class","edgeLabels"),h=o.insert("g").attr("class","nodes");return n.nodes().forEach((function(e){var o=n.node(e);if(void 0!==i){var s=JSON.parse(JSON.stringify(i.clusterData));c.info("Setting data for cluster XXX (",e,") ",s,i),n.setNode(i.id,s),n.parent(e)||(c.warn("Setting parent",e,i.id),n.setParent(e,i.id,s))}if(c.info("(Insert) Node XXX"+e+": "+JSON.stringify(n.node(e))),o&&o.clusterNode){c.info("Cluster identified",e,o,n.node(e));var u=t(h,o.graph,r,n.node(e));Ae(o,u),function(t,e){_n[e.id]=t}(u,o),c.warn("Recursive render complete",u,o)}else n.children(e).length>0?(c.info("Cluster - the non recursive path XXX",e,o.id,o,n),c.info(Le(o.id,n)),Me[o.id]={id:Le(o.id,n),node:o}):(c.info("Node - the non recursive path",e,o.id,o),function(t,e,n){var r,i;e.link?(r=t.insert("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget||"_blank"),i=xn[e.shape](r,e,n)):r=i=xn[e.shape](t,e,n),e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),_n[e.id]=r,e.haveCallback&&_n[e.id].attr("class",_n[e.id].attr("class")+" clickable")}(h,n.node(e),a))})),n.edges().forEach((function(t){var e=n.edge(t.v,t.w,t.name);c.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),c.info("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(n.edge(t))),c.info("Fix",Me,"ids:",t.v,t.w,"Translateing: ",Me[t.v],Me[t.w]),function(t,e){var n=Te(e.label,e.labelStyle),r=t.insert("g").attr("class","edgeLabel"),i=r.insert("g").attr("class","label");i.node().appendChild(n);var a=n.getBBox();if(_t().flowchart.htmlLabels){var o=n.children[0],s=Object(d.select)(n);a=o.getBoundingClientRect(),s.attr("width",a.width),s.attr("height",a.height)}if(i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),Tn[e.id]=r,e.width=a.width,e.height=a.height,e.startLabelLeft){var c=Te(e.startLabelLeft,e.labelStyle),u=t.insert("g").attr("class","edgeTerminals"),l=u.insert("g").attr("class","inner");l.node().appendChild(c);var h=c.getBBox();l.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),Cn[e.id]||(Cn[e.id]={}),Cn[e.id].startLeft=u}if(e.startLabelRight){var f=Te(e.startLabelRight,e.labelStyle),p=t.insert("g").attr("class","edgeTerminals"),g=p.insert("g").attr("class","inner");p.node().appendChild(f),g.node().appendChild(f);var y=f.getBBox();g.attr("transform","translate("+-y.width/2+", "+-y.height/2+")"),Cn[e.id]||(Cn[e.id]={}),Cn[e.id].startRight=p}if(e.endLabelLeft){var v=Te(e.endLabelLeft,e.labelStyle),m=t.insert("g").attr("class","edgeTerminals"),b=m.insert("g").attr("class","inner");b.node().appendChild(v);var x=v.getBBox();b.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),m.node().appendChild(v),Cn[e.id]||(Cn[e.id]={}),Cn[e.id].endLeft=m}if(e.endLabelRight){var _=Te(e.endLabelRight,e.labelStyle),k=t.insert("g").attr("class","edgeTerminals"),w=k.insert("g").attr("class","inner");w.node().appendChild(_);var E=_.getBBox();w.attr("transform","translate("+-E.width/2+", "+-E.height/2+")"),k.node().appendChild(_),Cn[e.id]||(Cn[e.id]={}),Cn[e.id].endRight=k}}(l,e)})),n.edges().forEach((function(t){c.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t))})),c.info("#############################################"),c.info("### Layout ###"),c.info("#############################################"),c.info(n),ke.a.layout(n),c.info("Graph after layout:",G.a.json.write(n)),je(n).forEach((function(t){var e=n.node(t);c.info("Position "+t+": "+JSON.stringify(n.node(t))),c.info("Position "+t+": ("+e.x,","+e.y,") width: ",e.width," height: ",e.height),e&&e.clusterNode?kn(e):n.children(t).length>0?(!function(t,e){c.trace("Inserting cluster");var n=e.shape||"rect";En[e.id]=wn[n](t,e)}(s,e),Me[e.id].node=e):kn(e)})),n.edges().forEach((function(t){var e=n.edge(t);c.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e),e);var i=function(t,e,n,r,i,a){var o=n.points,s=!1,u=a.node(e.v),l=a.node(e.w);if(l.intersect&&u.intersect&&((o=o.slice(1,n.points.length-1)).unshift(u.intersect(o[0])),c.info("Last point",o[o.length-1],l,l.intersect(o[o.length-1])),o.push(l.intersect(o[o.length-1]))),n.toCluster){var h;c.trace("edge",n),c.trace("to cluster",r[n.toCluster]),o=[];var f=!1;n.points.forEach((function(t){var e=r[n.toCluster].node;if(An(e,t)||f)f||o.push(t);else{c.trace("inside",n.toCluster,t,h);var i=Sn(e,h,t),a=!1;o.forEach((function(t){a=a||t.x===i.x&&t.y===i.y})),o.find((function(t){return t.x===i.x&&t.y===i.y}))?c.warn("no intersect",i,o):o.push(i),f=!0}h=t})),s=!0}if(n.fromCluster){c.trace("edge",n),c.warn("from cluster",r[n.fromCluster]);for(var p,g=[],y=!1,v=o.length-1;v>=0;v--){var m=o[v],b=r[n.fromCluster].node;if(An(b,m)||y)c.trace("Outside point",m),y||g.unshift(m);else{c.warn("inside",n.fromCluster,m,b);var x=Sn(b,p,m);g.unshift(x),y=!0}p=m}o=g,s=!0}var _,k=o.filter((function(t){return!Number.isNaN(t.y)})),w=Object(d.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(d.curveBasis);switch(n.thickness){case"normal":_="edge-thickness-normal";break;case"thick":_="edge-thickness-thick";break;default:_=""}switch(n.pattern){case"solid":_+=" edge-pattern-solid";break;case"dotted":_+=" edge-pattern-dotted";break;case"dashed":_+=" edge-pattern-dashed"}var E=t.append("path").attr("d",w(k)).attr("id",n.id).attr("class"," "+_+(n.classes?" "+n.classes:"")).attr("style",n.style),T="";switch(_t().state.arrowMarkerAbsolute&&(T=(T=(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),c.info("arrowTypeStart",n.arrowTypeStart),c.info("arrowTypeEnd",n.arrowTypeEnd),n.arrowTypeStart){case"arrow_cross":E.attr("marker-start","url("+T+"#"+i+"-crossStart)");break;case"arrow_point":E.attr("marker-start","url("+T+"#"+i+"-pointStart)");break;case"arrow_barb":E.attr("marker-start","url("+T+"#"+i+"-barbStart)");break;case"arrow_circle":E.attr("marker-start","url("+T+"#"+i+"-circleStart)");break;case"aggregation":E.attr("marker-start","url("+T+"#"+i+"-aggregationStart)");break;case"extension":E.attr("marker-start","url("+T+"#"+i+"-extensionStart)");break;case"composition":E.attr("marker-start","url("+T+"#"+i+"-compositionStart)");break;case"dependency":E.attr("marker-start","url("+T+"#"+i+"-dependencyStart)")}switch(n.arrowTypeEnd){case"arrow_cross":E.attr("marker-end","url("+T+"#"+i+"-crossEnd)");break;case"arrow_point":E.attr("marker-end","url("+T+"#"+i+"-pointEnd)");break;case"arrow_barb":E.attr("marker-end","url("+T+"#"+i+"-barbEnd)");break;case"arrow_circle":E.attr("marker-end","url("+T+"#"+i+"-circleEnd)");break;case"aggregation":E.attr("marker-end","url("+T+"#"+i+"-aggregationEnd)");break;case"extension":E.attr("marker-end","url("+T+"#"+i+"-extensionEnd)");break;case"composition":E.attr("marker-end","url("+T+"#"+i+"-compositionEnd)");break;case"dependency":E.attr("marker-end","url("+T+"#"+i+"-dependencyEnd)")}var C={};return s&&(C.updatedPath=o),C.originalPath=n.points,C}(u,t,e,Me,r,n);!function(t,e){c.info("Moving label",t.id,t.label,Tn[t.id]);var n=e.updatedPath?e.updatedPath:e.originalPath;if(t.label){var r=Tn[t.id],i=t.x,a=t.y;if(n){var o=H.calcLabelPosition(n);c.info("Moving label from (",i,",",a,") to (",o.x,",",o.y,")")}r.attr("transform","translate("+i+", "+a+")")}if(t.startLabelLeft){var s=Cn[t.id].startLeft,u=t.x,l=t.y;if(n){var h=H.calcTerminalLabelPosition(0,"start_left",n);u=h.x,l=h.y}s.attr("transform","translate("+u+", "+l+")")}if(t.startLabelRight){var f=Cn[t.id].startRight,d=t.x,p=t.y;if(n){var g=H.calcTerminalLabelPosition(0,"start_right",n);d=g.x,p=g.y}f.attr("transform","translate("+d+", "+p+")")}if(t.endLabelLeft){var y=Cn[t.id].endLeft,v=t.x,m=t.y;if(n){var b=H.calcTerminalLabelPosition(0,"end_left",n);v=b.x,m=b.y}y.attr("transform","translate("+v+", "+m+")")}if(t.endLabelRight){var x=Cn[t.id].endRight,_=t.x,k=t.y;if(n){var w=H.calcTerminalLabelPosition(0,"end_right",n);_=w.x,k=w.y}x.attr("transform","translate("+_+", "+k+")")}}(e,i)})),o},On=function(t,e,n,r,i){Ee(t,n,r,i),_n={},Tn={},Cn={},En={},Oe={},De={},Me={},c.warn("Graph at first:",G.a.json.write(e)),Ie(e),c.warn("Graph after:",G.a.json.write(e)),Mn(t,e,r)},Dn={},Nn=function(t,e,n){var r=Object(d.select)('[id="'.concat(n,'"]'));Object.keys(t).forEach((function(n){var i=t[n],a="default";i.classes.length>0&&(a=i.classes.join(" "));var o,s=B(i.styles),u=void 0!==i.text?i.text:i.id;if(_t().flowchart.htmlLabels){var l={label:u.replace(/fa[lrsb]?:fa-[\w-]+/g,(function(t){return"<i class='".concat(t.replace(":"," "),"'></i>")}))};(o=ee()(r,l).node()).parentNode.removeChild(o)}else{var h=document.createElementNS("http://www.w3.org/2000/svg","text");h.setAttribute("style",s.labelStyle.replace("color:","fill:"));for(var f=u.split(x.lineBreakRegex),d=0;d<f.length;d++){var p=document.createElementNS("http://www.w3.org/2000/svg","tspan");p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),p.setAttribute("dy","1em"),p.setAttribute("x","1"),p.textContent=f[d],h.appendChild(p)}o=h}var g=0,y="";switch(i.type){case"round":g=5,y="rect";break;case"square":y="rect";break;case"diamond":y="question";break;case"hexagon":y="hexagon";break;case"odd":y="rect_left_inv_arrow";break;case"lean_right":y="lean_right";break;case"lean_left":y="lean_left";break;case"trapezoid":y="trapezoid";break;case"inv_trapezoid":y="inv_trapezoid";break;case"odd_right":y="rect_left_inv_arrow";break;case"circle":y="circle";break;case"ellipse":y="ellipse";break;case"stadium":y="stadium";break;case"subroutine":y="subroutine";break;case"cylinder":y="cylinder";break;case"group":y="rect";break;default:y="rect"}e.setNode(i.id,{labelStyle:s.labelStyle,shape:y,labelText:u,rx:g,ry:g,class:a,style:s.style,id:i.id,link:i.link,linkTarget:i.linkTarget,tooltip:Xt.getTooltip(i.id)||"",domId:Xt.lookUpDomId(i.id),haveCallback:i.haveCallback,width:"group"===i.type?500:void 0,type:i.type,padding:_t().flowchart.padding}),c.info("setNode",{labelStyle:s.labelStyle,shape:y,labelText:u,rx:g,ry:g,class:a,style:s.style,id:i.id,domId:Xt.lookUpDomId(i.id),width:"group"===i.type?500:void 0,type:i.type,padding:_t().flowchart.padding})}))},Bn=function(t,e){var n,r,i=0;if(void 0!==t.defaultStyle){var a=B(t.defaultStyle);n=a.style,r=a.labelStyle}t.forEach((function(a){i++;var o="L-"+a.start+"-"+a.end,s="LS-"+a.start,c="LE-"+a.end,u={style:"",labelStyle:""};switch(u.minlen=a.length||1,"arrow_open"===a.type?u.arrowhead="none":u.arrowhead="normal",u.arrowTypeStart="arrow_open",u.arrowTypeEnd="arrow_open",a.type){case"double_arrow_cross":u.arrowTypeStart="arrow_cross";case"arrow_cross":u.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":u.arrowTypeStart="arrow_point";case"arrow_point":u.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":u.arrowTypeStart="arrow_circle";case"arrow_circle":u.arrowTypeEnd="arrow_circle"}var l="",h="";switch(a.stroke){case"normal":l="fill:none;",void 0!==n&&(l=n),void 0!==r&&(h=r),u.thickness="normal",u.pattern="solid";break;case"dotted":u.thickness="normal",u.pattern="dotted",u.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":u.thickness="thick",u.pattern="solid",u.style="stroke-width: 3.5px;fill:none;"}if(void 0!==a.style){var f=B(a.style);l=f.style,h=f.labelStyle}u.style=u.style+=l,u.labelStyle=u.labelStyle+=h,void 0!==a.interpolate?u.curve=D(a.interpolate,d.curveLinear):void 0!==t.defaultInterpolate?u.curve=D(t.defaultInterpolate,d.curveLinear):u.curve=D(Dn.curve,d.curveLinear),void 0===a.text?void 0!==a.style&&(u.arrowheadStyle="fill: #333"):(u.arrowheadStyle="fill: #333",u.labelpos="c"),u.labelType="text",u.label=a.text.replace(x.lineBreakRegex,"\n"),void 0===a.style&&(u.style=u.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),u.labelStyle=u.labelStyle.replace("color:","fill:"),u.id=o,u.classes="flowchart-link "+s+" "+c,e.setEdge(a.start,a.end,u,i)}))},Ln=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)Dn[e[n]]=t[e[n]]},Pn=function(t,e){c.info("Drawing flowchart"),Xt.clear(),Xt.setGen("gen-2");var n=Jt.a.parser;n.yy=Xt,n.parse(t);var r=Xt.getDirection();void 0===r&&(r="TD");var i,a=_t().flowchart,o=a.nodeSpacing||50,s=a.rankSpacing||50,u=new G.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:o,ranksep:s,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),l=Xt.getSubGraphs();c.info("Subgraphs - ",l);for(var h=l.length-1;h>=0;h--)i=l[h],c.info("Subgraph - ",i),Xt.addVertex(i.id,i.title,"group",void 0,i.classes);var f=Xt.getVertices(),p=Xt.getEdges();c.info(p);var g=0;for(g=l.length-1;g>=0;g--){i=l[g],Object(d.selectAll)("cluster").append("text");for(var y=0;y<i.nodes.length;y++)c.info("Setting up subgraphs",i.nodes[y],i.id),u.setParent(i.nodes[y],i.id)}Nn(f,u,e),Bn(p,u);var v=Object(d.select)('[id="'.concat(e,'"]'));v.attr("xmlns:xlink","http://www.w3.org/1999/xlink");var m=Object(d.select)("#"+e+" g");On(m,u,["point","circle","cross"],"flowchart",e);var b=a.diagramPadding,x=v.node().getBBox(),_=x.width+2*b,k=x.height+2*b;if(c.debug("new ViewBox 0 0 ".concat(_," ").concat(k),"translate(".concat(b-u._label.marginx,", ").concat(b-u._label.marginy,")")),W(v,k,_,a.useMaxWidth),v.attr("viewBox","0 0 ".concat(_," ").concat(k)),v.select("g").attr("transform","translate(".concat(b-u._label.marginx,", ").concat(b-x.y,")")),Xt.indexNodes("subGraph"+g),!a.htmlLabels)for(var w=document.querySelectorAll('[id="'+e+'"] .edgeLabel .label'),E=0;E<w.length;E++){var T=w[E],C=T.getBBox(),A=document.createElementNS("http://www.w3.org/2000/svg","rect");A.setAttribute("rx",0),A.setAttribute("ry",0),A.setAttribute("width",C.width),A.setAttribute("height",C.height),T.insertBefore(A,T.firstChild)}Object.keys(f).forEach((function(t){var n=f[t];if(n.link){var r=Object(d.select)("#"+e+' [id="'+t+'"]');if(r){var i=document.createElementNS("http://www.w3.org/2000/svg","a");i.setAttributeNS("http://www.w3.org/2000/svg","class",n.classes.join(" ")),i.setAttributeNS("http://www.w3.org/2000/svg","href",n.link),i.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),n.linkTarget&&i.setAttributeNS("http://www.w3.org/2000/svg","target",n.linkTarget);var a=r.insert((function(){return i}),":first-child"),o=r.select(".label-container");o&&a.append((function(){return o.node()}));var s=r.select(".label");s&&a.append((function(){return s.node()}))}}}))},In=function(t,e){var n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},Fn=function(t,e){var n=0,r=0,i=e.text.split(x.lineBreakRegex),a=[],o=0,s=function(){return e.y};if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":s=function(){return Math.round(e.y+e.textMargin)};break;case"middle":case"center":s=function(){return Math.round(e.y+(n+r+e.textMargin)/2)};break;case"bottom":case"end":s=function(){return Math.round(e.y+(n+r+2*e.textMargin)-e.textMargin)}}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="text-after-edge",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="text-before-edge",e.alignmentBaseline="middle"}for(var c=0;c<i.length;c++){var u=i[c];void 0!==e.textMargin&&0===e.textMargin&&void 0!==e.fontSize&&(o=c*e.fontSize);var l=t.append("text");if(l.attr("x",e.x),l.attr("y",s()),void 0!==e.anchor&&l.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&l.style("font-family",e.fontFamily),void 0!==e.fontSize&&l.style("font-size",e.fontSize),void 0!==e.fontWeight&&l.style("font-weight",e.fontWeight),void 0!==e.fill&&l.attr("fill",e.fill),void 0!==e.class&&l.attr("class",e.class),void 0!==e.dy?l.attr("dy",e.dy):0!==o&&l.attr("dy",o),e.tspan){var h=l.append("tspan");h.attr("x",e.x),void 0!==e.fill&&h.attr("fill",e.fill),h.text(u)}else l.text(u);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(r+=(l._groups||l)[0][0].getBBox().height,n=r),a.push(l)}return a},jn=function(t,e){var n,r,i,a,o,s=t.append("polygon");return s.attr("points",(n=e.x,r=e.y,i=e.width,a=e.height,n+","+r+" "+(n+i)+","+r+" "+(n+i)+","+(r+a-(o=7))+" "+(n+i-1.2*o)+","+(r+a)+" "+n+","+(r+a))),s.attr("class","labelBox"),e.y=e.y+e.height/2,Fn(t,e),s},Rn=-1,Yn=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},zn=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},Un=function(){function t(t,e,n,i,a,o,s){r(e.append("text").attr("x",n+a/2).attr("y",i+o/2+5).style("text-anchor","middle").text(t),s)}function e(t,e,n,i,a,o,s,c){for(var u=c.actorFontSize,l=c.actorFontFamily,h=c.actorFontWeight,f=t.split(x.lineBreakRegex),d=0;d<f.length;d++){var p=d*u-u*(f.length-1)/2,g=e.append("text").attr("x",n+a/2).attr("y",i).style("text-anchor","middle").style("font-size",u).style("font-weight",h).style("font-family",l);g.append("tspan").attr("x",n+a/2).attr("dy",p).text(f[d]),g.attr("y",i+o/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(g,s)}}function n(t,n,i,a,o,s,c,u){var l=n.append("switch"),h=l.append("foreignObject").attr("x",i).attr("y",a).attr("width",o).attr("height",s).append("div").style("display","table").style("height","100%").style("width","100%");h.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,l,i,a,o,s,c,u),r(h,c)}function r(t,e){for(var n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return function(r){return"fo"===r.textPlacement?n:"old"===r.textPlacement?t:e}}(),$n={drawRect:In,drawText:Fn,drawLabel:jn,drawActor:function(t,e,n){var r=e.x+e.width/2,i=t.append("g");0===e.y&&(Rn++,i.append("line").attr("id","actor"+Rn).attr("x1",r).attr("y1",5).attr("x2",r).attr("y2",2e3).attr("class","actor-line").attr("stroke-width","0.5px").attr("stroke","#999"));var a=zn();a.x=e.x,a.y=e.y,a.fill="#eaeaea",a.width=e.width,a.height=e.height,a.class="actor",a.rx=3,a.ry=3,In(i,a),Un(n)(e.description,i,a.x,a.y,a.width,a.height,{class:"actor"},n)},anchorElement:function(t){return t.append("g")},drawActivation:function(t,e,n,r,i){var a=zn(),o=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=n-e.starty,In(o,a)},drawLoop:function(t,e,n,r){var i=r.boxMargin,a=r.boxTextMargin,o=r.labelBoxHeight,s=r.labelBoxWidth,c=r.messageFontFamily,u=r.messageFontSize,l=r.messageFontWeight,h=t.append("g"),f=function(t,e,n,r){return h.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",r).attr("class","loopLine")};f(e.startx,e.starty,e.stopx,e.starty),f(e.stopx,e.starty,e.stopx,e.stopy),f(e.startx,e.stopy,e.stopx,e.stopy),f(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach((function(t){f(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")}));var d=Yn();d.text=n,d.x=e.startx,d.y=e.starty,d.fontFamily=c,d.fontSize=u,d.fontWeight=l,d.anchor="middle",d.valign="middle",d.tspan=!1,d.width=s||50,d.height=o||20,d.textMargin=a,d.class="labelText",jn(h,d),(d=Yn()).text=e.title,d.x=e.startx+s/2+(e.stopx-e.startx)/2,d.y=e.starty+i+a,d.anchor="middle",d.valign="middle",d.textMargin=a,d.class="loopText",d.fontFamily=c,d.fontSize=u,d.fontWeight=l,d.wrap=!0;var p=Fn(h,d);return void 0!==e.sectionTitles&&e.sectionTitles.forEach((function(t,n){if(t.message){d.text=t.message,d.x=e.startx+(e.stopx-e.startx)/2,d.y=e.sections[n].y+i+a,d.class="loopText",d.anchor="middle",d.valign="middle",d.tspan=!1,d.fontFamily=c,d.fontSize=u,d.fontWeight=l,d.wrap=e.wrap,p=Fn(h,d);var r=Math.round(p.map((function(t){return(t._groups||t)[0][0].getBBox().height})).reduce((function(t,e){return t+e})));e.sections[n].height+=r-(i+a)}})),e.height=Math.round(e.stopy-e.starty),h},drawBackgroundRect:function(t,e){In(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},insertArrowHead:function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},insertArrowFilledHead:function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},insertSequenceNumber:function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},insertArrowCrossHead:function(t){var e=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);e.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),e.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},getTextObj:Yn,getNoteRect:zn},Wn=n(2),Hn=n.n(Wn),Vn=void 0,Gn={},qn=[],Xn=[],Zn="",Jn=!1,Kn=!1,Qn=!1,tr=function(t,e,n){var r=Gn[t];r&&e===r.name&&null==n||(null!=n&&null!=n.text||(n={text:e,wrap:null}),Gn[t]={name:e,description:n.text,wrap:void 0===n.wrap&&rr()||!!n.wrap,prevActor:Vn},Vn&&Gn[Vn]&&(Gn[Vn].nextActor=t),Vn=t)},er=function(t){var e,n=0;for(e=0;e<qn.length;e++)qn[e].type===ir.ACTIVE_START&&qn[e].from.actor===t&&n++,qn[e].type===ir.ACTIVE_END&&qn[e].from.actor===t&&n--;return n},nr=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{text:void 0,wrap:void 0},r=arguments.length>3?arguments[3]:void 0;if(r===ir.ACTIVE_END){var i=er(t.actor);if(i<1){var a=new Error("Trying to inactivate an inactive participant ("+t.actor+")");throw a.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},a}}return qn.push({from:t,to:e,message:n.text,wrap:void 0===n.wrap&&rr()||!!n.wrap,type:r}),!0},rr=function(){return Qn},ir={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ar=function(t,e,n){var r={actor:t,placement:e,message:n.text,wrap:void 0===n.wrap&&rr()||!!n.wrap},i=[].concat(t,t);Xn.push(r),qn.push({from:i[0],to:i[1],message:n.text,wrap:void 0===n.wrap&&rr()||!!n.wrap,type:ir.NOTE,placement:e})},or=function(t){Zn=t.text,Jn=void 0===t.wrap&&rr()||!!t.wrap},sr={addActor:tr,addMessage:function(t,e,n,r){qn.push({from:t,to:e,message:n.text,wrap:void 0===n.wrap&&rr()||!!n.wrap,answer:r})},addSignal:nr,autoWrap:rr,setWrap:function(t){Qn=t},enableSequenceNumbers:function(){Kn=!0},showSequenceNumbers:function(){return Kn},getMessages:function(){return qn},getActors:function(){return Gn},getActor:function(t){return Gn[t]},getActorKeys:function(){return Object.keys(Gn)},getTitle:function(){return Zn},parseDirective:function(t,e,n){Go.parseDirective(this,t,e,n)},getConfig:function(){return _t().sequence},getTitleWrapped:function(){return Jn},clear:function(){Gn={},qn=[]},parseMessage:function(t){var e=t.trim(),n={text:e.replace(/^[:]?(?:no)?wrap:/,"").trim(),wrap:null!==e.match(/^[:]?wrap:/)||null===e.match(/^[:]?nowrap:/)&&void 0};return c.debug("parseMessage:",n),n},LINETYPE:ir,ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},addNote:ar,setTitle:or,apply:function t(e){if(e instanceof Array)e.forEach((function(e){t(e)}));else switch(e.type){case"addActor":tr(e.actor,e.actor,e.description);break;case"activeStart":case"activeEnd":nr(e.actor,void 0,void 0,e.signalType);break;case"addNote":ar(e.actor,e.placement,e.text);break;case"addMessage":nr(e.from,e.to,e.msg,e.signalType);break;case"loopStart":nr(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":nr(void 0,void 0,void 0,e.signalType);break;case"rectStart":nr(void 0,void 0,e.color,e.signalType);break;case"rectEnd":nr(void 0,void 0,void 0,e.signalType);break;case"optStart":nr(void 0,void 0,e.optText,e.signalType);break;case"optEnd":nr(void 0,void 0,void 0,e.signalType);break;case"altStart":case"else":nr(void 0,void 0,e.altText,e.signalType);break;case"altEnd":nr(void 0,void 0,void 0,e.signalType);break;case"setTitle":or(e.text);break;case"parStart":case"and":nr(void 0,void 0,e.parText,e.signalType);break;case"parEnd":nr(void 0,void 0,void 0,e.signalType)}}};Wn.parser.yy=sr;var cr={},ur={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map((function(t){return t.height||0})))+(0===this.loops.length?0:this.loops.map((function(t){return t.height||0})).reduce((function(t,e){return t+e})))+(0===this.messages.length?0:this.messages.map((function(t){return t.height||0})).reduce((function(t,e){return t+e})))+(0===this.notes.length?0:this.notes.map((function(t){return t.height||0})).reduce((function(t,e){return t+e})))},clear:function(){this.actors=[],this.loops=[],this.messages=[],this.notes=[]},addActor:function(t){this.actors.push(t)},addLoop:function(t){this.loops.push(t)},addMessage:function(t){this.messages.push(t)},addNote:function(t){this.notes.push(t)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,pr(Wn.parser.yy.getConfig())},updateVal:function(t,e,n,r){void 0===t[e]?t[e]=n:t[e]=r(n,t[e])},updateBounds:function(t,e,n,r){var i=this,a=0;function o(o){return function(s){a++;var c=i.sequenceItems.length-a+1;i.updateVal(s,"starty",e-c*cr.boxMargin,Math.min),i.updateVal(s,"stopy",r+c*cr.boxMargin,Math.max),i.updateVal(ur.data,"startx",t-c*cr.boxMargin,Math.min),i.updateVal(ur.data,"stopx",n+c*cr.boxMargin,Math.max),"activation"!==o&&(i.updateVal(s,"startx",t-c*cr.boxMargin,Math.min),i.updateVal(s,"stopx",n+c*cr.boxMargin,Math.max),i.updateVal(ur.data,"starty",e-c*cr.boxMargin,Math.min),i.updateVal(ur.data,"stopy",r+c*cr.boxMargin,Math.max))}}this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))},insert:function(t,e,n,r){var i=Math.min(t,n),a=Math.max(t,n),o=Math.min(e,r),s=Math.max(e,r);this.updateVal(ur.data,"startx",i,Math.min),this.updateVal(ur.data,"starty",o,Math.min),this.updateVal(ur.data,"stopx",a,Math.max),this.updateVal(ur.data,"stopy",s,Math.max),this.updateBounds(i,o,a,s)},newActivation:function(t,e,n){var r=n[t.from.actor],i=gr(t.from.actor).length||0,a=r.x+r.width/2+(i-1)*cr.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+cr.activationWidth,stopy:void 0,actor:t.from.actor,anchored:$n.anchorElement(e)})},endActivation:function(t){var e=this.activations.map((function(t){return t.actor})).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},createLoop:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{message:void 0,wrap:!1,width:void 0},e=arguments.length>1?arguments[1]:void 0;return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},newLoop:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{message:void 0,wrap:!1,width:void 0},e=arguments.length>1?arguments[1]:void 0;this.sequenceItems.push(this.createLoop(t,e))},endLoop:function(){return this.sequenceItems.pop()},addSectionToLoop:function(t){var e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:ur.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},lr=function(t){return{fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}},hr=function(t){return{fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}},fr=function(t){return{fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}},dr=function(t,e,n,r){for(var i=0,a=0,o=0;o<n.length;o++){var s=e[n[o]];s.width=s.width||cr.width,s.height=Math.max(s.height||cr.height,cr.height),s.margin=s.margin||cr.actorMargin,s.x=i+a,s.y=r,$n.drawActor(t,s,cr),ur.insert(s.x,r,s.x+s.width,s.height),i+=s.width,a+=s.margin,ur.models.addActor(s)}ur.bumpVerticalPos(cr.height)},pr=function(t){F(cr,t),t.fontFamily&&(cr.actorFontFamily=cr.noteFontFamily=cr.messageFontFamily=t.fontFamily),t.fontSize&&(cr.actorFontSize=cr.noteFontSize=cr.messageFontSize=t.fontSize),t.fontWeight&&(cr.actorFontWeight=cr.noteFontWeight=cr.messageFontWeight=t.fontWeight)},gr=function(t){return ur.activations.filter((function(e){return e.actor===t}))},yr=function(t,e){var n=e[t],r=gr(t);return[r.reduce((function(t,e){return Math.min(t,e.startx)}),n.x+n.width/2),r.reduce((function(t,e){return Math.max(t,e.stopx)}),n.x+n.width/2)]};function vr(t,e,n,r,i){ur.bumpVerticalPos(n);var a=r;if(e.id&&e.message&&t[e.id]){var o=t[e.id].width,s=lr(cr);e.message=H.wrapLabel("[".concat(e.message,"]"),o-2*cr.wrapPadding,s),e.width=o,e.wrap=!0;var u=H.calculateTextDimensions(e.message,s),l=Math.max(u.height,cr.labelBoxHeight);a=r+l,c.debug("".concat(l," - ").concat(e.message))}i(e),ur.bumpVerticalPos(a)}var mr=function(t,e){var n={};return e.forEach((function(e){if(t[e.to]&&t[e.from]){var r=t[e.to];if(e.placement===Wn.parser.yy.PLACEMENT.LEFTOF&&!r.prevActor)return;if(e.placement===Wn.parser.yy.PLACEMENT.RIGHTOF&&!r.nextActor)return;var i=void 0!==e.placement,a=!i,o=i?hr(cr):lr(cr),s=e.wrap?H.wrapLabel(e.message,cr.width-2*cr.wrapPadding,o):e.message,c=H.calculateTextDimensions(s,o).width+2*cr.wrapPadding;a&&e.from===r.nextActor?n[e.to]=Math.max(n[e.to]||0,c):a&&e.from===r.prevActor?n[e.from]=Math.max(n[e.from]||0,c):a&&e.from===e.to?(n[e.from]=Math.max(n[e.from]||0,c/2),n[e.to]=Math.max(n[e.to]||0,c/2)):e.placement===Wn.parser.yy.PLACEMENT.RIGHTOF?n[e.from]=Math.max(n[e.from]||0,c):e.placement===Wn.parser.yy.PLACEMENT.LEFTOF?n[r.prevActor]=Math.max(n[r.prevActor]||0,c):e.placement===Wn.parser.yy.PLACEMENT.OVER&&(r.prevActor&&(n[r.prevActor]=Math.max(n[r.prevActor]||0,c/2)),r.nextActor&&(n[e.from]=Math.max(n[e.from]||0,c/2)))}})),c.debug("maxMessageWidthPerActor:",n),n},br=function(t,e){var n=0;for(var r in Object.keys(t).forEach((function(e){var r=t[e];r.wrap&&(r.description=H.wrapLabel(r.description,cr.width-2*cr.wrapPadding,fr(cr)));var i=H.calculateTextDimensions(r.description,fr(cr));r.width=r.wrap?cr.width:Math.max(cr.width,i.width+2*cr.wrapPadding),r.height=r.wrap?Math.max(i.height,cr.height):cr.height,n=Math.max(n,r.height)})),e){var i=t[r];if(i){var a=t[i.nextActor];if(a){var o=e[r]+cr.actorMargin-i.width/2-a.width/2;i.margin=Math.max(o,cr.actorMargin)}}}return Math.max(n,cr.height)},xr=function(t,e){var n,r,i,a={},o=[];return t.forEach((function(t){switch(t.id=H.random({length:10}),t.type){case Wn.parser.yy.LINETYPE.LOOP_START:case Wn.parser.yy.LINETYPE.ALT_START:case Wn.parser.yy.LINETYPE.OPT_START:case Wn.parser.yy.LINETYPE.PAR_START:o.push({id:t.id,msg:t.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case Wn.parser.yy.LINETYPE.ALT_ELSE:case Wn.parser.yy.LINETYPE.PAR_AND:t.message&&(n=o.pop(),a[n.id]=n,a[t.id]=n,o.push(n));break;case Wn.parser.yy.LINETYPE.LOOP_END:case Wn.parser.yy.LINETYPE.ALT_END:case Wn.parser.yy.LINETYPE.OPT_END:case Wn.parser.yy.LINETYPE.PAR_END:n=o.pop(),a[n.id]=n;break;case Wn.parser.yy.LINETYPE.ACTIVE_START:var s=e[t.from?t.from.actor:t.to.actor],u=gr(t.from?t.from.actor:t.to.actor).length,l=s.x+s.width/2+(u-1)*cr.activationWidth/2,h={startx:l,stopx:l+cr.activationWidth,actor:t.from.actor,enabled:!0};ur.activations.push(h);break;case Wn.parser.yy.LINETYPE.ACTIVE_END:var f=ur.activations.map((function(t){return t.actor})).lastIndexOf(t.from.actor);delete ur.activations.splice(f,1)[0]}void 0!==t.placement?(r=function(t,e){var n=e[t.from].x,r=e[t.to].x,i=t.wrap&&t.message,a=H.calculateTextDimensions(i?H.wrapLabel(t.message,cr.width,hr(cr)):t.message,hr(cr)),o={width:i?cr.width:Math.max(cr.width,a.width+2*cr.noteMargin),height:0,startx:e[t.from].x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===Wn.parser.yy.PLACEMENT.RIGHTOF?(o.width=i?Math.max(cr.width,a.width):Math.max(e[t.from].width/2+e[t.to].width/2,a.width+2*cr.noteMargin),o.startx=n+(e[t.from].width+cr.actorMargin)/2):t.placement===Wn.parser.yy.PLACEMENT.LEFTOF?(o.width=i?Math.max(cr.width,a.width+2*cr.noteMargin):Math.max(e[t.from].width/2+e[t.to].width/2,a.width+2*cr.noteMargin),o.startx=n-o.width+(e[t.from].width-cr.actorMargin)/2):t.to===t.from?(a=H.calculateTextDimensions(i?H.wrapLabel(t.message,Math.max(cr.width,e[t.from].width),hr(cr)):t.message,hr(cr)),o.width=i?Math.max(cr.width,e[t.from].width):Math.max(e[t.from].width,cr.width,a.width+2*cr.noteMargin),o.startx=n+(e[t.from].width-o.width)/2):(o.width=Math.abs(n+e[t.from].width/2-(r+e[t.to].width/2))+cr.actorMargin,o.startx=n<r?n+e[t.from].width/2-cr.actorMargin/2:r+e[t.to].width/2-cr.actorMargin/2),i&&(o.message=H.wrapLabel(t.message,o.width-2*cr.wrapPadding,hr(cr))),c.debug("NM:[".concat(o.startx,",").concat(o.stopx,",").concat(o.starty,",").concat(o.stopy,":").concat(o.width,",").concat(o.height,"=").concat(t.message,"]")),o}(t,e),t.noteModel=r,o.forEach((function(t){(n=t).from=Math.min(n.from,r.startx),n.to=Math.max(n.to,r.startx+r.width),n.width=Math.max(n.width,Math.abs(n.from-n.to))-cr.labelBoxWidth}))):(i=function(t,e){var n=!1;if([Wn.parser.yy.LINETYPE.SOLID_OPEN,Wn.parser.yy.LINETYPE.DOTTED_OPEN,Wn.parser.yy.LINETYPE.SOLID,Wn.parser.yy.LINETYPE.DOTTED,Wn.parser.yy.LINETYPE.SOLID_CROSS,Wn.parser.yy.LINETYPE.DOTTED_CROSS,Wn.parser.yy.LINETYPE.SOLID_POINT,Wn.parser.yy.LINETYPE.DOTTED_POINT].includes(t.type)&&(n=!0),!n)return{};var r=yr(t.from,e),i=yr(t.to,e),a=r[0]<=i[0]?1:0,o=r[0]<i[0]?0:1,s=r.concat(i),c=Math.abs(i[o]-r[a]);t.wrap&&t.message&&(t.message=H.wrapLabel(t.message,Math.max(c+2*cr.wrapPadding,cr.width),lr(cr)));var u=H.calculateTextDimensions(t.message,lr(cr));return{width:Math.max(t.wrap?0:u.width+2*cr.wrapPadding,c+2*cr.wrapPadding,cr.width),height:0,startx:r[a],stopx:i[o],starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,s),toBounds:Math.max.apply(null,s)}}(t,e),t.msgModel=i,i.startx&&i.stopx&&o.length>0&&o.forEach((function(r){if(n=r,i.startx===i.stopx){var a=e[t.from],o=e[t.to];n.from=Math.min(a.x-i.width/2,a.x-a.width/2,n.from),n.to=Math.max(o.x+i.width/2,o.x+a.width/2,n.to),n.width=Math.max(n.width,Math.abs(n.to-n.from))-cr.labelBoxWidth}else n.from=Math.min(i.startx,n.from),n.to=Math.max(i.stopx,n.to),n.width=Math.max(n.width,i.width)-cr.labelBoxWidth})))})),ur.activations=[],c.debug("Loop type widths:",a),a},_r={bounds:ur,drawActors:dr,setConf:pr,draw:function(t,e){cr=_t().sequence,Wn.parser.yy.clear(),Wn.parser.yy.setWrap(cr.wrap),Wn.parser.parse(t+"\n"),ur.init(),c.debug("C:".concat(JSON.stringify(cr,null,2)));var n=Object(d.select)('[id="'.concat(e,'"]')),r=Wn.parser.yy.getActors(),i=Wn.parser.yy.getActorKeys(),a=Wn.parser.yy.getMessages(),o=Wn.parser.yy.getTitle(),s=mr(r,a);cr.height=br(r,s),dr(n,r,i,0);var u=xr(a,r,s);$n.insertArrowHead(n),$n.insertArrowCrossHead(n),$n.insertArrowFilledHead(n),$n.insertSequenceNumber(n);var l=1;a.forEach((function(t){var e,i,a;switch(t.type){case Wn.parser.yy.LINETYPE.NOTE:i=t.noteModel,function(t,e){ur.bumpVerticalPos(cr.boxMargin),e.height=cr.boxMargin,e.starty=ur.getVerticalPos();var n=$n.getNoteRect();n.x=e.startx,n.y=e.starty,n.width=e.width||cr.width,n.class="note";var r=t.append("g"),i=$n.drawRect(r,n),a=$n.getTextObj();a.x=e.startx,a.y=e.starty,a.width=n.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=cr.noteFontFamily,a.fontSize=cr.noteFontSize,a.fontWeight=cr.noteFontWeight,a.anchor=cr.noteAlign,a.textMargin=cr.noteMargin,a.valign=cr.noteAlign;var o=Fn(r,a),s=Math.round(o.map((function(t){return(t._groups||t)[0][0].getBBox().height})).reduce((function(t,e){return t+e})));i.attr("height",s+2*cr.noteMargin),e.height+=s+2*cr.noteMargin,ur.bumpVerticalPos(s+2*cr.noteMargin),e.stopy=e.starty+s+2*cr.noteMargin,e.stopx=e.startx+n.width,ur.insert(e.startx,e.starty,e.stopx,e.stopy),ur.models.addNote(e)}(n,i);break;case Wn.parser.yy.LINETYPE.ACTIVE_START:ur.newActivation(t,n,r);break;case Wn.parser.yy.LINETYPE.ACTIVE_END:!function(t,e){var r=ur.endActivation(t);r.starty+18>e&&(r.starty=e-6,e+=12),$n.drawActivation(n,r,e,cr,gr(t.from.actor).length),ur.insert(r.startx,e-10,r.stopx,e)}(t,ur.getVerticalPos());break;case Wn.parser.yy.LINETYPE.LOOP_START:vr(u,t,cr.boxMargin,cr.boxMargin+cr.boxTextMargin,(function(t){return ur.newLoop(t)}));break;case Wn.parser.yy.LINETYPE.LOOP_END:e=ur.endLoop(),$n.drawLoop(n,e,"loop",cr),ur.bumpVerticalPos(e.stopy-ur.getVerticalPos()),ur.models.addLoop(e);break;case Wn.parser.yy.LINETYPE.RECT_START:vr(u,t,cr.boxMargin,cr.boxMargin,(function(t){return ur.newLoop(void 0,t.message)}));break;case Wn.parser.yy.LINETYPE.RECT_END:e=ur.endLoop(),$n.drawBackgroundRect(n,e),ur.models.addLoop(e),ur.bumpVerticalPos(e.stopy-ur.getVerticalPos());break;case Wn.parser.yy.LINETYPE.OPT_START:vr(u,t,cr.boxMargin,cr.boxMargin+cr.boxTextMargin,(function(t){return ur.newLoop(t)}));break;case Wn.parser.yy.LINETYPE.OPT_END:e=ur.endLoop(),$n.drawLoop(n,e,"opt",cr),ur.bumpVerticalPos(e.stopy-ur.getVerticalPos()),ur.models.addLoop(e);break;case Wn.parser.yy.LINETYPE.ALT_START:vr(u,t,cr.boxMargin,cr.boxMargin+cr.boxTextMargin,(function(t){return ur.newLoop(t)}));break;case Wn.parser.yy.LINETYPE.ALT_ELSE:vr(u,t,cr.boxMargin+cr.boxTextMargin,cr.boxMargin,(function(t){return ur.addSectionToLoop(t)}));break;case Wn.parser.yy.LINETYPE.ALT_END:e=ur.endLoop(),$n.drawLoop(n,e,"alt",cr),ur.bumpVerticalPos(e.stopy-ur.getVerticalPos()),ur.models.addLoop(e);break;case Wn.parser.yy.LINETYPE.PAR_START:vr(u,t,cr.boxMargin,cr.boxMargin+cr.boxTextMargin,(function(t){return ur.newLoop(t)}));break;case Wn.parser.yy.LINETYPE.PAR_AND:vr(u,t,cr.boxMargin+cr.boxTextMargin,cr.boxMargin,(function(t){return ur.addSectionToLoop(t)}));break;case Wn.parser.yy.LINETYPE.PAR_END:e=ur.endLoop(),$n.drawLoop(n,e,"par",cr),ur.bumpVerticalPos(e.stopy-ur.getVerticalPos()),ur.models.addLoop(e);break;default:try{(a=t.msgModel).starty=ur.getVerticalPos(),a.sequenceIndex=l,function(t,e){ur.bumpVerticalPos(10);var n=e.startx,r=e.stopx,i=e.starty,a=e.message,o=e.type,s=e.sequenceIndex,c=x.splitBreaks(a).length,u=H.calculateTextDimensions(a,lr(cr)),l=u.height/c;e.height+=l,ur.bumpVerticalPos(l);var h=$n.getTextObj();h.x=n,h.y=i+10,h.width=r-n,h.class="messageText",h.dy="1em",h.text=a,h.fontFamily=cr.messageFontFamily,h.fontSize=cr.messageFontSize,h.fontWeight=cr.messageFontWeight,h.anchor=cr.messageAlign,h.valign=cr.messageAlign,h.textMargin=cr.wrapPadding,h.tspan=!1,Fn(t,h);var f,d,p=u.height-10,g=u.width;if(n===r){d=ur.getVerticalPos()+p,cr.rightAngles?f=t.append("path").attr("d","M ".concat(n,",").concat(d," H ").concat(n+Math.max(cr.width/2,g/2)," V ").concat(d+25," H ").concat(n)):(p+=cr.boxMargin,d=ur.getVerticalPos()+p,f=t.append("path").attr("d","M "+n+","+d+" C "+(n+60)+","+(d-10)+" "+(n+60)+","+(d+30)+" "+n+","+(d+20))),p+=30;var y=Math.max(g/2,cr.width/2);ur.insert(n-y,ur.getVerticalPos()-10+p,r+y,ur.getVerticalPos()+30+p)}else p+=cr.boxMargin,d=ur.getVerticalPos()+p,(f=t.append("line")).attr("x1",n),f.attr("y1",d),f.attr("x2",r),f.attr("y2",d),ur.insert(n,d-10,r,d);o===Wn.parser.yy.LINETYPE.DOTTED||o===Wn.parser.yy.LINETYPE.DOTTED_CROSS||o===Wn.parser.yy.LINETYPE.DOTTED_POINT||o===Wn.parser.yy.LINETYPE.DOTTED_OPEN?(f.style("stroke-dasharray","3, 3"),f.attr("class","messageLine1")):f.attr("class","messageLine0");var v="";cr.arrowMarkerAbsolute&&(v=(v=(v=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),f.attr("stroke-width",2),f.attr("stroke","none"),f.style("fill","none"),o!==Wn.parser.yy.LINETYPE.SOLID&&o!==Wn.parser.yy.LINETYPE.DOTTED||f.attr("marker-end","url("+v+"#arrowhead)"),o!==Wn.parser.yy.LINETYPE.SOLID_POINT&&o!==Wn.parser.yy.LINETYPE.DOTTED_POINT||f.attr("marker-end","url("+v+"#filled-head)"),o!==Wn.parser.yy.LINETYPE.SOLID_CROSS&&o!==Wn.parser.yy.LINETYPE.DOTTED_CROSS||f.attr("marker-end","url("+v+"#crosshead)"),(sr.showSequenceNumbers()||cr.showSequenceNumbers)&&(f.attr("marker-start","url("+v+"#sequencenumber)"),t.append("text").attr("x",n).attr("y",d+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("textLength","16px").attr("class","sequenceNumber").text(s)),ur.bumpVerticalPos(p),e.height+=p,e.stopy=e.starty+e.height,ur.insert(e.fromBounds,e.starty,e.toBounds,e.stopy)}(n,a),ur.models.addMessage(a)}catch(t){c.error("error while drawing message",t)}}[Wn.parser.yy.LINETYPE.SOLID_OPEN,Wn.parser.yy.LINETYPE.DOTTED_OPEN,Wn.parser.yy.LINETYPE.SOLID,Wn.parser.yy.LINETYPE.DOTTED,Wn.parser.yy.LINETYPE.SOLID_CROSS,Wn.parser.yy.LINETYPE.DOTTED_CROSS,Wn.parser.yy.LINETYPE.SOLID_POINT,Wn.parser.yy.LINETYPE.DOTTED_POINT].includes(t.type)&&l++})),cr.mirrorActors&&(ur.bumpVerticalPos(2*cr.boxMargin),dr(n,r,i,ur.getVerticalPos()));var h=ur.getBounds().bounds;c.debug("For line height fix Querying: #"+e+" .actor-line"),Object(d.selectAll)("#"+e+" .actor-line").attr("y2",h.stopy);var f=h.stopy-h.starty+2*cr.diagramMarginY;cr.mirrorActors&&(f=f-cr.boxMargin+cr.bottomMarginAdj);var p=h.stopx-h.startx+2*cr.diagramMarginX;o&&n.append("text").text(o).attr("x",(h.stopx-h.startx)/2-2*cr.diagramMarginX).attr("y",-25),W(n,f,p,cr.useMaxWidth);var g=o?40:0;n.attr("viewBox",h.startx-cr.diagramMarginX+" -"+(cr.diagramMarginY+g)+" "+p+" "+(f+g)),c.debug("models:",ur.models)}},kr=n(27),wr=n.n(kr);function Er(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var Tr,Cr,Ar="",Sr="",Mr="",Or=[],Dr="",Nr=[],Br=[],Lr="",Pr=["active","done","crit","milestone"],Ir=[],Fr=!1,jr=0,Rr=function(t,e,n){return t.isoWeekday()>=6&&n.indexOf("weekends")>=0||(n.indexOf(t.format("dddd").toLowerCase())>=0||n.indexOf(t.format(e.trim()))>=0)},Yr=function(t,e,n){if(n.length&&!t.manualEndTime){var r=o()(t.startTime,e,!0);r.add(1,"d");var i=o()(t.endTime,e,!0),a=zr(r,i,e,n);t.endTime=i.toDate(),t.renderEndTime=a}},zr=function(t,e,n,r){for(var i=!1,a=null;t<=e;)i||(a=e.toDate()),(i=Rr(t,n,r))&&e.add(1,"d"),t.add(1,"d");return a},Ur=function(t,e,n){n=n.trim();var r=/^after\s+([\d\w- ]+)/.exec(n.trim());if(null!==r){var i=null;if(r[1].split(" ").forEach((function(t){var e=Xr(t);void 0!==e&&(i?e.endTime>i.endTime&&(i=e):i=e)})),i)return i.endTime;var a=new Date;return a.setHours(0,0,0,0),a}var s=o()(n,e.trim(),!0);return s.isValid()?s.toDate():(c.debug("Invalid date:"+n),c.debug("With date format:"+e.trim()),new Date)},$r=function(t,e){if(null!==t)switch(t[2]){case"s":e.add(t[1],"seconds");break;case"m":e.add(t[1],"minutes");break;case"h":e.add(t[1],"hours");break;case"d":e.add(t[1],"days");break;case"w":e.add(t[1],"weeks")}return e.toDate()},Wr=function(t,e,n,r){r=r||!1,n=n.trim();var i=o()(n,e.trim(),!0);return i.isValid()?(r&&i.add(1,"d"),i.toDate()):$r(/^([\d]+)([wdhms])/.exec(n.trim()),o()(t))},Hr=0,Vr=function(t){return void 0===t?"task"+(Hr+=1):t},Gr=[],qr={},Xr=function(t){var e=qr[t];return Gr[e]},Zr=function(){for(var t=function(t){var e=Gr[t],n="";switch(Gr[t].raw.startTime.type){case"prevTaskEnd":var r=Xr(e.prevTaskId);e.startTime=r.endTime;break;case"getStartDate":(n=Ur(0,Ar,Gr[t].raw.startTime.startData))&&(Gr[t].startTime=n)}return Gr[t].startTime&&(Gr[t].endTime=Wr(Gr[t].startTime,Ar,Gr[t].raw.endTime.data,Fr),Gr[t].endTime&&(Gr[t].processed=!0,Gr[t].manualEndTime=o()(Gr[t].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),Yr(Gr[t],Ar,Or))),Gr[t].processed},e=!0,n=0;n<Gr.length;n++)t(n),e=e&&Gr[n].processed;return e},Jr=function(t,e){t.split(",").forEach((function(t){var n=Xr(t);void 0!==n&&n.classes.push(e)}))},Kr=function(t,e){Ir.push((function(){var n=document.querySelector('[id="'.concat(t,'"]'));null!==n&&n.addEventListener("click",(function(){e()}))})),Ir.push((function(){var n=document.querySelector('[id="'.concat(t,'-text"]'));null!==n&&n.addEventListener("click",(function(){e()}))}))},Qr={parseDirective:function(t,e,n){Go.parseDirective(this,t,e,n)},getConfig:function(){return _t().gantt},clear:function(){Nr=[],Br=[],Lr="",Ir=[],Dr="",Hr=0,Tr=void 0,Cr=void 0,Gr=[],Ar="",Sr="",Mr="",Or=[],Fr=!1,jr=0},setDateFormat:function(t){Ar=t},getDateFormat:function(){return Ar},enableInclusiveEndDates:function(){Fr=!0},endDatesAreInclusive:function(){return Fr},setAxisFormat:function(t){Sr=t},getAxisFormat:function(){return Sr},setTodayMarker:function(t){Mr=t},getTodayMarker:function(){return Mr},setTitle:function(t){Dr=t},getTitle:function(){return Dr},addSection:function(t){Lr=t,Nr.push(t)},getSections:function(){return Nr},getTasks:function(){for(var t=Zr(),e=0;!t&&e<10;)t=Zr(),e++;return Br=Gr},addTask:function(t,e){var n={section:Lr,type:Lr,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},r=function(t,e){var n=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),r={};ti(n,r,Pr);for(var i=0;i<n.length;i++)n[i]=n[i].trim();switch(n.length){case 1:r.id=Vr(),r.startTime={type:"prevTaskEnd",id:t},r.endTime={data:n[0]};break;case 2:r.id=Vr(),r.startTime={type:"getStartDate",startData:n[0]},r.endTime={data:n[1]};break;case 3:r.id=Vr(n[0]),r.startTime={type:"getStartDate",startData:n[1]},r.endTime={data:n[2]}}return r}(Cr,e);n.raw.startTime=r.startTime,n.raw.endTime=r.endTime,n.id=r.id,n.prevTaskId=Cr,n.active=r.active,n.done=r.done,n.crit=r.crit,n.milestone=r.milestone,n.order=jr,jr++;var i=Gr.push(n);Cr=n.id,qr[n.id]=i-1},findTaskById:Xr,addTaskOrg:function(t,e){var n={section:Lr,type:Lr,description:t,task:t,classes:[]},r=function(t,e){var n=(":"===e.substr(0,1)?e.substr(1,e.length):e).split(","),r={};ti(n,r,Pr);for(var i=0;i<n.length;i++)n[i]=n[i].trim();var a="";switch(n.length){case 1:r.id=Vr(),r.startTime=t.endTime,a=n[0];break;case 2:r.id=Vr(),r.startTime=Ur(0,Ar,n[0]),a=n[1];break;case 3:r.id=Vr(n[0]),r.startTime=Ur(0,Ar,n[1]),a=n[2]}return a&&(r.endTime=Wr(r.startTime,Ar,a,Fr),r.manualEndTime=o()(a,"YYYY-MM-DD",!0).isValid(),Yr(r,Ar,Or)),r}(Tr,e);n.startTime=r.startTime,n.endTime=r.endTime,n.id=r.id,n.active=r.active,n.done=r.done,n.crit=r.crit,n.milestone=r.milestone,Tr=n,Br.push(n)},setExcludes:function(t){Or=t.toLowerCase().split(/[\s,]+/)},getExcludes:function(){return Or},setClickEvent:function(t,e,n){t.split(",").forEach((function(t){!function(t,e,n){if("loose"===_t().securityLevel&&void 0!==e){var r=[];if("string"==typeof n){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(var i=0;i<r.length;i++){var a=r[i].trim();'"'===a.charAt(0)&&'"'===a.charAt(a.length-1)&&(a=a.substr(1,a.length-2)),r[i]=a}}0===r.length&&r.push(t),void 0!==Xr(t)&&Kr(t,(function(){H.runFunc.apply(H,[e].concat(Er(r)))}))}}(t,e,n)})),Jr(t,"clickable")},setLink:function(t,e){var n=e;"loose"!==_t().securityLevel&&(n=Object(g.sanitizeUrl)(e)),t.split(",").forEach((function(t){void 0!==Xr(t)&&Kr(t,(function(){window.open(n,"_self")}))})),Jr(t,"clickable")},bindFunctions:function(t){Ir.forEach((function(e){e(t)}))},durationToDate:$r};function ti(t,e,n){for(var r=!0;r;)r=!1,n.forEach((function(n){var i=new RegExp("^\\s*"+n+"\\s*$");t[0].match(i)&&(e[n]=!0,t.shift(1),r=!0)}))}kr.parser.yy=Qr;var ei,ni={titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"'},ri=function(t){Object.keys(t).forEach((function(e){ni[e]=t[e]}))},ii=function(t,e){kr.parser.yy.clear(),kr.parser.parse(t);var n=document.getElementById(e);void 0===(ei=n.parentElement.offsetWidth)&&(ei=1200),void 0!==ni.useWidth&&(ei=ni.useWidth);var r=kr.parser.yy.getTasks(),i=r.length*(ni.barHeight+ni.barGap)+2*ni.topPadding;n.setAttribute("viewBox","0 0 "+ei+" "+i);for(var a=Object(d.select)('[id="'.concat(e,'"]')),o=Object(d.scaleTime)().domain([Object(d.min)(r,(function(t){return t.startTime})),Object(d.max)(r,(function(t){return t.endTime}))]).rangeRound([0,ei-ni.leftPadding-ni.rightPadding]),s=[],c=0;c<r.length;c++)s.push(r[c].type);var u=s;function l(t){for(var e=t.length,n={};e;)n[t[--e]]=(n[t[e]]||0)+1;return n}s=function(t){for(var e={},n=[],r=0,i=t.length;r<i;++r)e.hasOwnProperty(t[r])||(e[t[r]]=!0,n.push(t[r]));return n}(s),r.sort((function(t,e){var n=t.startTime,r=e.startTime,i=0;return n>r?i=1:n<r&&(i=-1),i})),function(t,e,n){var r=ni.barHeight,i=r+ni.barGap,c=ni.topPadding,h=ni.leftPadding;Object(d.scaleLinear)().domain([0,s.length]).range(["#00B9FA","#F95002"]).interpolate(d.interpolateHcl);(function(t,e,n,r){var i=Object(d.axisBottom)(o).tickSize(-r+e+ni.gridLineStartPadding).tickFormat(Object(d.timeFormat)(kr.parser.yy.getAxisFormat()||ni.axisFormat||"%Y-%m-%d"));a.append("g").attr("class","grid").attr("transform","translate("+t+", "+(r-50)+")").call(i).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em")})(h,c,0,n),function(t,e,n,r,i,c,u){a.append("g").selectAll("rect").data(t).enter().append("rect").attr("x",0).attr("y",(function(t,r){return t.order*e+n-2})).attr("width",(function(){return u-ni.rightPadding/2})).attr("height",e).attr("class",(function(t){for(var e=0;e<s.length;e++)if(t.type===s[e])return"section section"+e%ni.numberSectionStyles;return"section section0"}));var l=a.append("g").selectAll("rect").data(t).enter();l.append("rect").attr("id",(function(t){return t.id})).attr("rx",3).attr("ry",3).attr("x",(function(t){return t.milestone?o(t.startTime)+r+.5*(o(t.endTime)-o(t.startTime))-.5*i:o(t.startTime)+r})).attr("y",(function(t,r){return t.order*e+n})).attr("width",(function(t){return t.milestone?i:o(t.renderEndTime||t.endTime)-o(t.startTime)})).attr("height",i).attr("transform-origin",(function(t,a){return(o(t.startTime)+r+.5*(o(t.endTime)-o(t.startTime))).toString()+"px "+(a*e+n+.5*i).toString()+"px"})).attr("class",(function(t){var e="";t.classes.length>0&&(e=t.classes.join(" "));for(var n=0,r=0;r<s.length;r++)t.type===s[r]&&(n=r%ni.numberSectionStyles);var i="";return t.active?t.crit?i+=" activeCrit":i=" active":t.done?i=t.crit?" doneCrit":" done":t.crit&&(i+=" crit"),0===i.length&&(i=" task"),t.milestone&&(i=" milestone "+i),i+=n,"task"+(i+=" "+e)})),l.append("text").attr("id",(function(t){return t.id+"-text"})).text((function(t){return t.task})).attr("font-size",ni.fontSize).attr("x",(function(t){var e=o(t.startTime),n=o(t.renderEndTime||t.endTime);t.milestone&&(e+=.5*(o(t.endTime)-o(t.startTime))-.5*i),t.milestone&&(n=e+i);var a=this.getBBox().width;return a>n-e?n+a+1.5*ni.leftPadding>u?e+r-5:n+r+5:(n-e)/2+e+r})).attr("y",(function(t,r){return t.order*e+ni.barHeight/2+(ni.fontSize/2-2)+n})).attr("text-height",i).attr("class",(function(t){var e=o(t.startTime),n=o(t.endTime);t.milestone&&(n=e+i);var r=this.getBBox().width,a="";t.classes.length>0&&(a=t.classes.join(" "));for(var c=0,l=0;l<s.length;l++)t.type===s[l]&&(c=l%ni.numberSectionStyles);var h="";return t.active&&(h=t.crit?"activeCritText"+c:"activeText"+c),t.done?h=t.crit?h+" doneCritText"+c:h+" doneText"+c:t.crit&&(h=h+" critText"+c),t.milestone&&(h+=" milestoneText"),r>n-e?n+r+1.5*ni.leftPadding>u?a+" taskTextOutsideLeft taskTextOutside"+c+" "+h:a+" taskTextOutsideRight taskTextOutside"+c+" "+h+" width-"+r:a+" taskText taskText"+c+" "+h+" width-"+r}))}(t,i,c,h,r,0,e),function(t,e){for(var n=[],r=0,i=0;i<s.length;i++)n[i]=[s[i],(o=s[i],c=u,l(c)[o]||0)];var o,c;a.append("g").selectAll("text").data(n).enter().append((function(t){var e=t[0].split(x.lineBreakRegex),n=-(e.length-1)/2,r=document.createElementNS("http://www.w3.org/2000/svg","text");r.setAttribute("dy",n+"em");for(var i=0;i<e.length;i++){var a=document.createElementNS("http://www.w3.org/2000/svg","tspan");a.setAttribute("alignment-baseline","central"),a.setAttribute("x","10"),i>0&&a.setAttribute("dy","1em"),a.textContent=e[i],r.appendChild(a)}return r})).attr("x",10).attr("y",(function(i,a){if(!(a>0))return i[1]*t/2+e;for(var o=0;o<a;o++)return r+=n[a-1][1],i[1]*t/2+r*t+e})).attr("class",(function(t){for(var e=0;e<s.length;e++)if(t[0]===s[e])return"sectionTitle sectionTitle"+e%ni.numberSectionStyles;return"sectionTitle"}))}(i,c),function(t,e,n,r){var i=Qr.getTodayMarker();if("off"===i)return;var s=a.append("g").attr("class","today"),c=new Date,u=s.append("line");u.attr("x1",o(c)+t).attr("x2",o(c)+t).attr("y1",ni.titleTopMargin).attr("y2",r-ni.titleTopMargin).attr("class","today"),""!==i&&u.attr("style",i.replace(/,/g,";"))}(h,0,0,n)}(r,ei,i),W(a,i,ei,ni.useMaxWidth),a.append("text").text(kr.parser.yy.getTitle()).attr("x",ei/2).attr("y",ni.titleTopMargin).attr("class","titleText")},ai=n(13),oi=n.n(ai);ai.parser.yy=cn;var si={},ci={dividerMargin:10,padding:5,textHeight:10},ui=function(t){for(var e=Object.keys(si),n=0;n<e.length;n++)if(si[e[n]].label===t)return e[n]},li=function(t){Object.keys(t).forEach((function(e){ci[e]=t[e]}))},hi=function(t,e){si={},ai.parser.yy.clear(),ai.parser.parse(t),c.info("Rendering diagram "+t);var n,r=Object(d.select)("[id='".concat(e,"']"));r.attr("xmlns:xlink","http://www.w3.org/1999/xlink"),(n=r).append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),n.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),n.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),n.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z");var i=new G.a.Graph({multigraph:!0});i.setGraph({isMultiGraph:!0}),i.setDefaultEdgeLabel((function(){return{}}));for(var a=cn.getClasses(),o=Object.keys(a),s=0;s<o.length;s++){var u=a[o[s]],l=vn(r,u,ci);si[l.id]=l,i.setNode(l.id,l),c.info("Org height: "+l.height)}cn.getRelations().forEach((function(t){c.info("tjoho"+ui(t.id1)+ui(t.id2)+JSON.stringify(t)),i.setEdge(ui(t.id1),ui(t.id2),{relation:t},t.title||"DEFAULT")})),ke.a.layout(i),i.nodes().forEach((function(t){void 0!==t&&void 0!==i.node(t)&&(c.debug("Node "+t+": "+JSON.stringify(i.node(t))),Object(d.select)("#"+en(t)).attr("transform","translate("+(i.node(t).x-i.node(t).width/2)+","+(i.node(t).y-i.node(t).height/2)+" )"))})),i.edges().forEach((function(t){void 0!==t&&void 0!==i.edge(t)&&(c.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(i.edge(t))),mn(r,i.edge(t),i.edge(t).relation,ci))}));var h=r.node().getBBox(),f=h.width+40,p=h.height+40;W(r,p,f,ci.useMaxWidth);var g="".concat(h.x-20," ").concat(h.y-20," ").concat(f," ").concat(p);c.debug("viewBox ".concat(g)),r.attr("viewBox",g)};ai.parser.yy=cn;var fi={dividerMargin:10,padding:5,textHeight:10},di=function(t){Object.keys(t).forEach((function(e){fi[e]=t[e]}))},pi=function(t,e){c.info("Drawing class"),cn.clear(),ai.parser.parse(t);var n=_t().flowchart;c.info("config:",n);var r=n.nodeSpacing||50,i=n.rankSpacing||50,a=new G.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:"TD",nodesep:r,ranksep:i,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),o=cn.getClasses(),s=cn.getRelations();c.info(s),function(t,e){var n=Object.keys(t);c.info("keys:",n),c.info(t),n.forEach((function(n){var r=t[n],i="";r.cssClasses.length>0&&(i=i+" "+r.cssClasses.join(" "));var a={labelStyle:""},o=void 0!==r.text?r.text:r.id,s="";switch(r.type){case"class":s="class_box";break;default:s="class_box"}e.setNode(r.id,{labelStyle:a.labelStyle,shape:s,labelText:o,classData:r,rx:0,ry:0,class:i,style:a.style,id:r.id,domId:r.domId,haveCallback:r.haveCallback,link:r.link,width:"group"===r.type?500:void 0,type:r.type,padding:_t().flowchart.padding}),c.info("setNode",{labelStyle:a.labelStyle,shape:s,labelText:o,rx:0,ry:0,class:i,style:a.style,id:r.id,width:"group"===r.type?500:void 0,type:r.type,padding:_t().flowchart.padding})}))}(o,a),function(t,e){var n=0;t.forEach((function(r){n++;var i={classes:"relation"};i.pattern=1==r.relation.lineType?"dashed":"solid",i.id="id"+n,"arrow_open"===r.type?i.arrowhead="none":i.arrowhead="normal",c.info(i,r),i.startLabelRight="none"===r.relationTitle1?"":r.relationTitle1,i.endLabelLeft="none"===r.relationTitle2?"":r.relationTitle2,i.arrowTypeStart=gi(r.relation.type1),i.arrowTypeEnd=gi(r.relation.type2);var a="",o="";if(void 0!==r.style){var s=B(r.style);a=s.style,o=s.labelStyle}else a="fill:none";i.style=a,i.labelStyle=o,void 0!==r.interpolate?i.curve=D(r.interpolate,d.curveLinear):void 0!==t.defaultInterpolate?i.curve=D(t.defaultInterpolate,d.curveLinear):i.curve=D(fi.curve,d.curveLinear),r.text=r.title,void 0===r.text?void 0!==r.style&&(i.arrowheadStyle="fill: #333"):(i.arrowheadStyle="fill: #333",i.labelpos="c",_t().flowchart.htmlLabels,i.labelType="text",i.label=r.text.replace(x.lineBreakRegex,"\n"),void 0===r.style&&(i.style=i.style||"stroke: #333; stroke-width: 1.5px;fill:none"),i.labelStyle=i.labelStyle.replace("color:","fill:")),e.setEdge(r.id1,r.id2,i,n)}))}(s,a);var u=Object(d.select)('[id="'.concat(e,'"]'));u.attr("xmlns:xlink","http://www.w3.org/1999/xlink");var l=Object(d.select)("#"+e+" g");On(l,a,["aggregation","extension","composition","dependency"],"classDiagram",e);var h=u.node().getBBox(),f=h.width+16,p=h.height+16;if(c.debug("new ViewBox 0 0 ".concat(f," ").concat(p),"translate(".concat(8-a._label.marginx,", ").concat(8-a._label.marginy,")")),W(u,p,f,n.useMaxWidth),u.attr("viewBox","0 0 ".concat(f," ").concat(p)),u.select("g").attr("transform","translate(".concat(8-a._label.marginx,", ").concat(8-h.y,")")),!n.htmlLabels)for(var g=document.querySelectorAll('[id="'+e+'"] .edgeLabel .label'),y=0;y<g.length;y++){var v=g[y],m=v.getBBox(),b=document.createElementNS("http://www.w3.org/2000/svg","rect");b.setAttribute("rx",0),b.setAttribute("ry",0),b.setAttribute("width",m.width),b.setAttribute("height",m.height),b.setAttribute("style","fill:#e8e8e8;"),v.insertBefore(b,v.firstChild)}};function gi(t){var e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;default:e="none"}return e}function yi(t){return(yi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var vi,mi=function(t){return JSON.parse(JSON.stringify(t))},bi=[],xi={root:{relations:[],states:{},documents:{}}},_i=xi.root,ki=0,wi=function(t,e,n,r,i){void 0===_i.states[t]?_i.states[t]={id:t,descriptions:[],type:e,doc:n,note:i}:(_i.states[t].doc||(_i.states[t].doc=n),_i.states[t].type||(_i.states[t].type=e)),r&&(c.info("Adding state ",t,r),"string"==typeof r&&Ci(t,r.trim()),"object"===yi(r)&&r.forEach((function(e){return Ci(t,e.trim())}))),i&&(_i.states[t].note=i)},Ei=function(){_i=(xi={root:{relations:[],states:{},documents:{}}}).root,_i=xi.root,ki=0,0,Si=[]},Ti=function(t,e,n){var r=t,i=e,a="default",o="default";"[*]"===t&&(r="start"+ ++ki,a="start"),"[*]"===e&&(i="end"+ki,o="end"),wi(r,a),wi(i,o),_i.relations.push({id1:r,id2:i,title:n})},Ci=function(t,e){var n=_i.states[t],r=e;":"===r[0]&&(r=r.substr(1).trim()),n.descriptions.push(r)},Ai=0,Si=[],Mi={parseDirective:function(t,e,n){Go.parseDirective(this,t,e,n)},getConfig:function(){return _t().state},addState:wi,clear:Ei,getState:function(t){return _i.states[t]},getStates:function(){return _i.states},getRelations:function(){return _i.relations},getClasses:function(){return Si},getDirection:function(){return"TB"},addRelation:Ti,getDividerId:function(){return"divider-id-"+ ++Ai},cleanupLabel:function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},logDocuments:function(){c.info("Documents = ",xi)},getRootDoc:function(){return bi},setRootDoc:function(t){c.info("Setting root doc",t),bi=t},getRootDocV2:function(){return function t(e,n,r){if("relation"===n.stmt)t(e,n.state1,!0),t(e,n.state2,!1);else if("state"===n.stmt&&"[*]"===n.id&&(n.id=r?e.id+"_start":e.id+"_end",n.start=r),n.doc){var i=[],a=0,o=[];for(a=0;a<n.doc.length;a++)if("divider"===n.doc[a].type){var s=mi(n.doc[a]);s.doc=mi(o),i.push(s),o=[]}else o.push(n.doc[a]);if(i.length>0&&o.length>0){var c={stmt:"state",id:P(),type:"divider",doc:mi(o)};i.push(mi(c)),n.doc=i}n.doc.forEach((function(e){return t(n,e,!0)}))}}({id:"root"},{id:"root",doc:bi},!0),{id:"root",doc:bi}},extract:function(t){var e;e=t.doc?t.doc:t,c.info(e),Ei(),c.info("Extract",e),e.forEach((function(t){"state"===t.stmt&&wi(t.id,t.type,t.doc,t.description,t.note),"relation"===t.stmt&&Ti(t.state1.id,t.state2.id,t.description)}))},trimColon:function(t){return t&&":"===t[0]?t.substr(1).trim():t.trim()}},Oi=n(22),Di=n.n(Oi),Ni={},Bi=function(t,e){Ni[t]=e},Li=function(t,e){var n=t.append("text").attr("x",2*_t().state.padding).attr("y",_t().state.textHeight+1.3*_t().state.padding).attr("font-size",_t().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),r=n.height,i=t.append("text").attr("x",_t().state.padding).attr("y",r+.4*_t().state.padding+_t().state.dividerMargin+_t().state.textHeight).attr("class","state-description"),a=!0,o=!0;e.descriptions.forEach((function(t){a||(!function(t,e,n){var r=t.append("tspan").attr("x",2*_t().state.padding).text(e);n||r.attr("dy",_t().state.textHeight)}(i,t,o),o=!1),a=!1}));var s=t.append("line").attr("x1",_t().state.padding).attr("y1",_t().state.padding+r+_t().state.dividerMargin/2).attr("y2",_t().state.padding+r+_t().state.dividerMargin/2).attr("class","descr-divider"),c=i.node().getBBox(),u=Math.max(c.width,n.width);return s.attr("x2",u+3*_t().state.padding),t.insert("rect",":first-child").attr("x",_t().state.padding).attr("y",_t().state.padding).attr("width",u+2*_t().state.padding).attr("height",c.height+r+2*_t().state.padding).attr("rx",_t().state.radius),t},Pi=function(t,e,n){var r,i=_t().state.padding,a=2*_t().state.padding,o=t.node().getBBox(),s=o.width,c=o.x,u=t.append("text").attr("x",0).attr("y",_t().state.titleShift).attr("font-size",_t().state.fontSize).attr("class","state-title").text(e.id),l=u.node().getBBox().width+a,h=Math.max(l,s);h===s&&(h+=a);var f=t.node().getBBox();e.doc,r=c-i,l>s&&(r=(s-h)/2+i),Math.abs(c-f.x)<i&&l>s&&(r=c-(l-s)/2);var d=1-_t().state.textHeight;return t.insert("rect",":first-child").attr("x",r).attr("y",d).attr("class",n?"alt-composit":"composit").attr("width",h).attr("height",f.height+_t().state.textHeight+_t().state.titleShift+1).attr("rx","0"),u.attr("x",r+i),l<=s&&u.attr("x",c+(h-a)/2-l/2+i),t.insert("rect",":first-child").attr("x",r).attr("y",_t().state.titleShift-_t().state.textHeight-_t().state.padding).attr("width",h).attr("height",3*_t().state.textHeight).attr("rx",_t().state.radius),t.insert("rect",":first-child").attr("x",r).attr("y",_t().state.titleShift-_t().state.textHeight-_t().state.padding).attr("width",h).attr("height",f.height+3+2*_t().state.textHeight).attr("rx",_t().state.radius),t},Ii=function(t,e){e.attr("class","state-note");var n=e.append("rect").attr("x",0).attr("y",_t().state.padding),r=function(t,e,n,r){var i=0,a=r.append("text");a.style("text-anchor","start"),a.attr("class","noteText");var o=t.replace(/\r\n/g,"<br/>"),s=(o=o.replace(/\n/g,"<br/>")).split(x.lineBreakRegex),c=1.25*_t().state.noteMargin,u=!0,l=!1,h=void 0;try{for(var f,d=s[Symbol.iterator]();!(u=(f=d.next()).done);u=!0){var p=f.value.trim();if(p.length>0){var g=a.append("tspan");if(g.text(p),0===c)c+=g.node().getBBox().height;i+=c,g.attr("x",e+_t().state.noteMargin),g.attr("y",n+i+1.25*_t().state.noteMargin)}}}catch(t){l=!0,h=t}finally{try{u||null==d.return||d.return()}finally{if(l)throw h}}return{textWidth:a.node().getBBox().width,textHeight:i}}(t,0,0,e.append("g")),i=r.textWidth,a=r.textHeight;return n.attr("height",a+2*_t().state.noteMargin),n.attr("width",i+2*_t().state.noteMargin),n},Fi=function(t,e){var n=e.id,r={id:n,label:e.id,width:0,height:0},i=t.append("g").attr("id",n).attr("class","stateGroup");"start"===e.type&&function(t){t.append("circle").attr("class","start-state").attr("r",_t().state.sizeUnit).attr("cx",_t().state.padding+_t().state.sizeUnit).attr("cy",_t().state.padding+_t().state.sizeUnit)}(i),"end"===e.type&&function(t){t.append("circle").attr("class","end-state-outer").attr("r",_t().state.sizeUnit+_t().state.miniPadding).attr("cx",_t().state.padding+_t().state.sizeUnit+_t().state.miniPadding).attr("cy",_t().state.padding+_t().state.sizeUnit+_t().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",_t().state.sizeUnit).attr("cx",_t().state.padding+_t().state.sizeUnit+2).attr("cy",_t().state.padding+_t().state.sizeUnit+2)}(i),"fork"!==e.type&&"join"!==e.type||function(t,e){var n=_t().state.forkWidth,r=_t().state.forkHeight;if(e.parentId){var i=n;n=r,r=i}t.append("rect").style("stroke","black").style("fill","black").attr("width",n).attr("height",r).attr("x",_t().state.padding).attr("y",_t().state.padding)}(i,e),"note"===e.type&&Ii(e.note.text,i),"divider"===e.type&&function(t){t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",_t().state.textHeight).attr("class","divider").attr("x2",2*_t().state.textHeight).attr("y1",0).attr("y2",0)}(i),"default"===e.type&&0===e.descriptions.length&&function(t,e){var n=t.append("text").attr("x",2*_t().state.padding).attr("y",_t().state.textHeight+2*_t().state.padding).attr("font-size",_t().state.fontSize).attr("class","state-title").text(e.id),r=n.node().getBBox();t.insert("rect",":first-child").attr("x",_t().state.padding).attr("y",_t().state.padding).attr("width",r.width+2*_t().state.padding).attr("height",r.height+2*_t().state.padding).attr("rx",_t().state.radius)}(i,e),"default"===e.type&&e.descriptions.length>0&&Li(i,e);var a=i.node().getBBox();return r.width=a.width+2*_t().state.padding,r.height=a.height+2*_t().state.padding,Bi(n,r),r},ji=0;Oi.parser.yy=Mi;var Ri={},Yi=function t(e,n,r,i){var a,o=new G.a.Graph({compound:!0,multigraph:!0}),s=!0;for(a=0;a<e.length;a++)if("relation"===e[a].stmt){s=!1;break}r?o.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:s?1:vi.edgeLengthFactor,nodeSep:s?1:50,isMultiGraph:!0}):o.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:s?1:vi.edgeLengthFactor,nodeSep:s?1:50,ranker:"tight-tree",isMultiGraph:!0}),o.setDefaultEdgeLabel((function(){return{}})),Mi.extract(e);for(var u=Mi.getStates(),l=Mi.getRelations(),h=Object.keys(u),f=0;f<h.length;f++){var p=u[h[f]];r&&(p.parentId=r);var g=void 0;if(p.doc){var y=n.append("g").attr("id",p.id).attr("class","stateGroup");g=t(p.doc,y,p.id,!i);var v=(y=Pi(y,p,i)).node().getBBox();g.width=v.width,g.height=v.height+vi.padding/2,Ri[p.id]={y:vi.compositTitleSize}}else g=Fi(n,p);if(p.note){var m={descriptions:[],id:p.id+"-note",note:p.note,type:"note"},b=Fi(n,m);"left of"===p.note.position?(o.setNode(g.id+"-note",b),o.setNode(g.id,g)):(o.setNode(g.id,g),o.setNode(g.id+"-note",b)),o.setParent(g.id,g.id+"-group"),o.setParent(g.id+"-note",g.id+"-group")}else o.setNode(g.id,g)}c.debug("Count=",o.nodeCount(),o);var _=0;l.forEach((function(t){var e;_++,c.debug("Setting edge",t),o.setEdge(t.id1,t.id2,{relation:t,width:(e=t.title,e?e.length*vi.fontSizeFactor:1),height:vi.labelHeight*x.getRows(t.title).length,labelpos:"c"},"id"+_)})),ke.a.layout(o),c.debug("Graph after layout",o.nodes());var k=n.node();o.nodes().forEach((function(t){void 0!==t&&void 0!==o.node(t)?(c.warn("Node "+t+": "+JSON.stringify(o.node(t))),Object(d.select)("#"+k.id+" #"+t).attr("transform","translate("+(o.node(t).x-o.node(t).width/2)+","+(o.node(t).y+(Ri[t]?Ri[t].y:0)-o.node(t).height/2)+" )"),Object(d.select)("#"+k.id+" #"+t).attr("data-x-shift",o.node(t).x-o.node(t).width/2),document.querySelectorAll("#"+k.id+" #"+t+" .divider").forEach((function(t){var e=t.parentElement,n=0,r=0;e&&(e.parentElement&&(n=e.parentElement.getBBox().width),r=parseInt(e.getAttribute("data-x-shift"),10),Number.isNaN(r)&&(r=0)),t.setAttribute("x1",0-r+8),t.setAttribute("x2",n-r-8)}))):c.debug("No Node "+t+": "+JSON.stringify(o.node(t)))}));var w=k.getBBox();o.edges().forEach((function(t){void 0!==t&&void 0!==o.edge(t)&&(c.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(o.edge(t))),function(t,e,n){e.points=e.points.filter((function(t){return!Number.isNaN(t.y)}));var r=e.points,i=Object(d.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(d.curveBasis),a=t.append("path").attr("d",i(r)).attr("id","edge"+ji).attr("class","transition"),o="";if(_t().state.arrowMarkerAbsolute&&(o=(o=(o=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),a.attr("marker-end","url("+o+"#"+function(t){switch(t){case Mi.relationType.AGGREGATION:return"aggregation";case Mi.relationType.EXTENSION:return"extension";case Mi.relationType.COMPOSITION:return"composition";case Mi.relationType.DEPENDENCY:return"dependency"}}(Mi.relationType.DEPENDENCY)+"End)"),void 0!==n.title){for(var s=t.append("g").attr("class","stateLabel"),u=H.calcLabelPosition(e.points),l=u.x,h=u.y,f=x.getRows(n.title),p=0,g=[],y=0,v=0,m=0;m<=f.length;m++){var b=s.append("text").attr("text-anchor","middle").text(f[m]).attr("x",l).attr("y",h+p),_=b.node().getBBox();if(y=Math.max(y,_.width),v=Math.min(v,_.x),c.info(_.x,l,h+p),0===p){var k=b.node().getBBox();p=k.height,c.info("Title height",p,h)}g.push(b)}var w=p*f.length;if(f.length>1){var E=(f.length-1)*p*.5;g.forEach((function(t,e){return t.attr("y",h+e*p-E)})),w=p*f.length}var T=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",l-y/2-_t().state.padding/2).attr("y",h-w/2-_t().state.padding/2-3.5).attr("width",y+_t().state.padding).attr("height",w+_t().state.padding),c.info(T)}ji++}(n,o.edge(t),o.edge(t).relation))})),w=k.getBBox();var E={id:r||"root",label:r||"root",width:0,height:0};return E.width=w.width+2*vi.padding,E.height=w.height+2*vi.padding,c.debug("Doc rendered",E,o),E},zi=function(){},Ui=function(t,e){vi=_t().state,Oi.parser.yy.clear(),Oi.parser.parse(t),c.debug("Rendering diagram "+t);var n=Object(d.select)("[id='".concat(e,"']"));n.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z"),new G.a.Graph({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel((function(){return{}}));var r=Mi.getRootDoc();Yi(r,n,void 0,!1);var i=vi.padding,a=n.node().getBBox(),o=a.width+2*i,s=a.height+2*i;W(n,s,1.75*o,vi.useMaxWidth),n.attr("viewBox","".concat(a.x-vi.padding," ").concat(a.y-vi.padding," ")+o+" "+s)},$i={},Wi={},Hi=function(t,e,n,r){if("root"!==n.id){var i="rect";!0===n.start&&(i="start"),!1===n.start&&(i="end"),"default"!==n.type&&(i=n.type),Wi[n.id]||(Wi[n.id]={id:n.id,shape:i,description:n.id,classes:"statediagram-state"}),n.description&&(Array.isArray(Wi[n.id].description)?(Wi[n.id].shape="rectWithTitle",Wi[n.id].description.push(n.description)):Wi[n.id].description.length>0?(Wi[n.id].shape="rectWithTitle",Wi[n.id].description===n.id?Wi[n.id].description=[n.description]:Wi[n.id].description=[Wi[n.id].description,n.description]):(Wi[n.id].shape="rect",Wi[n.id].description=n.description)),!Wi[n.id].type&&n.doc&&(c.info("Setting cluser for ",n.id),Wi[n.id].type="group",Wi[n.id].shape="divider"===n.type?"divider":"roundedWithTitle",Wi[n.id].classes=Wi[n.id].classes+" "+(r?"statediagram-cluster statediagram-cluster-alt":"statediagram-cluster"));var a={labelStyle:"",shape:Wi[n.id].shape,labelText:Wi[n.id].description,classes:Wi[n.id].classes,style:"",id:n.id,domId:"state-"+n.id+"-"+Vi,type:Wi[n.id].type,padding:15};if(n.note){var o={labelStyle:"",shape:"note",labelText:n.note.text,classes:"statediagram-note",style:"",id:n.id+"----note",domId:"state-"+n.id+"----note-"+Vi,type:Wi[n.id].type,padding:15},s={labelStyle:"",shape:"noteGroup",labelText:n.note.text,classes:Wi[n.id].classes,style:"",id:n.id+"----parent",domId:"state-"+n.id+"----parent-"+Vi,type:"group",padding:0};Vi++,t.setNode(n.id+"----parent",s),t.setNode(o.id,o),t.setNode(n.id,a),t.setParent(n.id,n.id+"----parent"),t.setParent(o.id,n.id+"----parent");var u=n.id,l=o.id;"left of"===n.note.position&&(u=o.id,l=n.id),t.setEdge(u,l,{arrowhead:"none",arrowType:"",style:"fill:none",labelStyle:"",classes:"transition note-edge",arrowheadStyle:"fill: #333",labelpos:"c",labelType:"text",thickness:"normal"})}else t.setNode(n.id,a)}e&&"root"!==e.id&&(c.info("Setting node ",n.id," to be child of its parent ",e.id),t.setParent(n.id,e.id)),n.doc&&(c.info("Adding nodes children "),Gi(t,n,n.doc,!r))},Vi=0,Gi=function(t,e,n,r){Vi=0,c.trace("items",n),n.forEach((function(n){if("state"===n.stmt||"default"===n.stmt)Hi(t,e,n,r);else if("relation"===n.stmt){Hi(t,e,n.state1,r),Hi(t,e,n.state2,r);var i={id:"edge"+Vi,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:"fill:none",labelStyle:"",label:n.description,arrowheadStyle:"fill: #333",labelpos:"c",labelType:"text",thickness:"normal",classes:"transition"},a=n.state1.id,o=n.state2.id;t.setEdge(a,o,i,Vi),Vi++}}))},qi=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)$i[e[n]]=t[e[n]]},Xi=function(t,e){c.info("Drawing state diagram (v2)",e),Mi.clear(),Wi={};var n=Di.a.parser;n.yy=Mi,n.parse(t);var r=Mi.getDirection();void 0===r&&(r="LR");var i=_t().state,a=i.nodeSpacing||50,o=i.rankSpacing||50,s=new G.a.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:"TB",nodesep:a,ranksep:o,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));c.info(Mi.getRootDocV2()),Mi.extract(Mi.getRootDocV2()),c.info(Mi.getRootDocV2()),Hi(s,void 0,Mi.getRootDocV2(),!0);var u=Object(d.select)('[id="'.concat(e,'"]')),l=Object(d.select)("#"+e+" g");On(l,s,["barb"],"statediagram",e);var h=u.node().getBBox(),f=h.width+16,p=h.height+16;u.attr("class","statediagram");var g=u.node().getBBox();W(u,p,1.75*f,i.useMaxWidth);var y="".concat(g.x-8," ").concat(g.y-8," ").concat(f," ").concat(p);if(c.debug("viewBox ".concat(y)),u.attr("viewBox",y),!i.htmlLabels)for(var v=document.querySelectorAll('[id="'+e+'"] .edgeLabel .label'),m=0;m<v.length;m++){var b=v[m],x=b.getBBox(),_=document.createElementNS("http://www.w3.org/2000/svg","rect");_.setAttribute("rx",0),_.setAttribute("ry",0),_.setAttribute("width",x.width),_.setAttribute("height",x.height),b.insertBefore(_,b.firstChild)}},Zi={},Ji=null,Ki={master:Ji},Qi="master",ta="LR",ea=0;function na(){return I({length:7})}function ra(t,e){for(c.debug("Entering isfastforwardable:",t.id,e.id);t.seq<=e.seq&&t!==e&&null!=e.parent;){if(Array.isArray(e.parent))return c.debug("In merge commit:",e.parent),ra(t,Zi[e.parent[0]])||ra(t,Zi[e.parent[1]]);e=Zi[e.parent]}return c.debug(t.id,e.id),t.id===e.id}var ia={};function aa(t,e,n){var r=t.indexOf(e);-1===r?t.push(n):t.splice(r,1,n)}function oa(t){var e=t.reduce((function(t,e){return t.seq>e.seq?t:e}),t[0]),n="";t.forEach((function(t){n+=t===e?"\t*":"\t|"}));var r,i,a,o=[n,e.id,e.seq];for(var s in Ki)Ki[s]===e.id&&o.push(s);if(c.debug(o.join(" ")),Array.isArray(e.parent)){var u=Zi[e.parent[0]];aa(t,e,u),t.push(Zi[e.parent[1]])}else{if(null==e.parent)return;var l=Zi[e.parent];aa(t,e,l)}r=t,i=function(t){return t.id},a=Object.create(null),oa(t=r.reduce((function(t,e){var n=i(e);return a[n]||(a[n]=!0,t.push(e)),t}),[]))}var sa,ca=function(){var t=Object.keys(Zi).map((function(t){return Zi[t]}));return t.forEach((function(t){c.debug(t.id)})),t.sort((function(t,e){return e.seq-t.seq})),t},ua={setDirection:function(t){ta=t},setOptions:function(t){c.debug("options str",t),t=(t=t&&t.trim())||"{}";try{ia=JSON.parse(t)}catch(t){c.error("error while parsing gitGraph options",t.message)}},getOptions:function(){return ia},commit:function(t){var e={id:na(),message:t,seq:ea++,parent:null==Ji?null:Ji.id};Ji=e,Zi[e.id]=e,Ki[Qi]=e.id,c.debug("in pushCommit "+e.id)},branch:function(t){Ki[t]=null!=Ji?Ji.id:null,c.debug("in createBranch")},merge:function(t){var e=Zi[Ki[Qi]],n=Zi[Ki[t]];if(function(t,e){return t.seq>e.seq&&ra(e,t)}(e,n))c.debug("Already merged");else{if(ra(e,n))Ki[Qi]=Ki[t],Ji=Zi[Ki[Qi]];else{var r={id:na(),message:"merged branch "+t+" into "+Qi,seq:ea++,parent:[null==Ji?null:Ji.id,Ki[t]]};Ji=r,Zi[r.id]=r,Ki[Qi]=r.id}c.debug(Ki),c.debug("in mergeBranch")}},checkout:function(t){c.debug("in checkout");var e=Ki[Qi=t];Ji=Zi[e]},reset:function(t){c.debug("in reset",t);var e=t.split(":")[0],n=parseInt(t.split(":")[1]),r="HEAD"===e?Ji:Zi[Ki[e]];for(c.debug(r,n);n>0;)if(n--,!(r=Zi[r.parent])){var i="Critical error - unique parent commit not found during reset";throw c.error(i),i}Ji=r,Ki[Qi]=r.id},prettyPrint:function(){c.debug(Zi),oa([ca()[0]])},clear:function(){Zi={},Ki={master:Ji=null},Qi="master",ea=0},getBranchesAsObjArray:function(){var t=[];for(var e in Ki)t.push({name:e,commit:Zi[Ki[e]]});return t},getBranches:function(){return Ki},getCommits:function(){return Zi},getCommitsArray:ca,getCurrentBranch:function(){return Qi},getDirection:function(){return ta},getHead:function(){return Ji}},la=n(71),ha=n.n(la),fa={},da={nodeSpacing:150,nodeFillColor:"yellow",nodeStrokeWidth:2,nodeStrokeColor:"grey",lineStrokeWidth:4,branchOffset:50,lineColor:"grey",leftMargin:50,branchColors:["#442f74","#983351","#609732","#AA9A39"],nodeRadius:10,nodeLabel:{width:75,height:100,x:-25,y:0}},pa={};function ga(t,e,n,r){var i=D(r,d.curveBasis),a=da.branchColors[n%da.branchColors.length],o=Object(d.line)().x((function(t){return Math.round(t.x)})).y((function(t){return Math.round(t.y)})).curve(i);t.append("svg:path").attr("d",o(e)).style("stroke",a).style("stroke-width",da.lineStrokeWidth).style("fill","none")}function ya(t,e){e=e||t.node().getBBox();var n=t.node().getCTM();return{left:n.e+e.x*n.a,top:n.f+e.y*n.d,width:e.width,height:e.height}}function va(t,e,n,r,i){c.debug("svgDrawLineForCommits: ",e,n);var a=ya(t.select("#node-"+e+" circle")),o=ya(t.select("#node-"+n+" circle"));switch(r){case"LR":if(a.left-o.left>da.nodeSpacing){var s={x:a.left-da.nodeSpacing,y:o.top+o.height/2};ga(t,[s,{x:o.left+o.width,y:o.top+o.height/2}],i,"linear"),ga(t,[{x:a.left,y:a.top+a.height/2},{x:a.left-da.nodeSpacing/2,y:a.top+a.height/2},{x:a.left-da.nodeSpacing/2,y:s.y},s],i)}else ga(t,[{x:a.left,y:a.top+a.height/2},{x:a.left-da.nodeSpacing/2,y:a.top+a.height/2},{x:a.left-da.nodeSpacing/2,y:o.top+o.height/2},{x:o.left+o.width,y:o.top+o.height/2}],i);break;case"BT":if(o.top-a.top>da.nodeSpacing){var u={x:o.left+o.width/2,y:a.top+a.height+da.nodeSpacing};ga(t,[u,{x:o.left+o.width/2,y:o.top}],i,"linear"),ga(t,[{x:a.left+a.width/2,y:a.top+a.height},{x:a.left+a.width/2,y:a.top+a.height+da.nodeSpacing/2},{x:o.left+o.width/2,y:u.y-da.nodeSpacing/2},u],i)}else ga(t,[{x:a.left+a.width/2,y:a.top+a.height},{x:a.left+a.width/2,y:a.top+da.nodeSpacing/2},{x:o.left+o.width/2,y:o.top-da.nodeSpacing/2},{x:o.left+o.width/2,y:o.top}],i)}}function ma(t,e){return t.select(e).node().cloneNode(!0)}function ba(t,e,n,r){var i,a=Object.keys(fa).length;if("string"==typeof e)do{if(i=fa[e],c.debug("in renderCommitHistory",i.id,i.seq),t.select("#node-"+e).size()>0)return;t.append((function(){return ma(t,"#def-commit")})).attr("class","commit").attr("id",(function(){return"node-"+i.id})).attr("transform",(function(){switch(r){case"LR":return"translate("+(i.seq*da.nodeSpacing+da.leftMargin)+", "+sa*da.branchOffset+")";case"BT":return"translate("+(sa*da.branchOffset+da.leftMargin)+", "+(a-i.seq)*da.nodeSpacing+")"}})).attr("fill",da.nodeFillColor).attr("stroke",da.nodeStrokeColor).attr("stroke-width",da.nodeStrokeWidth);var o=void 0;for(var s in n)if(n[s].commit===i){o=n[s];break}o&&(c.debug("found branch ",o.name),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","branch-label").text(o.name+", ")),t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-id").text(i.id),""!==i.message&&"BT"===r&&t.select("#node-"+i.id+" p").append("xhtml:span").attr("class","commit-msg").text(", "+i.message),e=i.parent}while(e&&fa[e]);Array.isArray(e)&&(c.debug("found merge commmit",e),ba(t,e[0],n,r),sa++,ba(t,e[1],n,r),sa--)}function xa(t,e,n,r){for(r=r||0;e.seq>0&&!e.lineDrawn;)"string"==typeof e.parent?(va(t,e.id,e.parent,n,r),e.lineDrawn=!0,e=fa[e.parent]):Array.isArray(e.parent)&&(va(t,e.id,e.parent[0],n,r),va(t,e.id,e.parent[1],n,r+1),xa(t,fa[e.parent[1]],n,r+1),e.lineDrawn=!0,e=fa[e.parent[0]])}var _a,ka=function(t){pa=t},wa=function(t,e,n){try{var r=ha.a.parser;r.yy=ua,r.yy.clear(),c.debug("in gitgraph renderer",t+"\n","id:",e,n),r.parse(t+"\n"),da=Object.assign(da,pa,ua.getOptions()),c.debug("effective options",da);var i=ua.getDirection();fa=ua.getCommits();var a=ua.getBranchesAsObjArray();"BT"===i&&(da.nodeLabel.x=a.length*da.branchOffset,da.nodeLabel.width="100%",da.nodeLabel.y=-2*da.nodeRadius);var o=Object(d.select)('[id="'.concat(e,'"]'));for(var s in function(t){t.append("defs").append("g").attr("id","def-commit").append("circle").attr("r",da.nodeRadius).attr("cx",0).attr("cy",0),t.select("#def-commit").append("foreignObject").attr("width",da.nodeLabel.width).attr("height",da.nodeLabel.height).attr("x",da.nodeLabel.x).attr("y",da.nodeLabel.y).attr("class","node-label").attr("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility").append("p").html("")}(o),sa=1,a){var u=a[s];ba(o,u.commit.id,a,i),xa(o,u.commit,i),sa++}o.attr("height",(function(){return"BT"===i?Object.keys(fa).length*da.nodeSpacing:(a.length+1)*da.branchOffset}))}catch(t){c.error("Error while rendering gitgraph"),c.error(t.message)}},Ea="",Ta=!1,Ca={setMessage:function(t){c.debug("Setting message to: "+t),Ea=t},getMessage:function(){return Ea},setInfo:function(t){Ta=t},getInfo:function(){return Ta}},Aa=n(72),Sa=n.n(Aa),Ma={},Oa=function(t){Object.keys(t).forEach((function(e){Ma[e]=t[e]}))},Da=function(t,e,n){try{var r=Sa.a.parser;r.yy=Ca,c.debug("Renering info diagram\n"+t),r.parse(t),c.debug("Parsed info diagram");var i=Object(d.select)("#"+e);i.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size","32px").style("text-anchor","middle").text("v "+n),i.attr("height",100),i.attr("width",400)}catch(t){c.error("Error while rendering info diagram"),c.error(t.message)}},Na={},Ba=function(t){Object.keys(t).forEach((function(e){Na[e]=t[e]}))},La=function(t,e){try{c.debug("Renering svg for syntax error\n");var n=Object(d.select)("#"+t),r=n.append("g");r.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),r.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),r.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),r.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),r.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),r.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),r.append("text").attr("class","error-text").attr("x",1240).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in graph"),r.append("text").attr("class","error-text").attr("x",1050).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text("mermaid version "+e),n.attr("height",100),n.attr("width",400),n.attr("viewBox","768 0 512 512")}catch(t){c.error("Error while rendering info diagram"),c.error(t.message)}},Pa={},Ia="",Fa={parseDirective:function(t,e,n){Go.parseDirective(this,t,e,n)},getConfig:function(){return _t().pie},addSection:function(t,e){void 0===Pa[t]&&(Pa[t]=e,c.debug("Added new section :",t))},getSections:function(){return Pa},cleanupValue:function(t){return":"===t.substring(0,1)?(t=t.substring(1).trim(),Number(t.trim())):Number(t.trim())},clear:function(){Pa={},Ia=""},setTitle:function(t){Ia=t},getTitle:function(){return Ia}},ja=n(73),Ra=n.n(ja),Ya={},za=function(t){Object.keys(t).forEach((function(e){Ya[e]=t[e]}))},Ua=function(t,e){try{var n=Ra.a.parser;n.yy=Fa,c.debug("Rendering info diagram\n"+t),n.yy.clear(),n.parse(t),c.debug("Parsed info diagram");var r=document.getElementById(e);void 0===(_a=r.parentElement.offsetWidth)&&(_a=1200),void 0!==Ya.useWidth&&(_a=Ya.useWidth);var i=Object(d.select)("#"+e);W(i,450,_a,Ya.useMaxWidth),r.setAttribute("viewBox","0 0 "+_a+" 450");var a=Math.min(_a,450)/2-40,o=i.append("g").attr("transform","translate("+_a/2+",225)"),s=Fa.getSections(),u=0;Object.keys(s).forEach((function(t){u+=s[t]}));var l=Object(d.scaleOrdinal)().domain(s).range(d.schemeSet2),h=Object(d.pie)().value((function(t){return t.value}))(Object(d.entries)(s)),f=Object(d.arc)().innerRadius(0).outerRadius(a);o.selectAll("mySlices").data(h).enter().append("path").attr("d",f).attr("fill",(function(t){return l(t.data.key)})).attr("stroke","black").style("stroke-width","2px").style("opacity",.7),o.selectAll("mySlices").data(h.filter((function(t){return 0!==t.data.value}))).enter().append("text").text((function(t){return(t.data.value/u*100).toFixed(0)+"%"})).attr("transform",(function(t){return"translate("+f.centroid(t)+")"})).style("text-anchor","middle").attr("class","slice").style("font-size",17),o.append("text").text(n.yy.getTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");var p=o.selectAll(".legend").data(l.domain()).enter().append("g").attr("class","legend").attr("transform",(function(t,e){return"translate(216,"+(22*e-22*l.domain().length/2)+")"}));p.append("rect").attr("width",18).attr("height",18).style("fill",l).style("stroke",l),p.append("text").attr("x",22).attr("y",14).text((function(t){return t}))}catch(t){c.error("Error while rendering info diagram"),c.error(t)}},$a={},Wa=[],Ha="",Va=function(t){return void 0===$a[t]&&($a[t]={attributes:[]},c.info("Added new entity :",t)),$a[t]},Ga={Cardinality:{ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE"},Identification:{NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},parseDirective:function(t,e,n){Go.parseDirective(this,t,e,n)},getConfig:function(){return _t().er},addEntity:Va,addAttributes:function(t,e){var n,r=Va(t);for(n=e.length-1;n>=0;n--)r.attributes.push(e[n]),c.debug("Added attribute ",e[n].attributeName)},getEntities:function(){return $a},addRelationship:function(t,e,n,r){var i={entityA:t,roleA:e,entityB:n,relSpec:r};Wa.push(i),c.debug("Added new relationship :",i)},getRelationships:function(){return Wa},clear:function(){$a={},Wa=[],Ha=""},setTitle:function(t){Ha=t},getTitle:function(){return Ha}},qa=n(74),Xa=n.n(qa),Za={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END"},Ja=Za,Ka=function(t,e){var n;t.append("defs").append("marker").attr("id",Za.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",Za.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),(n=t.append("defs").append("marker").attr("id",Za.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),(n=t.append("defs").append("marker").attr("id",Za.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",Za.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",Za.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),(n=t.append("defs").append("marker").attr("id",Za.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),(n=t.append("defs").append("marker").attr("id",Za.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto")).append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},Qa={},to=function(t,e,n){var r;return Object.keys(e).forEach((function(i){var a=t.append("g").attr("id",i);r=void 0===r?i:r;var o="entity-"+i,s=a.append("text").attr("class","er entityLabel").attr("id",o).attr("x",0).attr("y",0).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("style","font-family: "+_t().fontFamily+"; font-size: "+Qa.fontSize+"px").text(i),c=function(t,e,n){var r=Qa.entityPadding/3,i=Qa.entityPadding/3,a=.85*Qa.fontSize,o=e.node().getBBox(),s=[],c=0,u=0,l=o.height+2*r,h=1;n.forEach((function(n){var i="".concat(e.node().id,"-attr-").concat(h),o=t.append("text").attr("class","er entityLabel").attr("id","".concat(i,"-type")).attr("x",0).attr("y",0).attr("dominant-baseline","middle").attr("text-anchor","left").attr("style","font-family: "+_t().fontFamily+"; font-size: "+a+"px").text(n.attributeType),f=t.append("text").attr("class","er entityLabel").attr("id","".concat(i,"-name")).attr("x",0).attr("y",0).attr("dominant-baseline","middle").attr("text-anchor","left").attr("style","font-family: "+_t().fontFamily+"; font-size: "+a+"px").text(n.attributeName);s.push({tn:o,nn:f});var d=o.node().getBBox(),p=f.node().getBBox();c=Math.max(c,d.width),u=Math.max(u,p.width),l+=Math.max(d.height,p.height)+2*r,h+=1}));var f={width:Math.max(Qa.minEntityWidth,Math.max(o.width+2*Qa.entityPadding,c+u+4*i)),height:n.length>0?l:Math.max(Qa.minEntityHeight,o.height+2*Qa.entityPadding)},d=Math.max(0,f.width-(c+u)-4*i);if(n.length>0){e.attr("transform","translate("+f.width/2+","+(r+o.height/2)+")");var p=o.height+2*r,g="attributeBoxOdd";s.forEach((function(e){var n=p+r+Math.max(e.tn.node().getBBox().height,e.nn.node().getBBox().height)/2;e.tn.attr("transform","translate("+i+","+n+")");var a=t.insert("rect","#"+e.tn.node().id).attr("class","er ".concat(g)).attr("fill",Qa.fill).attr("fill-opacity","100%").attr("stroke",Qa.stroke).attr("x",0).attr("y",p).attr("width",c+2*i+d/2).attr("height",e.tn.node().getBBox().height+2*r);e.nn.attr("transform","translate("+(parseFloat(a.attr("width"))+i)+","+n+")"),t.insert("rect","#"+e.nn.node().id).attr("class","er ".concat(g)).attr("fill",Qa.fill).attr("fill-opacity","100%").attr("stroke",Qa.stroke).attr("x","".concat(a.attr("x")+a.attr("width"))).attr("y",p).attr("width",u+2*i+d/2).attr("height",e.nn.node().getBBox().height+2*r),p+=Math.max(e.tn.node().getBBox().height,e.nn.node().getBBox().height)+2*r,g="attributeBoxOdd"==g?"attributeBoxEven":"attributeBoxOdd"}))}else f.height=Math.max(Qa.minEntityHeight,l),e.attr("transform","translate("+f.width/2+","+f.height/2+")");return f}(a,s,e[i].attributes),u=c.width,l=c.height,h=a.insert("rect","#"+o).attr("class","er entityBox").attr("fill",Qa.fill).attr("fill-opacity","100%").attr("stroke",Qa.stroke).attr("x",0).attr("y",0).attr("width",u).attr("height",l).node().getBBox();n.setNode(i,{width:h.width,height:h.height,shape:"rect",id:i})})),r},eo=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")},no=0,ro=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)Qa[e[n]]=t[e[n]]},io=function(t,e){c.info("Drawing ER diagram"),Ga.clear();var n=Xa.a.parser;n.yy=Ga;try{n.parse(t)}catch(t){c.debug("Parsing failed")}var r,i=Object(d.select)("[id='".concat(e,"']"));Ka(i,Qa),r=new G.a.Graph({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:Qa.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));var a,o,s=to(i,Ga.getEntities(),r),u=function(t,e){return t.forEach((function(t){e.setEdge(t.entityA,t.entityB,{relationship:t},eo(t))})),t}(Ga.getRelationships(),r);ke.a.layout(r),a=i,(o=r).nodes().forEach((function(t){void 0!==t&&void 0!==o.node(t)&&a.select("#"+t).attr("transform","translate("+(o.node(t).x-o.node(t).width/2)+","+(o.node(t).y-o.node(t).height/2)+" )")})),u.forEach((function(t){!function(t,e,n,r){no++;var i=n.edge(e.entityA,e.entityB,eo(e)),a=Object(d.line)().x((function(t){return t.x})).y((function(t){return t.y})).curve(d.curveBasis),o=t.insert("path","#"+r).attr("class","er relationshipLine").attr("d",a(i.points)).attr("stroke",Qa.stroke).attr("fill","none");e.relSpec.relType===Ga.Identification.NON_IDENTIFYING&&o.attr("stroke-dasharray","8,8");var s="";switch(Qa.arrowMarkerAbsolute&&(s=(s=(s=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(")).replace(/\)/g,"\\)")),e.relSpec.cardA){case Ga.Cardinality.ZERO_OR_ONE:o.attr("marker-end","url("+s+"#"+Ja.ZERO_OR_ONE_END+")");break;case Ga.Cardinality.ZERO_OR_MORE:o.attr("marker-end","url("+s+"#"+Ja.ZERO_OR_MORE_END+")");break;case Ga.Cardinality.ONE_OR_MORE:o.attr("marker-end","url("+s+"#"+Ja.ONE_OR_MORE_END+")");break;case Ga.Cardinality.ONLY_ONE:o.attr("marker-end","url("+s+"#"+Ja.ONLY_ONE_END+")")}switch(e.relSpec.cardB){case Ga.Cardinality.ZERO_OR_ONE:o.attr("marker-start","url("+s+"#"+Ja.ZERO_OR_ONE_START+")");break;case Ga.Cardinality.ZERO_OR_MORE:o.attr("marker-start","url("+s+"#"+Ja.ZERO_OR_MORE_START+")");break;case Ga.Cardinality.ONE_OR_MORE:o.attr("marker-start","url("+s+"#"+Ja.ONE_OR_MORE_START+")");break;case Ga.Cardinality.ONLY_ONE:o.attr("marker-start","url("+s+"#"+Ja.ONLY_ONE_START+")")}var c=o.node().getTotalLength(),u=o.node().getPointAtLength(.5*c),l="rel"+no,h=t.append("text").attr("class","er relationshipLabel").attr("id",l).attr("x",u.x).attr("y",u.y).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("style","font-family: "+_t().fontFamily+"; font-size: "+Qa.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+l).attr("class","er relationshipLabelBox").attr("x",u.x-h.width/2).attr("y",u.y-h.height/2).attr("width",h.width).attr("height",h.height).attr("fill","white").attr("fill-opacity","85%")}(i,t,r,s)}));var l=Qa.diagramPadding,h=i.node().getBBox(),f=h.width+2*l,p=h.height+2*l;W(i,p,f,Qa.useMaxWidth),i.attr("viewBox","".concat(h.x-l," ").concat(h.y-l," ").concat(f," ").concat(p))},ao=n(28),oo=n.n(ao);function so(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var co="",uo="",lo=[],ho=[],fo=[],po=function(){for(var t=!0,e=0;e<fo.length;e++)fo[e].processed,t=t&&fo[e].processed;return t},go={parseDirective:function(t,e,n){Go.parseDirective(this,t,e,n)},getConfig:function(){return _t().journey},clear:function(){lo.length=0,ho.length=0,uo="",co="",fo.length=0},setTitle:function(t){co=t},getTitle:function(){return co},addSection:function(t){uo=t,lo.push(t)},getSections:function(){return lo},getTasks:function(){for(var t=po(),e=0;!t&&e<100;)t=po(),e++;return ho.push.apply(ho,fo),ho},addTask:function(t,e){var n=e.substr(1).split(":"),r=0,i=[];1===n.length?(r=Number(n[0]),i=[]):(r=Number(n[0]),i=n[1].split(","));var a=i.map((function(t){return t.trim()})),o={section:uo,type:uo,people:a,task:t,score:r};fo.push(o)},addTaskOrg:function(t){var e={section:uo,type:uo,description:t,task:t,classes:[]};ho.push(e)},getActors:function(){return t=[],ho.forEach((function(e){e.people&&t.push.apply(t,so(e.people))})),so(new Set(t)).sort();var t}},yo=function(t,e){var n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},vo=function(t,e){var n=t.append("circle");return n.attr("cx",e.cx),n.attr("cy",e.cy),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("r",e.r),void 0!==n.class&&n.attr("class",n.class),void 0!==e.title&&n.append("title").text(e.title),n},mo=function(t,e){var n=e.text.replace(/<br\s*\/?>/gi," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),void 0!==e.class&&r.attr("class",e.class);var i=r.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.text(n),r},bo=-1,xo=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},_o=function(){function t(t,e,n,i,a,o,s,c){r(e.append("text").attr("x",n+a/2).attr("y",i+o/2+5).style("font-color",c).style("text-anchor","middle").text(t),s)}function e(t,e,n,i,a,o,s,c,u){for(var l=c.taskFontSize,h=c.taskFontFamily,f=t.split(/<br\s*\/?>/gi),d=0;d<f.length;d++){var p=d*l-l*(f.length-1)/2,g=e.append("text").attr("x",n+a/2).attr("y",i).attr("fill",u).style("text-anchor","middle").style("font-size",l).style("font-family",h);g.append("tspan").attr("x",n+a/2).attr("dy",p).text(f[d]),g.attr("y",i+o/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),r(g,s)}}function n(t,n,i,a,o,s,c,u){var l=n.append("switch"),h=l.append("foreignObject").attr("x",i).attr("y",a).attr("width",o).attr("height",s).attr("position","fixed").append("div").style("display","table").style("height","100%").style("width","100%");h.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,l,i,a,o,s,c,u),r(h,c)}function r(t,e){for(var n in e)n in e&&t.attr(n,e[n])}return function(r){return"fo"===r.textPlacement?n:"old"===r.textPlacement?t:e}}(),ko=vo,wo=function(t,e,n){var r=t.append("g"),i=xo();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=n.width,i.height=n.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,yo(r,i),_o(n)(e.text,r,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},n,e.colour)},Eo=mo,To=function(t,e,n){var r=e.x+n.width/2,i=t.append("g");bo++;var a,o,s;i.append("line").attr("id","task"+bo).attr("x1",r).attr("y1",e.y).attr("x2",r).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),a=i,o={cx:r,cy:300+30*(5-e.score),score:e.score},a.append("circle").attr("cx",o.cx).attr("cy",o.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),(s=a.append("g")).append("circle").attr("cx",o.cx-5).attr("cy",o.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),s.append("circle").attr("cx",o.cx+5).attr("cy",o.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),o.score>3?function(t){var e=Object(d.arc)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",e).attr("transform","translate("+o.cx+","+(o.cy+2)+")")}(s):o.score<3?function(t){var e=Object(d.arc)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",e).attr("transform","translate("+o.cx+","+(o.cy+7)+")")}(s):function(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",o.cx-5).attr("y1",o.cy+7).attr("x2",o.cx+5).attr("y2",o.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}(s);var c=xo();c.x=e.x,c.y=e.y,c.fill=e.fill,c.width=n.width,c.height=n.height,c.class="task task-type-"+e.num,c.rx=3,c.ry=3,yo(i,c);var u=e.x+14;e.people.forEach((function(t){var n=e.actors[t],r={cx:u,cy:e.y,r:7,fill:n,stroke:"#000",title:t};vo(i,r),u+=10})),_o(n)(e.task,i,c.x,c.y,c.width,c.height,{class:"task"},n,e.colour)},Co=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")};ao.parser.yy=go;var Ao={leftMargin:150,diagramMarginX:50,diagramMarginY:20,taskMargin:50,width:150,height:50,taskFontSize:14,taskFontFamily:'"Open-Sans", "sans-serif"',boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},So={};var Mo=Ao.leftMargin,Oo={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,n,r){void 0===t[e]?t[e]=n:t[e]=r(n,t[e])},updateBounds:function(t,e,n,r){var i,a=this,o=0;this.sequenceItems.forEach((function(s){o++;var c=a.sequenceItems.length-o+1;a.updateVal(s,"starty",e-c*Ao.boxMargin,Math.min),a.updateVal(s,"stopy",r+c*Ao.boxMargin,Math.max),a.updateVal(Oo.data,"startx",t-c*Ao.boxMargin,Math.min),a.updateVal(Oo.data,"stopx",n+c*Ao.boxMargin,Math.max),"activation"!==i&&(a.updateVal(s,"startx",t-c*Ao.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*Ao.boxMargin,Math.max),a.updateVal(Oo.data,"starty",e-c*Ao.boxMargin,Math.min),a.updateVal(Oo.data,"stopy",r+c*Ao.boxMargin,Math.max))}))},insert:function(t,e,n,r){var i=Math.min(t,n),a=Math.max(t,n),o=Math.min(e,r),s=Math.max(e,r);this.updateVal(Oo.data,"startx",i,Math.min),this.updateVal(Oo.data,"starty",o,Math.min),this.updateVal(Oo.data,"stopx",a,Math.max),this.updateVal(Oo.data,"stopy",s,Math.max),this.updateBounds(i,o,a,s)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},Do=Ao.sectionFills,No=Ao.sectionColours,Bo=function(t,e,n){for(var r="",i=n+(2*Ao.height+Ao.diagramMarginY),a=0,o="#CCC",s="black",c=0,u=0;u<e.length;u++){var l=e[u];if(r!==l.section){o=Do[a%Do.length],c=a%Do.length,s=No[a%No.length];var h={x:u*Ao.taskMargin+u*Ao.width+Mo,y:50,text:l.section,fill:o,num:c,colour:s};wo(t,h,Ao),r=l.section,a++}var f=l.people.reduce((function(t,e){return So[e]&&(t[e]=So[e]),t}),{});l.x=u*Ao.taskMargin+u*Ao.width+Mo,l.y=i,l.width=Ao.diagramMarginX,l.height=Ao.diagramMarginY,l.colour=s,l.fill=o,l.num=c,l.actors=f,To(t,l,Ao),Oo.insert(l.x,l.y,l.x+l.width+Ao.taskMargin,450)}},Lo=function(t){Object.keys(t).forEach((function(e){Ao[e]=t[e]}))},Po=function(t,e){ao.parser.yy.clear(),ao.parser.parse(t+"\n"),Oo.init();var n=Object(d.select)("#"+e);n.attr("xmlns:xlink","http://www.w3.org/1999/xlink"),Co(n);var r=ao.parser.yy.getTasks(),i=ao.parser.yy.getTitle(),a=ao.parser.yy.getActors();for(var o in So)delete So[o];var s=0;a.forEach((function(t){So[t]=Ao.actorColours[s%Ao.actorColours.length],s++})),function(t){var e=60;Object.keys(So).forEach((function(n){var r=So[n];ko(t,{cx:20,cy:e,r:7,fill:r,stroke:"#000"});var i={x:40,y:e+7,fill:"#666",text:n,textMargin:5|Ao.boxTextMargin};Eo(t,i),e+=20}))}(n),Oo.insert(0,0,Mo,50*Object.keys(So).length),Bo(n,r,0);var c=Oo.getBounds();i&&n.append("text").text(i).attr("x",Mo).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);var u=c.stopy-c.starty+2*Ao.diagramMarginY,l=Mo+c.stopx+2*Ao.diagramMarginX;W(n,u,l,Ao.useMaxWidth),n.append("line").attr("x1",Mo).attr("y1",4*Ao.height).attr("x2",l-Mo-4).attr("y2",4*Ao.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");var h=i?70:0;n.attr("viewBox","".concat(c.startx," -25 ").concat(l," ").concat(u+h)),n.attr("preserveAspectRatio","xMinYMin meet")},Io=function(t){return"g.classGroup text {\n fill: ".concat(t.nodeBorder,";\n fill: ").concat(t.classText,";\n stroke: none;\n font-family: ").concat(t.fontFamily,";\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ").concat(t.nodeBorder,";\n stroke: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n}\n\ng.classGroup line {\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ").concat(t.mainBkg,";\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ").concat(t.nodeBorder,";\n font-size: 10px;\n}\n\n.relation {\n stroke: ").concat(t.lineColor,";\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n#compositionStart, .composition {\n fill: ").concat(t.lineColor," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ").concat(t.lineColor," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ").concat(t.lineColor," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ").concat(t.lineColor," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: ").concat(t.lineColor," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: ").concat(t.lineColor," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: ").concat(t.mainBkg," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: ").concat(t.mainBkg," !important;\n stroke: ").concat(t.lineColor," !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n}\n\n")},Fo=function(t){return".label {\n font-family: ".concat(t.fontFamily,";\n color: ").concat(t.nodeTextColor||t.textColor,";\n }\n\n .label text {\n fill: ").concat(t.nodeTextColor||t.textColor,";\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ").concat(t.arrowheadColor,";\n }\n\n .edgePath .path {\n stroke: ").concat(t.lineColor,";\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ").concat(t.lineColor,";\n fill: none;\n }\n\n .edgeLabel {\n background-color: ").concat(t.edgeLabelBackground,";\n rect {\n opacity: 0.5;\n background-color: ").concat(t.edgeLabelBackground,";\n fill: ").concat(t.edgeLabelBackground,";\n }\n text-align: center;\n }\n\n .cluster rect {\n fill: ").concat(t.clusterBkg,";\n stroke: ").concat(t.clusterBorder,";\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ").concat(t.titleColor,";\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ").concat(t.fontFamily,";\n font-size: 12px;\n background: ").concat(t.tertiaryColor,";\n border: 1px solid ").concat(t.border2,";\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n")},jo=function(t){return"g.stateGroup text {\n fill: ".concat(t.nodeBorder,";\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ").concat(t.textColor,";\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ").concat(t.labelColor,";\n}\n\ng.stateGroup rect {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n}\n\ng.stateGroup line {\n stroke: ").concat(t.lineColor,";\n stroke-width: 1;\n}\n\n.transition {\n stroke: ").concat(t.lineColor,";\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ").concat(t.background,";\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ").concat(t.noteBorderColor,";\n fill: ").concat(t.noteBkgColor,";\n\n text {\n fill: black;\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ").concat(t.mainBkg,";\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ").concat(t.tertiaryColor,";\n opacity: 0.5;\n}\n.edgeLabel .label text {\n fill: ").concat(t.tertiaryTextColor,";\n}\n.label div .edgeLabel {\n color: ").concat(t.tertiaryTextColor,";\n}\n\n.stateLabel text {\n fill: ").concat(t.labelColor,";\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ").concat(t.lineColor,";\n stroke: black;\n}\n.node circle.state-end {\n fill: ").concat(t.primaryBorderColor,";\n stroke: ").concat(t.background,";\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ").concat(t.background,";\n // stroke: ").concat(t.background,";\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ").concat(t.lineColor,";\n}\n\n.statediagram-cluster rect {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ").concat(t.textColor,";\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ").concat(t.nodeBorder,";\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ").concat(t.background,";\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: #e0e0e0;\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ").concat(t.altBackground?t.altBackground:"#efefef",";\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ").concat(t.noteBkgColor,";\n stroke: ").concat(t.noteBorderColor,";\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ").concat(t.noteBkgColor,";\n stroke: ").concat(t.noteBorderColor,";\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ").concat(t.noteTextColor,";\n}\n\n.statediagram-note .nodeLabel {\n color: ").concat(t.noteTextColor,";\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ").concat(t.lineColor,";\n stroke: ").concat(t.lineColor,";\n stroke-width: 1;\n}\n")},Ro={flowchart:Fo,"flowchart-v2":Fo,sequence:function(t){return".actor {\n stroke: ".concat(t.actorBorder,";\n fill: ").concat(t.actorBkg,";\n }\n\n text.actor > tspan {\n fill: ").concat(t.actorTextColor,";\n stroke: none;\n }\n\n .actor-line {\n stroke: ").concat(t.actorLineColor,";\n }\n\n .messageLine0 {\n stroke-width: 1.5;\n stroke-dasharray: none;\n stroke: ").concat(t.signalColor,";\n }\n\n .messageLine1 {\n stroke-width: 1.5;\n stroke-dasharray: 2, 2;\n stroke: ").concat(t.signalColor,";\n }\n\n #arrowhead path {\n fill: ").concat(t.signalColor,";\n stroke: ").concat(t.signalColor,";\n }\n\n .sequenceNumber {\n fill: ").concat(t.sequenceNumberColor,";\n }\n\n #sequencenumber {\n fill: ").concat(t.signalColor,";\n }\n\n #crosshead path {\n fill: ").concat(t.signalColor,";\n stroke: ").concat(t.signalColor,";\n }\n\n .messageText {\n fill: ").concat(t.signalTextColor,";\n stroke: ").concat(t.signalTextColor,";\n }\n\n .labelBox {\n stroke: ").concat(t.labelBoxBorderColor,";\n fill: ").concat(t.labelBoxBkgColor,";\n }\n\n .labelText, .labelText > tspan {\n fill: ").concat(t.labelTextColor,";\n stroke: none;\n }\n\n .loopText, .loopText > tspan {\n fill: ").concat(t.loopTextColor,";\n stroke: none;\n }\n\n .loopLine {\n stroke-width: 2px;\n stroke-dasharray: 2, 2;\n stroke: ").concat(t.labelBoxBorderColor,";\n fill: ").concat(t.labelBoxBorderColor,";\n }\n\n .note {\n //stroke: #decc93;\n stroke: ").concat(t.noteBorderColor,";\n fill: ").concat(t.noteBkgColor,";\n }\n\n .noteText, .noteText > tspan {\n fill: ").concat(t.noteTextColor,";\n stroke: none;\n }\n\n .activation0 {\n fill: ").concat(t.activationBkgColor,";\n stroke: ").concat(t.activationBorderColor,";\n }\n\n .activation1 {\n fill: ").concat(t.activationBkgColor,";\n stroke: ").concat(t.activationBorderColor,";\n }\n\n .activation2 {\n fill: ").concat(t.activationBkgColor,";\n stroke: ").concat(t.activationBorderColor,";\n }\n")},gantt:function(t){return'\n .mermaid-main-font {\n font-family: "trebuchet ms", verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: '.concat(t.sectionBkgColor,";\n }\n\n .section2 {\n fill: ").concat(t.sectionBkgColor2,";\n }\n\n .section1,\n .section3 {\n fill: ").concat(t.altSectionBkgColor,";\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle1 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle2 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle3 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle {\n text-anchor: start;\n font-size: 11px;\n text-height: 14px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ").concat(t.gridColor,";\n opacity: 0.8;\n shape-rendering: crispEdges;\n text {\n font-family: ").concat(t.fontFamily,";\n fill: ").concat(t.textColor,";\n }\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ").concat(t.todayLineColor,";\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n\n .taskText:not([font-size]) {\n font-size: 11px;\n }\n\n .taskTextOutsideRight {\n fill: ").concat(t.taskTextDarkColor,";\n text-anchor: start;\n font-size: 11px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n\n }\n\n .taskTextOutsideLeft {\n fill: ").concat(t.taskTextDarkColor,";\n text-anchor: end;\n font-size: 11px;\n }\n\n /* Special case clickable */\n .task.clickable {\n cursor: pointer;\n }\n .taskText.clickable {\n cursor: pointer;\n fill: ").concat(t.taskTextClickableColor," !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ").concat(t.taskTextClickableColor," !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ").concat(t.taskTextClickableColor," !important;\n font-weight: bold;\n }\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ").concat(t.taskTextColor,";\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ").concat(t.taskBkgColor,";\n stroke: ").concat(t.taskBorderColor,";\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ").concat(t.taskTextOutsideColor,";\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ").concat(t.taskTextOutsideColor,";\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ").concat(t.activeTaskBkgColor,";\n stroke: ").concat(t.activeTaskBorderColor,";\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ").concat(t.doneTaskBorderColor,";\n fill: ").concat(t.doneTaskBkgColor,";\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ").concat(t.critBorderColor,";\n fill: ").concat(t.critBkgColor,";\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ").concat(t.critBorderColor,";\n fill: ").concat(t.activeTaskBkgColor,";\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ").concat(t.critBorderColor,";\n fill: ").concat(t.doneTaskBkgColor,";\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ").concat(t.textColor," ;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n")},classDiagram:Io,"classDiagram-v2":Io,class:Io,stateDiagram:jo,state:jo,git:function(){return"\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n"},info:function(){return""},pie:function(t){return".pieTitleText {\n text-anchor: middle;\n font-size: 25px;\n fill: ".concat(t.taskTextDarkColor,";\n font-family: ").concat(t.fontFamily,";\n }\n .slice {\n font-family: ").concat(t.fontFamily,";\n fill: ").concat(t.textColor,";\n // fill: white;\n }\n .legend text {\n fill: ").concat(t.taskTextDarkColor,";\n font-family: ").concat(t.fontFamily,";\n font-size: 17px;\n }\n")},er:function(t){return"\n .entityBox {\n fill: ".concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n }\n\n .attributeBoxOdd {\n fill: #ffffff;\n stroke: ").concat(t.nodeBorder,";\n }\n\n .attributeBoxEven {\n fill: #f2f2f2;\n stroke: ").concat(t.nodeBorder,";\n }\n\n .relationshipLabelBox {\n fill: ").concat(t.tertiaryColor,";\n opacity: 0.7;\n background-color: ").concat(t.tertiaryColor,";\n rect {\n opacity: 0.5;\n }\n }\n\n .relationshipLine {\n stroke: ").concat(t.lineColor,";\n }\n")},journey:function(t){return".label {\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n color: ".concat(t.textColor,";\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ").concat(t.textColor,"\n }\n\n .legend {\n fill: ").concat(t.textColor,";\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ").concat(t.textColor,"\n }\n\n .face {\n fill: #FFF8DC;\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ").concat(t.arrowheadColor,";\n }\n\n .edgePath .path {\n stroke: ").concat(t.lineColor,";\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ").concat(t.lineColor,";\n fill: none;\n }\n\n .edgeLabel {\n background-color: ").concat(t.edgeLabelBackground,";\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ").concat(t.titleColor,";\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n font-size: 12px;\n background: ").concat(t.tertiaryColor,";\n border: 1px solid ").concat(t.border2,";\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType0):"",";\n }\n .task-type-1, .section-type-1 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType1):"",";\n }\n .task-type-2, .section-type-2 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType2):"",";\n }\n .task-type-3, .section-type-3 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType3):"",";\n }\n .task-type-4, .section-type-4 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType4):"",";\n }\n .task-type-5, .section-type-5 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType5):"",";\n }\n .task-type-6, .section-type-6 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType6):"",";\n }\n .task-type-7, .section-type-7 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType7):"",";\n }\n")}},Yo=function(t,e,n){return" {\n font-family: ".concat(n.fontFamily,";\n font-size: ").concat(n.fontSize,";\n fill: ").concat(n.textColor,"\n }\n\n /* Classes common for multiple diagrams */\n\n .error-icon {\n fill: ").concat(n.errorBkgColor,";\n }\n .error-text {\n fill: ").concat(n.errorTextColor,";\n stroke: ").concat(n.errorTextColor,";\n }\n\n .edge-thickness-normal {\n stroke-width: 2px;\n }\n .edge-thickness-thick {\n stroke-width: 3.5px\n }\n .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n\n .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n .marker {\n fill: ").concat(n.lineColor,";\n }\n .marker.cross {\n stroke: ").concat(n.lineColor,";\n }\n\n svg {\n font-family: ").concat(n.fontFamily,";\n font-size: ").concat(n.fontSize,";\n }\n\n ").concat(Ro[t](n),"\n\n ").concat(e,"\n\n ").concat(t," { fill: apa;}\n")};function zo(t){return(zo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Uo={},$o=function(t,e,n){switch(c.debug("Directive type=".concat(e.type," with args:"),e.args),e.type){case"init":case"initialize":["config"].forEach((function(t){void 0!==e.args[t]&&("flowchart-v2"===n&&(n="flowchart"),e.args[n]=e.args[t],delete e.args[t])})),e.args,wt(e.args);break;case"wrap":case"nowrap":t&&t.setWrap&&t.setWrap("wrap"===e.type);break;default:c.warn("Unhandled directive: source: '%%{".concat(e.type,": ").concat(JSON.stringify(e.args?e.args:{}),"}%%"),e)}};function Wo(t){ka(t.git),me(t.flowchart),Ln(t.flowchart),void 0!==t.sequenceDiagram&&_r.setConf(F(t.sequence,t.sequenceDiagram)),_r.setConf(t.sequence),ri(t.gantt),li(t.class),zi(t.state),qi(t.state),Oa(t.class),za(t.class),ro(t.er),Lo(t.journey),Ba(t.class)}function Ho(){}var Vo=Object.freeze({render:function(t,e,n,r){Et();var i=e,a=H.detectInit(i);a&&wt(a);var o=_t();if(e.length>o.maxTextSize&&(i="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa"),void 0!==r)r.innerHTML="",Object(d.select)(r).append("div").attr("id","d"+t).attr("style","font-family: "+o.fontFamily).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g");else{var s=document.getElementById(t);s&&s.remove();var u=document.querySelector("#d"+t);u&&u.remove(),Object(d.select)("body").append("div").attr("id","d"+t).append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg").append("g")}window.txt=i,i=function(t){var e=t;return e=(e=(e=e.replace(/style.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)}))).replace(/classDef.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)}))).replace(/#\w+;/g,(function(t){var e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"}))}(i);var l=Object(d.select)("#d"+t).node(),h=H.detectType(i),g=l.firstChild,y=g.firstChild,v="";if(void 0!==o.themeCSS&&(v+="\n".concat(o.themeCSS)),void 0!==o.fontFamily&&(v+="\n:root { --mermaid-font-family: ".concat(o.fontFamily,"}")),void 0!==o.altFontFamily&&(v+="\n:root { --mermaid-alt-font-family: ".concat(o.altFontFamily,"}")),"flowchart"===h||"flowchart-v2"===h||"graph"===h){var m=be(i);for(var b in m)v+="\n.".concat(b," > * { ").concat(m[b].styles.join(" !important; ")," !important; }"),m[b].textStyles&&(v+="\n.".concat(b," tspan { ").concat(m[b].textStyles.join(" !important; ")," !important; }"))}var x=(new f.a)("#".concat(t),Yo(h,v,o.themeVariables)),_=document.createElement("style");_.innerHTML=x,g.insertBefore(_,y);try{switch(h){case"git":o.flowchart.arrowMarkerAbsolute=o.arrowMarkerAbsolute,ka(o.git),wa(i,t,!1);break;case"flowchart":o.flowchart.arrowMarkerAbsolute=o.arrowMarkerAbsolute,me(o.flowchart),xe(i,t,!1);break;case"flowchart-v2":o.flowchart.arrowMarkerAbsolute=o.arrowMarkerAbsolute,Ln(o.flowchart),Pn(i,t,!1);break;case"sequence":o.sequence.arrowMarkerAbsolute=o.arrowMarkerAbsolute,o.sequenceDiagram?(_r.setConf(Object.assign(o.sequence,o.sequenceDiagram)),console.error("`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.")):_r.setConf(o.sequence),_r.draw(i,t);break;case"gantt":o.gantt.arrowMarkerAbsolute=o.arrowMarkerAbsolute,ri(o.gantt),ii(i,t);break;case"class":o.class.arrowMarkerAbsolute=o.arrowMarkerAbsolute,li(o.class),hi(i,t);break;case"classDiagram":o.class.arrowMarkerAbsolute=o.arrowMarkerAbsolute,di(o.class),pi(i,t);break;case"state":o.class.arrowMarkerAbsolute=o.arrowMarkerAbsolute,zi(o.state),Ui(i,t);break;case"stateDiagram":o.class.arrowMarkerAbsolute=o.arrowMarkerAbsolute,qi(o.state),Xi(i,t);break;case"info":o.class.arrowMarkerAbsolute=o.arrowMarkerAbsolute,Oa(o.class),Da(i,t,p.version);break;case"pie":o.class.arrowMarkerAbsolute=o.arrowMarkerAbsolute,za(o.pie),Ua(i,t,p.version);break;case"er":ro(o.er),io(i,t,p.version);break;case"journey":Lo(o.journey),Po(i,t,p.version)}}catch(e){throw La(t,p.version),e}Object(d.select)('[id="'.concat(t,'"]')).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");var k=Object(d.select)("#d"+t).node().innerHTML;if(c.debug("cnf.arrowMarkerAbsolute",o.arrowMarkerAbsolute),o.arrowMarkerAbsolute&&"false"!==o.arrowMarkerAbsolute||(k=k.replace(/marker-end="url\(.*?#/g,'marker-end="url(#',"g")),k=(k=function(t){var e=t;return e=(e=(e=e.replace(/fl°°/g,(function(){return"&#"}))).replace(/fl°/g,(function(){return"&"}))).replace(/¶ß/g,(function(){return";"}))}(k)).replace(/<br>/g,"<br/>"),void 0!==n)switch(h){case"flowchart":case"flowchart-v2":n(k,Xt.bindFunctions);break;case"gantt":n(k,Qr.bindFunctions);break;case"class":case"classDiagram":n(k,cn.bindFunctions);break;default:n(k)}else c.debug("CB = undefined!");var w=Object(d.select)("#d"+t).node();return null!==w&&"function"==typeof w.remove&&Object(d.select)("#d"+t).node().remove(),k},parse:function(t){var e=H.detectInit(t);e&&c.debug("reinit ",e);var n,r=H.detectType(t);switch(c.debug("Type "+r),r){case"git":(n=ha.a).parser.yy=ua;break;case"flowchart":case"flowchart-v2":Xt.clear(),(n=Jt.a).parser.yy=Xt;break;case"sequence":(n=Hn.a).parser.yy=sr;break;case"gantt":(n=wr.a).parser.yy=Qr;break;case"class":case"classDiagram":(n=oi.a).parser.yy=cn;break;case"state":case"stateDiagram":(n=Di.a).parser.yy=Mi;break;case"info":c.debug("info info info"),(n=Sa.a).parser.yy=Ca;break;case"pie":c.debug("pie"),(n=Ra.a).parser.yy=Fa;break;case"er":c.debug("er"),(n=Xa.a).parser.yy=Ga;break;case"journey":c.debug("Journey"),(n=oo.a).parser.yy=go}return n.parser.yy.graphType=r,n.parser.yy.parseError=function(t,e){throw{str:t,hash:e}},n.parse(t),n},parseDirective:function(t,e,n,r){try{if(void 0!==e)switch(e=e.trim(),n){case"open_directive":Uo={};break;case"type_directive":Uo.type=e.toLowerCase();break;case"arg_directive":Uo.args=JSON.parse(e);break;case"close_directive":$o(t,Uo,r),Uo=null}}catch(t){c.error("Error while rendering sequenceDiagram directive: ".concat(e," jison context: ").concat(n)),c.error(t.message)}},initialize:function(t){t&&t.fontFamily&&(t.themeVariables&&t.themeVariables.fontFamily||(t.themeVariables={fontFamily:t.fontFamily})),dt=F({},t),t&&t.theme&&ht[t.theme]?t.themeVariables=ht[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=ht.default.getThemeVariables(t.themeVariables));var e="object"===zo(t)?function(t){return yt=F({},gt),yt=F(yt,t),t.theme&&(yt.themeVariables=ht[t.theme].getThemeVariables(t.themeVariables)),mt=bt(yt,vt),yt}(t):xt();Wo(e),u(e.logLevel)},reinitialize:Ho,getConfig:_t,setConfig:function(t){return F(mt,t),_t()},getSiteConfig:xt,updateSiteConfig:function(t){return yt=F(yt,t),bt(yt,vt),yt},reset:function(){Et()},globalReset:function(){Et(),Wo(_t())},defaultConfig:gt});u(_t().logLevel),Et(_t());var Go=Vo,qo=function(){Xo.startOnLoad?Go.getConfig().startOnLoad&&Xo.init():void 0===Xo.startOnLoad&&(c.debug("In start, no config"),Go.getConfig().startOnLoad&&Xo.init())};"undefined"!=typeof document&& +/*! + * Wait for document loaded before starting the execution + */ +window.addEventListener("load",(function(){qo()}),!1);var Xo={startOnLoad:!0,htmlLabels:!0,mermaidAPI:Go,parse:Go.parse,render:Go.render,init:function(){var t,e,n=this,r=Go.getConfig();arguments.length>=2?( +/*! sequence config was passed as #1 */ +void 0!==arguments[0]&&(Xo.sequenceConfig=arguments[0]),t=arguments[1]):t=arguments[0],"function"==typeof arguments[arguments.length-1]?(e=arguments[arguments.length-1],c.debug("Callback function found")):void 0!==r.mermaid&&("function"==typeof r.mermaid.callback?(e=r.mermaid.callback,c.debug("Callback function found")):c.debug("No Callback function found")),t=void 0===t?document.querySelectorAll(".mermaid"):"string"==typeof t?document.querySelectorAll(t):t instanceof window.Node?[t]:t,c.debug("Start On Load before: "+Xo.startOnLoad),void 0!==Xo.startOnLoad&&(c.debug("Start On Load inner: "+Xo.startOnLoad),Go.updateSiteConfig({startOnLoad:Xo.startOnLoad})),void 0!==Xo.ganttConfig&&Go.updateSiteConfig({gantt:Xo.ganttConfig});for(var a,o=H.initIdGeneratior(r.deterministicIds,r.deterministicIDSeed).next,s=function(r){var s=t[r]; +/*! Check if previously processed */if(s.getAttribute("data-processed"))return"continue";s.setAttribute("data-processed",!0);var u="mermaid-".concat(o());a=i(a=s.innerHTML).trim().replace(/<br\s*\/?>/gi,"<br/>");var l=H.detectInit(a);l&&c.debug("Detected early reinit: ",l);try{Go.render(u,a,(function(t,n){s.innerHTML=t,void 0!==e&&e(u),n&&n(s)}),s)}catch(t){c.warn("Syntax Error rendering"),c.warn(t),n.parseError&&n.parseError(t)}},u=0;u<t.length;u++)s(u)},initialize:function(t){void 0!==t.mermaid&&(void 0!==t.mermaid.startOnLoad&&(Xo.startOnLoad=t.mermaid.startOnLoad),void 0!==t.mermaid.htmlLabels&&(Xo.htmlLabels=t.mermaid.htmlLabels)),Go.initialize(t)},contentLoaded:qo};e.default=Xo}]).default})); +//# sourceMappingURL=mermaid.min.js.map \ No newline at end of file diff --git a/posts/creating-a-new-theme/index.html b/posts/creating-a-new-theme/index.html new file mode 100644 index 00000000..0d88de09 --- /dev/null +++ b/posts/creating-a-new-theme/index.html @@ -0,0 +1,651 @@ +<!doctype html><html lang=en dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. +We’ll start with creating a new site with a very basic template."><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Creating a New Theme"><meta property="og:description" content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. +We’ll start with creating a new site with a very basic template."><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/hugo-vc/posts/creating-a-new-theme/"><meta property="article:section" content="posts"><meta property="article:published_time" content="2014-09-28T00:00:00+00:00"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Creating a New Theme | Visual Computing +
    +Creating a New Theme +

    Creating a New Theme

    September 28, 2014

    Introduction +#

    This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme.

    We’ll start with creating a new site with a very basic template. Then we’ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.

    In this tutorial, commands that you enter will start with the “$” prompt. The output will follow. Lines that start with “#” are comments that I’ve added to explain a point. When I show updates to a file, the “:wq” on the last line means to save the file.

    Here’s an example:

    ## this is a comment
    +$ echo this is a command
    +this is a command
    +
    +## edit the file
    +$ vi foo.md
    ++++
    +date = "2014-09-28"
    +title = "creating a new theme"
    ++++
    +
    +bah and humbug
    +:wq
    +
    +## show it
    +$ cat foo.md
    ++++
    +date = "2014-09-28"
    +title = "creating a new theme"
    ++++
    +
    +bah and humbug
    +$
    +

    Some Definitions +#

    There are a few concepts that you need to understand before creating a theme.

    Skins +#

    Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.

    You have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.

    Your second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?

    The difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.

    The rest of this tutorial will call a skin created in the themes/ directory a theme.

    Note that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.

    The Home Page +#

    The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.

    Site Configuration File +#

    When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.

    Hugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.

    Content +#

    Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.

    Front Matter +#

    The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.

    The information in the front matter is passed into the template before the content is rendered into HTML.

    Markdown +#

    Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.

    Template Files +#

    Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it’s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.

    There are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.

    Hugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.

    Please note that you can use the front matter to influence Hugo’s choice of templates.

    Single Template +#

    A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.

    List Template +#

    A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.

    The homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.

    Partial Template +#

    A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.

    Create a New Site +#

    Let’s use Hugo to create a new web site. I’m a Mac user, so I’ll create mine in my home directory, in the Sites folder. If you’re using Linux, you might have to create the folder first.

    The “new site” command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.

    $ hugo new site ~/Sites/zafta
    +$ cd ~/Sites/zafta
    +$ ls -l
    +total 8
    +drwxr-xr-x  7 quoha  staff  238 Sep 29 16:49 .
    +drwxr-xr-x  3 quoha  staff  102 Sep 29 16:49 ..
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    +-rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    +$
    +

    Take a look in the content/ directory to confirm that it is empty.

    The other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That’s a topic for a different tutorial, so please ignore them for now.

    Generate the HTML For the New Site +#

    Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that’s everything that’s not content). Since we have an empty site, it won’t do much, but it will do it very quickly.

    $ hugo --verbose
    +INFO: 2014/09/29 Using config file: config.toml
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    +WARN: 2014/09/29 Unable to locate layout: [404.html]
    +0 draft content 
    +0 future content 
    +0 pages created 
    +0 tags created
    +0 categories created
    +in 2 ms
    +$ 
    +

    The “--verbose” flag gives extra information that will be helpful when we build the template. Every line of the output that starts with “INFO:” or “WARN:” is present because we used that flag. The lines that start with “WARN:” are warning messages. We’ll go over them later.

    We can verify that the command worked by looking at the directory again.

    $ ls -l
    +total 8
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    +-rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    +drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    +$
    +

    See that new public/ directory? Hugo placed all generated content there. When you’re ready to publish your web site, that’s the place to start. For now, though, let’s just confirm that we have what we’d expect from a site with no content.

    $ ls -l public
    +total 16
    +-rw-r--r--  1 quoha  staff  416 Sep 29 17:02 index.xml
    +-rw-r--r--  1 quoha  staff  262 Sep 29 17:02 sitemap.xml
    +$ 
    +

    Hugo created two XML files, which is standard, but there are no HTML files.

    Test the New Site +#

    Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the “server” command. If it is successful, you will see output similar to the following:

    $ hugo server --verbose
    +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    +WARN: 2014/09/29 Unable to locate layout: [404.html]
    +0 draft content 
    +0 future content 
    +0 pages created 
    +0 tags created
    +0 categories created
    +in 2 ms
    +Serving pages from /Users/quoha/Sites/zafta/public
    +Web Server is available at http://localhost:1313
    +Press Ctrl+C to stop
    +

    Connect to the listed URL (it’s on the line that starts with “Web Server”). If everything is working correctly, you should get a page that shows the following:

    index.xml
    +sitemap.xml
    +

    That’s a listing of your public/ directory. Hugo didn’t create a home page because our site has no content. When there’s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.

    Let’s go back and look at those warnings again.

    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    +WARN: 2014/09/29 Unable to locate layout: [404.html]
    +

    That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.

    Now for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.

    I like that the verbose flag causes Hugo to list the files that it’s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we’ll cover later that explain the names and paths. For now, just remember that Hugo couldn’t find a template for the home page and it told you so.

    At this point, you’ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.

    Create a New Theme +#

    Hugo doesn’t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.

    We’re going to create a new theme called “zafta.” Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.

    All themes have opinions on content and layout. For example, Zafta uses “post” over “blog”. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.

    Create a Skeleton +#

    Use the hugo “new” command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.

    $ hugo new theme zafta
    +
    +$ ls -l
    +total 8
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
    +-rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 content
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
    +drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
    +drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes
    +
    +$ find themes -type f | xargs ls -l
    +-rw-r--r--  1 quoha  staff  1081 Sep 29 17:31 themes/zafta/LICENSE.md
    +-rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/archetypes/default.md
    +-rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    +-rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    +-rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/index.html
    +-rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
    +-rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
    +-rw-r--r--  1 quoha  staff    93 Sep 29 17:31 themes/zafta/theme.toml
    +$ 
    +

    The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.

    Please take a minute to fill out the theme.toml and LICENSE.md files. They’re optional, but if you’re going to be distributing your theme, it tells the world who to praise (or blame). It’s also nice to declare the license so that people will know how they can use the theme.

    $ vi themes/zafta/theme.toml
    +author = "michael d henderson"
    +description = "a minimal working template"
    +license = "MIT"
    +name = "zafta"
    +source_repo = ""
    +tags = ["tags", "categories"]
    +:wq
    +
    +## also edit themes/zafta/LICENSE.md and change
    +## the bit that says "YOUR_NAME_HERE"
    +

    Note that the the skeleton’s template files are empty. Don’t worry, we’ll be changing that shortly.

    $ find themes/zafta -name '*.html' | xargs ls -l
    +-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    +-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    +-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/index.html
    +-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
    +-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
    +$
    +

    Update the Configuration File to Use the Theme +#

    Now that we’ve got a theme to work with, it’s a good idea to add the theme name to the configuration file. This is optional, because you can always add “-t zafta” on all your commands. I like to put it the configuration file because I like shorter command lines. If you don’t put it in the configuration file or specify it on the command line, you won’t use the template that you’re expecting to.

    Edit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.

    $ vi config.toml
    +theme = "zafta"
    +baseurl = ""
    +languageCode = "en-us"
    +title = "zafta - totally refreshing"
    +MetaDataFormat = "toml"
    +:wq
    +
    +$
    +

    Generate the Site +#

    Now that we have an empty theme, let’s generate the site again.

    $ hugo --verbose
    +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    +0 draft content 
    +0 future content 
    +0 pages created 
    +0 tags created
    +0 categories created
    +in 2 ms
    +$
    +

    Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme’s directory.

    Let’s check the public/ directory to see what Hugo’s created.

    $ ls -l public
    +total 16
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 css
    +-rw-r--r--  1 quoha  staff    0 Sep 29 17:56 index.html
    +-rw-r--r--  1 quoha  staff  407 Sep 29 17:56 index.xml
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 js
    +-rw-r--r--  1 quoha  staff  243 Sep 29 17:56 sitemap.xml
    +$
    +

    Notice four things:

    1. Hugo created a home page. This is the file public/index.html.
    2. Hugo created a css/ directory.
    3. Hugo created a js/ directory.
    4. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn’t create any pages. That’s because it considers a “page” to be a file created directly from a content file. It doesn’t count things like the index.html files that it creates automatically.

    The Home Page +#

    Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo’s warning message shows that it looks for three different templates:

    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    +

    If it can’t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.

    When Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.

    $ find . -name index.html | xargs ls -l
    +-rw-r--r--  1 quoha  staff  0 Sep 29 20:21 ./public/index.html
    +-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 ./themes/zafta/layouts/index.html
    +$ 
    +

    The Magic of Static +#

    Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.

    Hugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo’s opinion is that you’ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don’t like that, you can change the directory names in your theme directory or even delete them completely. Hugo’s nice enough to offer its opinion, then behave nicely if you disagree.

    $ find themes/zafta -type d | xargs ls -ld
    +drwxr-xr-x  7 quoha  staff  238 Sep 29 17:38 themes/zafta
    +drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes/zafta/archetypes
    +drwxr-xr-x  5 quoha  staff  170 Sep 29 17:31 themes/zafta/layouts
    +drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/_default
    +drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/layouts/partials
    +drwxr-xr-x  4 quoha  staff  136 Sep 29 17:31 themes/zafta/static
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/css
    +drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/js
    +$ 
    +

    The Theme Development Cycle +#

    When you’re working on a theme, you will make changes in the theme’s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:

    1. Purge the public/ directory.
    2. Run the built in web server in watch mode.
    3. Open your site in a browser.
    4. Update the theme.
    5. Glance at your browser window to see changes.
    6. Return to step 4.

    I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.

    Check the main Hugo site for information on using Git with Hugo.

    Purge the public/ Directory +#

    When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.

    Note: If you’re building on an SSD, you should ignore this. Churning on a SSD can be costly.

    Hugo’s Watch Option +#

    Hugo’s “--watch” option will monitor the content/ and your theme directories for changes and rebuild the site automatically.

    Live Reload +#

    Hugo’s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, “Wow, that’s totally amazing.”

    Development Commands +#

    Use the following commands as the basis for your workflow.

    ## purge old files. hugo will recreate the public directory.
    +##
    +$ rm -rf public
    +##
    +## run hugo in watch mode
    +##
    +$ hugo server --watch --verbose
    +

    Here’s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I’ve said this before, it’s amazing.

    $ rm -rf public
    +$ hugo server --watch --verbose
    +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    +0 draft content 
    +0 future content 
    +0 pages created 
    +0 tags created
    +0 categories created
    +in 2 ms
    +Watching for changes in /Users/quoha/Sites/zafta/content
    +Serving pages from /Users/quoha/Sites/zafta/public
    +Web Server is available at http://localhost:1313
    +Press Ctrl+C to stop
    +INFO: 2014/09/29 File System Event: ["/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html": MODIFY|ATTRIB]
    +Change detected, rebuilding site
    +
    +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    +0 draft content 
    +0 future content 
    +0 pages created 
    +0 tags created
    +0 categories created
    +in 1 ms
    +

    Update the Home Page Template +#

    The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme’s layout/ directory:

    1. index.html
    2. _default/list.html
    3. _default/single.html

    We could update one of the default templates, but a good design decision is to update the most specific template available. That’s not a hard and fast rule (in fact, we’ll break it a few times in this tutorial), but it is a good generalization.

    Make a Static Home Page +#

    Right now, that page is empty because we don’t have any content and we don’t have any logic in the template. Let’s change that by adding some text to the template.

    $ vi themes/zafta/layouts/index.html
    +<!DOCTYPE html> 
    +<html> 
    +<body> 
    +  <p>hugo says hello!</p> 
    +</body> 
    +</html> 
    +:wq
    +
    +$
    +

    Build the web site and then verify the results.

    $ hugo --verbose
    +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    +0 draft content 
    +0 future content 
    +0 pages created 
    +0 tags created
    +0 categories created
    +in 2 ms
    +
    +$ find public -type f -name '*.html' | xargs ls -l
    +-rw-r--r--  1 quoha  staff  78 Sep 29 21:26 public/index.html
    +
    +$ cat public/index.html 
    +<!DOCTYPE html> 
    +<html> 
    +<body> 
    +  <p>hugo says hello!</p> 
    +</html>
    +

    Live Reload +#

    Note: If you’re running the server with the --watch option, you’ll see different content in the file:

    $ cat public/index.html 
    +<!DOCTYPE html> 
    +<html> 
    +<body> 
    +  <p>hugo says hello!</p> 
    +<script>document.write('<script src="http://' 
    +        + (location.host || 'localhost').split(':')[0] 
    +    + ':1313/livereload.js?mindelay=10"></' 
    +        + 'script>')</script></body> 
    +</html>
    +

    When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.

    Build a “Dynamic” Home Page +#

    “Dynamic home page?” Hugo’s a static web site generator, so this seems an odd thing to say. I mean let’s have the home page automatically reflect the content in the site every time Hugo builds it. We’ll use iteration in the template to do that.

    Create New Posts +#

    Now that we have the home page generating static content, let’s add some content to the site. We’ll display these posts as a list on the home page and on their own page, too.

    Hugo has a command to generate a skeleton post, just like it does for sites and themes.

    $ hugo --verbose new post/first.md
    +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    +INFO: 2014/09/29 attempting to create  post/first.md of post
    +INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md
    +ERROR: 2014/09/29 Unable to Cast <nil> to map[string]interface{}
    +
    +$ 
    +

    That wasn’t very nice, was it?

    The “new” command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there’s a theme. For me, the workaround was to create an archetypes file specifically for the post type.

    $ vi themes/zafta/archetypes/post.md
    ++++
    +Description = ""
    +Tags = []
    +Categories = []
    ++++
    +:wq
    +
    +$ find themes/zafta/archetypes -type f | xargs ls -l
    +-rw-r--r--  1 quoha  staff   0 Sep 29 21:53 themes/zafta/archetypes/default.md
    +-rw-r--r--  1 quoha  staff  51 Sep 29 21:54 themes/zafta/archetypes/post.md
    +
    +$ hugo --verbose new post/first.md
    +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    +INFO: 2014/09/29 attempting to create  post/first.md of post
    +INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
    +INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md
    +/Users/quoha/Sites/zafta/content/post/first.md created
    +
    +$ hugo --verbose new post/second.md
    +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    +INFO: 2014/09/29 attempting to create  post/second.md of post
    +INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md
    +INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md
    +/Users/quoha/Sites/zafta/content/post/second.md created
    +
    +$ ls -l content/post
    +total 16
    +-rw-r--r--  1 quoha  staff  104 Sep 29 21:54 first.md
    +-rw-r--r--  1 quoha  staff  105 Sep 29 21:57 second.md
    +
    +$ cat content/post/first.md 
    ++++
    +Categories = []
    +Description = ""
    +Tags = []
    +date = "2014-09-29T21:54:53-05:00"
    +title = "first"
    +
    ++++
    +my first post
    +
    +$ cat content/post/second.md 
    ++++
    +Categories = []
    +Description = ""
    +Tags = []
    +date = "2014-09-29T21:57:09-05:00"
    +title = "second"
    +
    ++++
    +my second post
    +
    +$ 
    +

    Build the web site and then verify the results.

    $ rm -rf public
    +$ hugo --verbose
    +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +INFO: 2014/09/29 found taxonomies: map[string]string{"category":"categories", "tag":"tags"}
    +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    +0 draft content 
    +0 future content 
    +2 pages created 
    +0 tags created
    +0 categories created
    +in 4 ms
    +$
    +

    The output says that it created 2 pages. Those are our new posts:

    $ find public -type f -name '*.html' | xargs ls -l
    +-rw-r--r--  1 quoha  staff  78 Sep 29 22:13 public/index.html
    +-rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/first/index.html
    +-rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/index.html
    +-rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/second/index.html
    +$
    +

    The new files are empty because because the templates used to generate the content are empty. The homepage doesn’t show the new content, either. We have to update the templates to add the posts.

    List and Single Templates +#

    In Hugo, we have three major kinds of templates. There’s the home page template that we updated previously. It is used only by the home page. We also have “single” templates which are used to generate output for a single content file. We also have “list” templates that are used to group multiple pieces of content before generating output.

    Generally speaking, list templates are named “list.html” and single templates are named “single.html.”

    There are three other types of templates: partials, content views, and terms. We will not go into much detail on these.

    Add Content to the Homepage +#

    The home page will contain a list of posts. Let’s update its template to add the posts that we just created. The logic in the template will run every time we build the site.

    $ vi themes/zafta/layouts/index.html 
    +<!DOCTYPE html>
    +<html>
    +<body>
    +  {{ range first 10 .Data.Pages }}
    +    <h1>{{ .Title }}</h1>
    +  {{ end }}
    +</body>
    +</html>
    +:wq
    +
    +$
    +

    Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between “{{” and “}}”. In our template, the commands are:

    1. range
    2. .Title
    3. end

    The “range” command is an iterator. We’re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.

    The “.Title” command prints the value of the “title” variable. Hugo pulls it from the front matter in the Markdown file.

    The “end” command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds “end.” Everything between the “range” and “end” is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.

    It’s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.

    Build the web site and then verify the results.

    $ rm -rf public
    +$ hugo --verbose
    +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    +0 draft content 
    +0 future content 
    +2 pages created 
    +0 tags created
    +0 categories created
    +in 4 ms
    +$ find public -type f -name '*.html' | xargs ls -l 
    +-rw-r--r--  1 quoha  staff  94 Sep 29 22:23 public/index.html
    +-rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/first/index.html
    +-rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/index.html
    +-rw-r--r--  1 quoha  staff   0 Sep 29 22:23 public/post/second/index.html
    +$ cat public/index.html 
    +<!DOCTYPE html>
    +<html>
    +<body>
    +  
    +    <h1>second</h1>
    +  
    +    <h1>first</h1>
    +  
    +</body>
    +</html>
    +$
    +

    Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let’s take a moment to appreciate what we’ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you’ve learned everything you need to know to build a theme. All that’s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.

    And, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don’t worry, though, that’s all to come.

    Add Content to the Posts +#

    We’re working with posts, which are in the content/post/ directory. That means that their section is “post” (and if we don’t do something weird, their type is also “post”).

    Hugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can’t find one, then it will look in the _default/ directory. There are some twists that we’ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.

    Now that we know the search rule, let’s see what we actually have available:

    $ find themes/zafta -name single.html | xargs ls -l
    +-rw-r--r--  1 quoha  staff  132 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    +

    We could create a new template, post/single.html, or change the default. Since we don’t know of any other content types, let’s start with updating the default.

    Remember, any content that we haven’t created a template for will end up using this template. That can be good or bad. Bad because I know that we’re going to be adding different types of content and we’re going to end up undoing some of the changes we’ve made. It’s good because we’ll be able to see immediate results. It’s also good to start here because we can start to build the basic layout for the site. As we add more content types, we’ll refactor this file and move logic around. Hugo makes that fairly painless, so we’ll accept the cost and proceed.

    Please see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you’re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That’s a refreshing amount of joy right there.

    Update the Template File +#

    $ vi themes/zafta/layouts/_default/single.html 
    +<!DOCTYPE html>
    +<html>
    +<head>
    +  <title>{{ .Title }}</title>
    +</head>
    +<body>
    +  <h1>{{ .Title }}</h1>
    +  {{ .Content }}
    +</body>
    +</html>
    +:wq
    +
    +$
    +

    Build the web site and verify the results.

    $ rm -rf public
    +$ hugo --verbose
    +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    +0 draft content 
    +0 future content 
    +2 pages created 
    +0 tags created
    +0 categories created
    +in 4 ms
    +
    +$ find public -type f -name '*.html' | xargs ls -l
    +-rw-r--r--  1 quoha  staff   94 Sep 29 22:40 public/index.html
    +-rw-r--r--  1 quoha  staff  125 Sep 29 22:40 public/post/first/index.html
    +-rw-r--r--  1 quoha  staff    0 Sep 29 22:40 public/post/index.html
    +-rw-r--r--  1 quoha  staff  128 Sep 29 22:40 public/post/second/index.html
    +
    +$ cat public/post/first/index.html 
    +<!DOCTYPE html>
    +<html>
    +<head>
    +  <title>first</title>
    +</head>
    +<body>
    +  <h1>first</h1>
    +  <p>my first post</p>
    +
    +</body>
    +</html>
    +
    +$ cat public/post/second/index.html 
    +<!DOCTYPE html>
    +<html>
    +<head>
    +  <title>second</title>
    +</head>
    +<body>
    +  <h1>second</h1>
    +  <p>my second post</p>
    +
    +</body>
    +</html>
    +$
    +

    Notice that the posts now have content. You can go to localhost:1313/post/first to verify.

    Linking to Content +#

    The posts are on the home page. Let’s add a link from there to the post. Since this is the home page, we’ll update its template.

    $ vi themes/zafta/layouts/index.html
    +<!DOCTYPE html>
    +<html>
    +<body>
    +  {{ range first 10 .Data.Pages }}
    +    <h1><a href="{{ .Permalink }}">{{ .Title }}</a></h1>
    +  {{ end }}
    +</body>
    +</html>
    +

    Build the web site and verify the results.

    $ rm -rf public
    +$ hugo --verbose
    +INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    +INFO: 2014/09/29 found taxonomies: map[string]string{"tag":"tags", "category":"categories"}
    +WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html]
    +0 draft content 
    +0 future content 
    +2 pages created 
    +0 tags created
    +0 categories created
    +in 4 ms
    +
    +$ find public -type f -name '*.html' | xargs ls -l
    +-rw-r--r--  1 quoha  staff  149 Sep 29 22:44 public/index.html
    +-rw-r--r--  1 quoha  staff  125 Sep 29 22:44 public/post/first/index.html
    +-rw-r--r--  1 quoha  staff    0 Sep 29 22:44 public/post/index.html
    +-rw-r--r--  1 quoha  staff  128 Sep 29 22:44 public/post/second/index.html
    +
    +$ cat public/index.html 
    +<!DOCTYPE html>
    +<html>
    +<body>
    +  
    +    <h1><a href="/post/second/">second</a></h1>
    +  
    +    <h1><a href="/post/first/">first</a></h1>
    +  
    +</body>
    +</html>
    +
    +$
    +

    Create a Post Listing +#

    We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let’s make it show a list of all posts (not just the first ten).

    We need to decide which template to update. This will be a listing, so it should be a list template. Let’s take a quick look and see which list templates are available.

    $ find themes/zafta -name list.html | xargs ls -l
    +-rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    +

    As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don’t have multiple content types, so let’s stay consistent and update the default list template.

    Creating Top Level Pages +#

    Let’s add an “about” page and display it at the top level (as opposed to a sub-level like we did with posts).

    The default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let’s verify that by creating an “about” page at the top level:

    $ vi content/about.md 
    ++++
    +title = "about"
    +description = "about this site"
    +date = "2014-09-27"
    +slug = "about time"
    ++++
    +
    +## about us
    +
    +i'm speechless
    +:wq
    +

    Generate the web site and verify the results.

    $ find public -name '*.html' | xargs ls -l
    +-rw-rw-r--  1 mdhender  staff   334 Sep 27 15:08 public/about-time/index.html
    +-rw-rw-r--  1 mdhender  staff   527 Sep 27 15:08 public/index.html
    +-rw-rw-r--  1 mdhender  staff   358 Sep 27 15:08 public/post/first-post/index.html
    +-rw-rw-r--  1 mdhender  staff     0 Sep 27 15:08 public/post/index.html
    +-rw-rw-r--  1 mdhender  staff   342 Sep 27 15:08 public/post/second-post/index.html
    +

    Notice that the page wasn’t created at the top level. It was created in a sub-directory named ‘about-time/’. That name came from our slug. Hugo will use the slug to name the generated content. It’s a reasonable default, by the way, but we can learn a few things by fighting it for this file.

    One other thing. Take a look at the home page.

    $ cat public/index.html
    +<!DOCTYPE html>
    +<html>
    +<body>
    +    <h1><a href="http://localhost:1313/post/theme/">creating a new theme</a></h1>
    +    <h1><a href="http://localhost:1313/about-time/">about</a></h1>
    +    <h1><a href="http://localhost:1313/post/second-post/">second</a></h1>
    +    <h1><a href="http://localhost:1313/post/first-post/">first</a></h1>
    +<script>document.write('<script src="http://'
    +        + (location.host || 'localhost').split(':')[0]
    +		+ ':1313/livereload.js?mindelay=10"></'
    +        + 'script>')</script></body>
    +</html>
    +

    Notice that the “about” link is listed with the posts? That’s not desirable, so let’s change that first.

    $ vi themes/zafta/layouts/index.html
    +<!DOCTYPE html>
    +<html>
    +<body>
    +  <h1>posts</h1>
    +  {{ range first 10 .Data.Pages }}
    +    {{ if eq .Type "post"}}
    +      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    +    {{ end }}
    +  {{ end }}
    +
    +  <h1>pages</h1>
    +  {{ range .Data.Pages }}
    +    {{ if eq .Type "page" }}
    +      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    +    {{ end }}
    +  {{ end }}
    +</body>
    +</html>
    +:wq
    +

    Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.

    But, that about page still renders to about-time/index.html.

    $ find public -name '*.html' | xargs ls -l
    +-rw-rw-r--  1 mdhender  staff    334 Sep 27 15:33 public/about-time/index.html
    +-rw-rw-r--  1 mdhender  staff    645 Sep 27 15:33 public/index.html
    +-rw-rw-r--  1 mdhender  staff    358 Sep 27 15:33 public/post/first-post/index.html
    +-rw-rw-r--  1 mdhender  staff      0 Sep 27 15:33 public/post/index.html
    +-rw-rw-r--  1 mdhender  staff    342 Sep 27 15:33 public/post/second-post/index.html
    +

    Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let’s do it the hard way and change the permalink in the configuration file.

    $ vi config.toml
    +[permalinks]
    +	page = "/:title/"
    +	about = "/:filename/"
    +

    Generate the web site and verify that this didn’t work. Hugo lets “slug” or “URL” override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.

    Sharing Templates +#

    If you’ve been following along, you probably noticed that posts have titles in the browser and the home page doesn’t. That’s because we didn’t put the title in the home page’s template (layouts/index.html). That’s an easy thing to do, but let’s look at a different option.

    We can put the common bits into a shared template that’s stored in the themes/zafta/layouts/partials/ directory.

    In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme’s presentation.

    $ vi themes/zafta/layouts/partials/header.html
    +<!DOCTYPE html>
    +<html>
    +<head>
    +	<title>{{ .Title }}</title>
    +</head>
    +<body>
    +:wq
    +
    +$ vi themes/zafta/layouts/partials/footer.html
    +</body>
    +</html>
    +:wq
    +

    Update the Home Page Template to Use the Partials +#

    The most noticeable difference between a template call and a partials call is the lack of path:

    {{ template "theme/partials/header.html" . }}
    +

    versus

    {{ partial "header.html" . }}
    +

    Both pass in the context.

    Let’s change the home page template to use these new partials.

    $ vi themes/zafta/layouts/index.html
    +{{ partial "header.html" . }}
    +
    +  <h1>posts</h1>
    +  {{ range first 10 .Data.Pages }}
    +    {{ if eq .Type "post"}}
    +      <h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
    +    {{ end }}
    +  {{ end }}
    +
    +  <h1>pages</h1>
    +  {{ range .Data.Pages }}
    +    {{ if or (eq .Type "page") (eq .Type "about") }}
    +      <h2><a href="{{ .Permalink }}">{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}</a></h2>
    +    {{ end }}
    +  {{ end }}
    +
    +{{ partial "footer.html" . }}
    +:wq
    +

    Generate the web site and verify the results. The title on the home page is now “your title here”, which comes from the “title” variable in the config.toml file.

    Update the Default Single Template to Use the Partials +#

    $ vi themes/zafta/layouts/_default/single.html
    +{{ partial "header.html" . }}
    +
    +  <h1>{{ .Title }}</h1>
    +  {{ .Content }}
    +
    +{{ partial "footer.html" . }}
    +:wq
    +

    Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.

    Add “Date Published” to Posts +#

    It’s common to have posts display the date that they were written or published, so let’s add that. The front matter of our posts has a variable named “date.” It’s usually the date the content was created, but let’s pretend that’s the value we want to display.

    Add “Date Published” to the Template +#

    We’ll start by updating the template used to render the posts. The template code will look like:

    {{ .Date.Format "Mon, Jan 2, 2006" }}
    +

    Posts use the default single template, so we’ll change that file.

    $ vi themes/zafta/layouts/_default/single.html
    +{{ partial "header.html" . }}
    +
    +  <h1>{{ .Title }}</h1>
    +  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
    +  {{ .Content }}
    +
    +{{ partial "footer.html" . }}
    +:wq
    +

    Generate the web site and verify the results. The posts now have the date displayed in them. There’s a problem, though. The “about” page also has the date displayed.

    As usual, there are a couple of ways to make the date display only on posts. We could do an “if” statement like we did on the home page. Another way would be to create a separate template for posts.

    The “if” solution works for sites that have just a couple of content types. It aligns with the principle of “code for today,” too.

    Let’s assume, though, that we’ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we’re going to create a section template.

    Let’s restore the default single template before we forget.

    $ mkdir themes/zafta/layouts/post
    +$ vi themes/zafta/layouts/_default/single.html
    +{{ partial "header.html" . }}
    +
    +  <h1>{{ .Title }}</h1>
    +  {{ .Content }}
    +
    +{{ partial "footer.html" . }}
    +:wq
    +

    Now we’ll update the post’s version of the single template. If you remember Hugo’s rules, the template engine will use this version over the default.

    $ vi themes/zafta/layouts/post/single.html
    +{{ partial "header.html" . }}
    +
    +  <h1>{{ .Title }}</h1>
    +  <h2>{{ .Date.Format "Mon, Jan 2, 2006" }}</h2>
    +  {{ .Content }}
    +
    +{{ partial "footer.html" . }}
    +:wq
    +
    +

    Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn’t.

    Don’t Repeat Yourself +#

    DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you’re figuring that out, accept that you’ll be doing some refactoring. Hugo makes that easy and fast, so it’s okay to delay splitting up a template.

    \ No newline at end of file diff --git a/posts/goisforlovers/index.html b/posts/goisforlovers/index.html new file mode 100644 index 00000000..67199226 --- /dev/null +++ b/posts/goisforlovers/index.html @@ -0,0 +1,162 @@ +(Hu)go Template Primer | Visual Computing +
    +(Hu)go Template Primer +

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for +its template engine. It is an extremely lightweight engine that provides a very +small amount of logic. In our experience that it is just the right amount of +logic to be able to create a good static website. If you have used other +template systems from different languages or frameworks you will find a lot of +similarities in Go templates.

    This document is a brief primer on using Go templates. The Go docs +provide more details.

    Introduction to Go Templates +#

    Go templates provide an extremely simple template language. It adheres to the +belief that only the most basic of logic belongs in the template or view layer. +One consequence of this simplicity is that Go templates parse very quickly.

    A unique characteristic of Go templates is they are content aware. Variables and +content will be sanitized depending on the context of where they are used. More +details can be found in the Go docs.

    Basic Syntax +#

    Golang templates are HTML files with the addition of variables and +functions.

    Go variables and functions are accessible within {{ }}

    Accessing a predefined variable “foo”:

    {{ foo }}
    +

    Parameters are separated using spaces

    Calling the add function with input of 1, 2:

    {{ add 1 2 }}
    +

    Methods and fields are accessed via dot notation

    Accessing the Page Parameter “bar”

    {{ .Params.bar }}
    +

    Parentheses can be used to group items together

    {{ if or (isset .Params "alt") (isset .Params "caption") }} Caption {{ end }}
    +

    Variables +#

    Each Go template has a struct (object) made available to it. In hugo each +template is passed either a page or a node struct depending on which type of +page you are rendering. More details are available on the +variables page.

    A variable is accessed by referencing the variable name.

    <title>{{ .Title }}</title>
    +

    Variables can also be defined and referenced.

    {{ $address := "123 Main St."}}
    +{{ $address }}
    +

    Functions +#

    Go template ship with a few functions which provide basic functionality. The Go +template system also provides a mechanism for applications to extend the +available functions with their own. Hugo template +functions provide some additional functionality we believe +are useful for building websites. Functions are called by using their name +followed by the required parameters separated by spaces. Template +functions cannot be added without recompiling hugo.

    Example:

    {{ add 1 2 }}
    +

    Includes +#

    When including another template you will pass to it the data it will be +able to access. To pass along the current context please remember to +include a trailing dot. The templates location will always be starting at +the /layout/ directory within Hugo.

    Example:

    {{ template "chrome/header.html" . }}
    +

    Logic +#

    Go templates provide the most basic iteration and conditional logic.

    Iteration +#

    Just like in Go, the Go templates make heavy use of range to iterate over +a map, array or slice. The following are different examples of how to use +range.

    Example 1: Using Context

    {{ range array }}
    +    {{ . }}
    +{{ end }}
    +

    Example 2: Declaring value variable name

    {{range $element := array}}
    +    {{ $element }}
    +{{ end }}
    +

    Example 2: Declaring key and value variable name

    {{range $index, $element := array}}
    +    {{ $index }}
    +    {{ $element }}
    +{{ end }}
    +

    Conditionals +#

    If, else, with, or, & and provide the framework for handling conditional +logic in Go Templates. Like range, each statement is closed with end.

    Go Templates treat the following values as false:

    • false
    • 0
    • any array, slice, map, or string of length zero

    Example 1: If

    {{ if isset .Params "title" }}<h4>{{ index .Params "title" }}</h4>{{ end }}
    +

    Example 2: If -> Else

    {{ if isset .Params "alt" }}
    +    {{ index .Params "alt" }}
    +{{else}}
    +    {{ index .Params "caption" }}
    +{{ end }}
    +

    Example 3: And & Or

    {{ if and (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
    +

    Example 4: With

    An alternative way of writing “if” and then referencing the same value +is to use “with” instead. With rebinds the context . within its scope, +and skips the block if the variable is absent.

    The first example above could be simplified as:

    {{ with .Params.title }}<h4>{{ . }}</h4>{{ end }}
    +

    Example 5: If -> Else If

    {{ if isset .Params "alt" }}
    +    {{ index .Params "alt" }}
    +{{ else if isset .Params "caption" }}
    +    {{ index .Params "caption" }}
    +{{ end }}
    +

    Pipes +#

    One of the most powerful components of Go templates is the ability to +stack actions one after another. This is done by using pipes. Borrowed +from unix pipes, the concept is simple, each pipeline’s output becomes the +input of the following pipe.

    Because of the very simple syntax of Go templates, the pipe is essential +to being able to chain together function calls. One limitation of the +pipes is that they only can work with a single value and that value +becomes the last parameter of the next pipeline.

    A few simple examples should help convey how to use the pipe.

    Example 1 :

    {{ if eq 1 1 }} Same {{ end }}
    +

    is the same as

    {{ eq 1 1 | if }} Same {{ end }}
    +

    It does look odd to place the if at the end, but it does provide a good +illustration of how to use the pipes.

    Example 2 :

    {{ index .Params "disqus_url" | html }}
    +

    Access the page parameter called “disqus_url” and escape the HTML.

    Example 3 :

    {{ if or (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
    +Stuff Here
    +{{ end }}
    +

    Could be rewritten as

    {{  isset .Params "caption" | or isset .Params "title" | or isset .Params "attr" | if }}
    +Stuff Here
    +{{ end }}
    +

    Context (aka. the dot) +#

    The most easily overlooked concept to understand about Go templates is that {{ . }} +always refers to the current context. In the top level of your template this +will be the data set made available to it. Inside of a iteration it will have +the value of the current item. When inside of a loop the context has changed. . +will no longer refer to the data available to the entire page. If you need to +access this from within the loop you will likely want to set it to a variable +instead of depending on the context.

    Example:

      {{ $title := .Site.Title }}
    +  {{ range .Params.tags }}
    +    <li> <a href="{{ $baseurl }}/tags/{{ . | urlize }}">{{ . }}</a> - {{ $title }} </li>
    +  {{ end }}
    +

    Notice how once we have entered the loop the value of {{ . }} has changed. We +have defined a variable outside of the loop so we have access to it from within +the loop.

    Hugo Parameters +#

    Hugo provides the option of passing values to the template language +through the site configuration (for sitewide values), or through the meta +data of each specific piece of content. You can define any values of any +type (supported by your front matter/config format) and use them however +you want to inside of your templates.

    Using Content (page) Parameters +#

    In each piece of content you can provide variables to be used by the +templates. This happens in the front matter.

    An example of this is used in this documentation site. Most of the pages +benefit from having the table of contents provided. Sometimes the TOC just +doesn’t make a lot of sense. We’ve defined a variable in our front matter +of some pages to turn off the TOC from being displayed.

    Here is the example front matter:

    ---
    +title: "Permalinks"
    +date: "2013-11-18"
    +aliases:
    +  - "/doc/permalinks/"
    +groups: ["extras"]
    +groups_weight: 30
    +notoc: true
    +---
    +

    Here is the corresponding code inside of the template:

      {{ if not .Params.notoc }}
    +    <div id="toc" class="well col-md-4 col-sm-6">
    +    {{ .TableOfContents }}
    +    </div>
    +  {{ end }}
    +

    Using Site (config) Parameters +#

    In your top-level configuration file (eg, config.yaml) you can define site +parameters, which are values which will be available to you in chrome.

    For instance, you might declare:

    params:
    +  CopyrightHTML: "Copyright &#xA9; 2013 John Doe. All Rights Reserved."
    +  TwitterUser: "spf13"
    +  SidebarRecentLimit: 5
    +

    Within a footer layout, you might then declare a <footer> which is only +provided if the CopyrightHTML parameter is provided, and if it is given, +you would declare it to be HTML-safe, so that the HTML entity is not escaped +again. This would let you easily update just your top-level config file each +January 1st, instead of hunting through your templates.

    {{if .Site.Params.CopyrightHTML}}<footer>
    +<div class="text-center">{{.Site.Params.CopyrightHTML | safeHtml}}</div>
    +</footer>{{end}}
    +

    An alternative way of writing the “if” and then referencing the same value +is to use “with” instead. With rebinds the context . within its scope, +and skips the block if the variable is absent:

    {{with .Site.Params.TwitterUser}}<span class="twitter">
    +<a href="https://twitter.com/{{.}}" rel="author">
    +<img src="/images/twitter.png" width="48" height="48" title="Twitter: {{.}}"
    + alt="Twitter"></a>
    +</span>{{end}}
    +

    Finally, if you want to pull “magic constants” out of your layouts, you can do +so, such as in this example:

    <nav class="recent">
    +  <h1>Recent Posts</h1>
    +  <ul>{{range first .Site.Params.SidebarRecentLimit .Site.Recent}}
    +    <li><a href="{{.RelPermalink}}">{{.Title}}</a></li>
    +  {{end}}</ul>
    +</nav>
    +
    \ No newline at end of file diff --git a/posts/hugoisforlovers/index.html b/posts/hugoisforlovers/index.html new file mode 100644 index 00000000..d2d18c06 --- /dev/null +++ b/posts/hugoisforlovers/index.html @@ -0,0 +1,48 @@ +Getting Started with Hugo | Visual Computing +
    +Getting Started with Hugo +

    Getting Started with Hugo

    April 2, 2014

    Step 1. Install Hugo +#

    Go to Hugo releases and download the +appropriate version for your OS and architecture.

    Save it somewhere specific as we will be using it in the next step.

    More complete instructions are available at Install Hugo

    Step 2. Build the Docs +#

    Hugo has its own example site which happens to also be the documentation site +you are reading right now.

    Follow the following steps:

    1. Clone the Hugo repository
    2. Go into the repo
    3. Run hugo in server mode and build the docs
    4. Open your browser to http://localhost:1313

    Corresponding pseudo commands:

    git clone https://github.com/spf13/hugo
    +cd hugo
    +/path/to/where/you/installed/hugo server --source=./docs
    +> 29 pages created
    +> 0 tags index created
    +> in 27 ms
    +> Web Server is available at http://localhost:1313
    +> Press ctrl+c to stop
    +

    Once you’ve gotten here, follow along the rest of this page on your local build.

    Step 3. Change the docs site +#

    Stop the Hugo process by hitting Ctrl+C.

    Now we are going to run hugo again, but this time with hugo in watch mode.

    /path/to/hugo/from/step/1/hugo server --source=./docs --watch
    +> 29 pages created
    +> 0 tags index created
    +> in 27 ms
    +> Web Server is available at http://localhost:1313
    +> Watching for changes in /Users/spf13/Code/hugo/docs/content
    +> Press ctrl+c to stop
    +

    Open your favorite editor and change one of the source +content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.

    Content files are found in docs/content/. Unless otherwise specified, files +are located at the same relative location as the url, in our case +docs/content/overview/quickstart.md.

    Change and save this file.. Notice what happened in your terminal.

    > Change detected, rebuilding site
    +
    +> 29 pages created
    +> 0 tags index created
    +> in 26 ms
    +

    Refresh the browser and observe that the typo is now fixed.

    Notice how quick that was. Try to refresh the site before it’s finished building. I double dare you. +Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.

    Step 4. Have fun +#

    The best way to learn something is to play with it.

    \ No newline at end of file diff --git a/posts/index.html b/posts/index.html new file mode 100644 index 00000000..bdaa07d3 --- /dev/null +++ b/posts/index.html @@ -0,0 +1,43 @@ +Blog | Visual Computing +
    +Blog +

    Creating a New Theme

    September 28, 2014

    Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. +We’ll start with creating a new site with a very basic template. +...

    Migrate to Hugo from Jekyll

    March 10, 2014

    Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like +▾ <root>/ ▾ images/ logo.png should become +▾ <root>/ ▾ static/ ▾ images/ logo.png Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static. +...

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates. +...

    Getting Started with Hugo

    April 2, 2014

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +Save it somewhere specific as we will be using it in the next step. +More complete instructions are available at Install Hugo +Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. +Follow the following steps: +...

    \ No newline at end of file diff --git a/posts/index.xml b/posts/index.xml new file mode 100644 index 00000000..b41d84e2 --- /dev/null +++ b/posts/index.xml @@ -0,0 +1,9 @@ +Blog on Visual Computinghttps://visualcomputing.github.io/hugo-vc/posts/Recent content in Blog on Visual ComputingHugo -- gohugo.ioen-usCreating a New Themehttps://visualcomputing.github.io/hugo-vc/posts/creating-a-new-theme/Sun, 28 Sep 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/creating-a-new-theme/Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme. +We&rsquo;ll start with creating a new site with a very basic template.Migrate to Hugo from Jekyllhttps://visualcomputing.github.io/hugo-vc/posts/migrate-from-jekyll/Mon, 10 Mar 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/migrate-from-jekyll/Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like +▾ &lt;root&gt;/ ▾ images/ logo.png should become +▾ &lt;root&gt;/ ▾ static/ ▾ images/ logo.png Additionally, you&rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.(Hu)go Template Primerhttps://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +Save it somewhere specific as we will be using it in the next step. +More complete instructions are available at Install Hugo +Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. +Follow the following steps: \ No newline at end of file diff --git a/posts/migrate-from-jekyll/index.html b/posts/migrate-from-jekyll/index.html new file mode 100644 index 00000000..115f35e6 --- /dev/null +++ b/posts/migrate-from-jekyll/index.html @@ -0,0 +1,110 @@ +Migrate to Hugo from Jekyll | Visual Computing +
    +Migrate to Hugo from Jekyll +

    Migrate to Hugo from Jekyll

    March 10, 2014

    Move static content to static +#

    Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. +With Jekyll, something that looked like

    ▾ <root>/
    +    ▾ images/
    +        logo.png
    +

    should become

    ▾ <root>/
    +    ▾ static/
    +        ▾ images/
    +            logo.png
    +

    Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static.

    Create your Hugo configuration file +#

    Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.

    Set your configuration publish folder to _site +#

    The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you’ll want to do one of two alternatives:

    1. Change your submodule to point to map gh-pages to public instead of _site (recommended).

       git submodule deinit _site
      + git rm _site
      + git submodule add -b gh-pages git@github.com:your-username/your-repo.git public
      +
    2. Or, change the Hugo configuration to use _site instead of public.

       {
      +     ..
      +     "publishdir": "_site",
      +     ..
      + }
      +

    Convert Jekyll templates to Hugo templates +#

    That’s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll’s template documentation if you need to refresh your memory on how you built your blog and Hugo’s template to learn Hugo’s way.

    As a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.

    Convert Jekyll plugins to Hugo shortcodes +#

    Jekyll has plugins; Hugo has shortcodes. It’s fairly trivial to do a port.

    Implementation +#

    As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.

    Jekyll’s plugin:

    module Jekyll
    +  class ImageTag < Liquid::Tag
    +    @url = nil
    +    @caption = nil
    +    @class = nil
    +    @link = nil
    +    // Patterns
    +    IMAGE_URL_WITH_CLASS_AND_CAPTION =
    +    IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\w+)(\s+)((https?:\/\/|\/)(\S+))(\s+)"(.*?)"(\s+)->((https?:\/\/|\/)(\S+))(\s*)/i
    +    IMAGE_URL_WITH_CAPTION = /((https?:\/\/|\/)(\S+))(\s+)"(.*?)"/i
    +    IMAGE_URL_WITH_CLASS = /(\w+)(\s+)((https?:\/\/|\/)(\S+))/i
    +    IMAGE_URL = /((https?:\/\/|\/)(\S+))/i
    +    def initialize(tag_name, markup, tokens)
    +      super
    +      if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK
    +        @class   = $1
    +        @url     = $3
    +        @caption = $7
    +        @link = $9
    +      elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION
    +        @class   = $1
    +        @url     = $3
    +        @caption = $7
    +      elsif markup =~ IMAGE_URL_WITH_CAPTION
    +        @url     = $1
    +        @caption = $5
    +      elsif markup =~ IMAGE_URL_WITH_CLASS
    +        @class = $1
    +        @url   = $3
    +      elsif markup =~ IMAGE_URL
    +        @url = $1
    +      end
    +    end
    +    def render(context)
    +      if @class
    +        source = "<figure class='#{@class}'>"
    +      else
    +        source = "<figure>"
    +      end
    +      if @link
    +        source += "<a href=\"#{@link}\">"
    +      end
    +      source += "<img src=\"#{@url}\">"
    +      if @link
    +        source += "</a>"
    +      end
    +      source += "<figcaption>#{@caption}</figcaption>" if @caption
    +      source += "</figure>"
    +      source
    +    end
    +  end
    +end
    +Liquid::Template.register_tag('image', Jekyll::ImageTag)
    +

    is written as this Hugo shortcode:

    <!-- image -->
    +<figure {{ with .Get "class" }}class="{{.}}"{{ end }}>
    +    {{ with .Get "link"}}<a href="{{.}}">{{ end }}
    +        <img src="{{ .Get "src" }}" {{ if or (.Get "alt") (.Get "caption") }}alt="{{ with .Get "alt"}}{{.}}{{else}}{{ .Get "caption" }}{{ end }}"{{ end }} />
    +    {{ if .Get "link"}}</a>{{ end }}
    +    {{ if or (or (.Get "title") (.Get "caption")) (.Get "attr")}}
    +    <figcaption>{{ if isset .Params "title" }}
    +        {{ .Get "title" }}{{ end }}
    +        {{ if or (.Get "caption") (.Get "attr")}}<p>
    +        {{ .Get "caption" }}
    +        {{ with .Get "attrlink"}}<a href="{{.}}"> {{ end }}
    +            {{ .Get "attr" }}
    +        {{ if .Get "attrlink"}}</a> {{ end }}
    +        </p> {{ end }}
    +    </figcaption>
    +    {{ end }}
    +</figure>
    +<!-- image -->
    +

    Usage +#

    I simply changed:

    {% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg "One of my favorite touristy-type photos. I secretly waited for the good light while we were "having fun" and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing." ->http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %}
    +

    to this (this example uses a slightly extended version named fig, different than the built-in figure):

    {{% fig class="full" src="http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg" title="One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing." link="http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/" %}}
    +

    As a bonus, the shortcode named parameters are, arguably, more readable.

    Finishing touches +#

    Fix content +#

    Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.

    Clean up +#

    You’ll want to remove the Jekyll configuration at this point. If you have anything else that isn’t used, delete it.

    A practical example in a diff +#

    Hey, it’s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.

    \ No newline at end of file diff --git a/posts/page/1/index.html b/posts/page/1/index.html new file mode 100644 index 00000000..93cd7840 --- /dev/null +++ b/posts/page/1/index.html @@ -0,0 +1 @@ +https://visualcomputing.github.io/hugo-vc/posts/ \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..ebf5d355 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://visualcomputing.github.io/hugo-vc/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/details/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/expand/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/katex/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/mermaid/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/div/2021-07-18T12:21:09-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/iframe/2021-07-18T12:21:09-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/2021-07-18T12:21:09-05:00https://visualcomputing.github.io/hugo-vc/2021-07-12T07:11:39-05:00 \ No newline at end of file diff --git a/sketches/3d.js b/sketches/3d.js new file mode 100644 index 00000000..c2b1fbfb --- /dev/null +++ b/sketches/3d.js @@ -0,0 +1,56 @@ +function setup() { + createCanvas(710, 400, WEBGL); +} + +function draw() { + background(250); + + translate(-240, -100, 0); + normalMaterial(); + push(); + rotateZ(frameCount * 0.01); + rotateX(frameCount * 0.01); + rotateY(frameCount * 0.01); + plane(70); + pop(); + + translate(240, 0, 0); + push(); + rotateZ(frameCount * 0.01); + rotateX(frameCount * 0.01); + rotateY(frameCount * 0.01); + box(70, 70, 70); + pop(); + + translate(240, 0, 0); + push(); + rotateZ(frameCount * 0.01); + rotateX(frameCount * 0.01); + rotateY(frameCount * 0.01); + cylinder(70, 70); + pop(); + + translate(-240 * 2, 200, 0); + push(); + rotateZ(frameCount * 0.01); + rotateX(frameCount * 0.01); + rotateY(frameCount * 0.01); + cone(70, 70); + pop(); + + translate(240, 0, 0); + push(); + rotateZ(frameCount * 0.01); + rotateX(frameCount * 0.01); + rotateY(frameCount * 0.01); + torus(70, 20); + pop(); + + translate(240, 0, 0); + push(); + rotateZ(frameCount * 0.01); + rotateX(frameCount * 0.01); + rotateY(frameCount * 0.01); + sphere(70); + pop(); +} diff --git a/sketches/colors.js b/sketches/colors.js new file mode 100644 index 00000000..cd53d52b --- /dev/null +++ b/sketches/colors.js @@ -0,0 +1,33 @@ +// instance mode of: +// https://p5js.org/examples/color-relativity.html + +new p5((p) => { + let a, b, c, d, e; + + p.setup = function () { + p.createCanvas(700, 400); + p.noStroke(); + a = p.color(165, 167, 20); + b = p.color(77, 86, 59); + c = p.color(42, 106, 105); + d = p.color(165, 89, 20); + e = p.color(146, 150, 127); + p.noLoop(); + } + + p.draw = function () { + drawBand(a, b, c, d, e, 0, p.width / 128); + drawBand(c, a, d, b, e, p.height / 2, p.width / 128); + } + + function drawBand(v, w, x, y, z, ypos, barWidth) { + let num = 5; + let colorOrder = [v, w, x, y, z]; + for (let i = 0; i < p.width; i += barWidth * num) { + for (let j = 0; j < num; j++) { + p.fill(colorOrder[j]); + p.rect(i + j * barWidth, ypos, barWidth, p.height / 2); + } + } + } +}, "colors"); \ No newline at end of file diff --git a/sketches/depthmap.frag b/sketches/depthmap.frag new file mode 100644 index 00000000..172a929b --- /dev/null +++ b/sketches/depthmap.frag @@ -0,0 +1,26 @@ +precision mediump float; + +// The fragment eye depth is obtained by solving z_e in terms z_n from here: +// http://visualcomputing.github.io/Transformations/#/6/14 and: +// http://visualcomputing.github.io/Transformations/#/6/15 +// yielding to: z_e = (2 * near * far) / (z_n * (far - near) - far - near) (eq1) + +uniform float near; +uniform float far; + +// remapping of a value among 2 ranges: http://visualcomputing.github.io/Transformations/#/7/1 +// same as: https://processing.org/reference/map_.html +float map(float value, float start1, float stop1, float start2, float stop2) { + return start2 + (value - start1) * (stop2 - start2) / (stop1 - start1); +} + +void main() { + // z_n is obtained by remapping gl_FragCoord.z from [0..1] to [-1..1] + float z_n = map(gl_FragCoord.z, 0.0, 1.0, -1.0, 1.0); + // eq 1 + float z_e = (2.0 * near * far) / (z_n * (far - near) - far - near); + // the normalized eye depth is obtained by remapping z_e from [-near..-far] to [0..1] + float depth = map(z_e, -near, -far, 0.0, 1.0); + // render the depth as a grey scale color + gl_FragColor = vec4(vec3(depth), 1.0); +} \ No newline at end of file diff --git a/sketches/depthmap.js b/sketches/depthmap.js new file mode 100644 index 00000000..0e9e6823 --- /dev/null +++ b/sketches/depthmap.js @@ -0,0 +1,72 @@ +// scene adapted from here: https://github.com/freshfork/p5.EasyCam/blob/master/examples/RandomBoxes/RandomBoxes.js + +var depthShader; +var near, far; +var easycam; + +function preload() { + depthShader = loadShader('/hugo-vc/sketches/shader.vert', '/hugo-vc/sketches/depthmap.frag'); +} + +function setup () { + pixelDensity(1); + createCanvas(700, 600, WEBGL); + setAttributes('antialias', true); + + // define initial state + var state = { + distance : 164.411, + center : [0, 0, 0], + rotation : [-0.285, -0.257, -0.619, 0.685], + }; + + console.log(Dw.EasyCam.INFO); + + easycam = new Dw.EasyCam(this._renderer); + easycam.state_reset = state; // state to use on reset (double-click/tap) + easycam.setState(state, 2000); // now animate to that state + + shader(depthShader); + near = 1; + far = 500; + depthShader.setUniform('near', near); + depthShader.setUniform('far', far); +} + +function windowResized() { + resizeCanvas(windowWidth, windowHeight); + easycam.setViewport([0,0,windowWidth, windowHeight]); +} + +function draw () { + // projection + perspective(60 * PI/180, width/height, near, far); + + // clear BG + background(0); + noStroke(); + + rand.seed = 0; + var count = 100; + var trange = 100; + for(var i = 0; i < count; i++){ + var dx = rand() * 25 + 8; + var tx = (rand() * 2 - 1) * trange; + var ty = (rand() * 2 - 1) * trange; + var tz = (rand() * 2 - 1) * trange; + + push(); + translate(tx, ty, tz); + box(dx); + pop(); + } +} + +var rand = function(){ + this.x = ++rand.seed; + this.y = ++rand.seed; + var val = Math.sin(this.x * 12.9898 + this.y * 78.233) * 43758.545; + return (val - Math.floor(val)); +} + +rand.seed = 0; diff --git a/sketches/doorbell.mp3 b/sketches/doorbell.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..44b6367916ad15e44fd5d3795f045276d6702e81 GIT binary patch literal 93408 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 B;4%OJ literal 0 HcmV?d00001 diff --git a/sketches/doorbell.ogg b/sketches/doorbell.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e816288c97726f0f5ade134c9341716f0870a406 GIT binary patch literal 75385 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

    )c-bH;KmXYHJf2pF2f6mfj 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 QO<(%CsHSPfYQH#C6Q|h*ga7~l literal 0 HcmV?d00001 diff --git a/sketches/fingers.mov b/sketches/fingers.mov new file mode 100644 index 0000000000000000000000000000000000000000..a9cbbbe3eab7301d02256e68749cbdfa551aed62 GIT binary patch literal 238059 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�LNiZLKtJe;{E?l?e8%n39w!ugf~!&z z2$&EGL&v$%Wq8ir@%yMqU9^=<II39N+%ZRbw9}qTkQ!)b?(=5osoYFm`=E|>4weTQe)1}3#EXttx zu4nU@vP^=J@>{Q9^?13-oe7WRO5!cZuy{>O=m#=&P%55L!mZ_C@xw*2CL+{d@&!|S zsqO#`zo3F5`5aB_`WW78hkZm;JA+GhiW$#pONMU`q~`xp07wVXuI`!rD2or5OyryC z+(L^Mv`E@H|AiKj06+-9f#M%UKmnKl{55*Jvl9>^TXl>IU4(pxf8%s+Wa#0-fG&or zKK~@mGnK{VMjDx^A9F!b-ZV;9tw4{Rk@Q9pj{K#A(}VwOb)S z&4q=}moW>h!I^Tbal&LBQPbJhiJ>uEu!mFR#J;P|u%*{24U1$=eqUXh|AyS9O8%)Y<#paqpGzFICFDdHck~HUu#KvgXaN%{ zl?6t5vw-au^DM4j#N_xhEwtHQowCk+vE~y zw=^*TB^u2s#zY=Et&UERd@`lakVxkRFA1EuTct^pg;b!;NWd6M5s>D`QkJZGO>t`M{UIYh(HyC;HJ#LxNKEfq~N~1e@{gq zk;XkH;_wv!Cn2G*_asS zW>fjyULRC*{je}4wYZI5=QD+7b1=ZAml>n=1p{iV#@J!$trWWpYT>HYar)95nYd_t zW<9P{*6$IMYla9_EI1Tt;J=K*K<&%9EIdVG_R+IrQA1p!1@()p2ZsP@=Q0*lkhKMY z{H&w?_xiZ)>Qupk4tP{vJ$Ohh2wqfO>H zO;aLKZdPSzWAHX-h-Nr21}1F5)JglaXf|o{o2kufUNiQvs-T(;sFg6Abr<}b*1E}z z6Y#JCGbUh_YX_m>#3KDOaPx7mo(m8c@7+0NRl=}lF@rbR(U>`_sL8$PLW+%TgmFW4qk4S`(Q@wem{Pxi+yA>*C7zC|=Y>EF4?4vs$6@Z5_NpFPqUP&I&~x$z z`9Xm|H1a^cFtD{3c%ELMR}5a|x2SMpkJ;szQZ~h}uT{$@=OtV8485#^T53P%-A6ll z&8khxKv`_D@V5HRPMqpQJC|C}u=mi6=1xKLuEPGM6na+LZ2&h6=@@<-)UV0ZB11U2 zOiF)cd}nN~&dN^Da(f}}X2bs4O94>ZSDLP`BLE;`?j(jiR<;?fXr~THJRMIJ65H}z z&S}J>6Gh-OOMYh-Kv1&Ugy~5+@tM-6vif}?t=23&9*5SPUBQc(WHEz<&I&^Y#XR^{ z?i)yzsLl1Cv&-F}Gm zMgJBKm;SSjWOa3RtgYa%=^7Kgsw_@+BT3!hhoH_9m;;>5u98Rd(+3kiC9S;@?*{k= zIK_2V0>_iIOod>Jl}Rjnio?tRljH)5ME`mD4A8&?fJSsi^~xz!w2b=ch6nk9kNTXt znz-3u_Z*rWSbqTup*RCL#KJ+tR7oYIa9-+?Fe;M==yM(2R))7eV15^;FjdX(mmzL* zieZ{iAAp82TI1u|G$L>6`C;$Ct2G`6ZBtuMMBjR|Xe*ImEk@J6S1wEUZ>q}B z?TVE}HlxA>W!s$tVoPk_m_nlZlkq?v&Us?0kRI>ReyXSp;|!iK1qr1Eq!Zs=kZNM5 zb<4+vx6M5u?4rlMY|3qF!elMgA|jymSt!HW54Q!M_sUVJ+%inG=4%$3cDfa!fXy3Z z|2xUl!>ek8v_~$2Oj!mjkx@+@v6_ex*dSWq?^*1^ndh}XGmhaa=3<(+OR06j$LCfb zp^;iw&fZmt0;m_;`-TRhcw>yt-57QUZCgVRU*NTARGnTWdnY%Y3xPIqsLQ9Z+s$hK zVOnb$lmJQePSX1x-V)*_n*WZx9pH-xJS9igGpFv+MU|_7jPhBUVziEFAfQRg2$_ES zLg|dGhjR8}DAtzoJQkcYM~V0xIW$CF&=&xkP^koGP*hIlEmZdeias)5=u>0K(~4*) zx2;>$c|D+agGfNO z3heTtr9@fE@}z(;6sSrCr{)_msD`{{$P8#~CX3?rrz8-YwkZd=Vca_SiLmq_-1{Me zqirO;n*T);xpc*AfdJZ0phq3HviPp&!jc$5bA38xIgS79s)3$W?MleBLK5<@$s2@? zOdA~mI&s9=$Wf(OFY3!%@A*gB1;>68wied&Pio+>p{dA#P1W}>^>BLDJJnEohFI4q z1Qx#Pr8q_oPsxo!J8KOClg+gyMyqt*Pd2ca&}?qJ5&k{jKO;7l ztDVUwk$Y+`f7gLpE{tKN$4Beln$1%)i;4_VhhnLhClI54yYhFQQJ~{WaqFje?Dubl z--SG4_x3;l2czJVPZRcF@!D9*#lvr#T0pLd6W8|?(;+guv`@3boWqpdN_GW8M}ox) zg_tWrj%t(1PN;b1QW@Isc$H*bwUWr_oJ52TG_7@wmG6SyV#7lo#Ru1ENnj}7x+MGMXF5+FMenHK z+Y{pV$)B4O{N$cqsGxfwG;=@K&WkUQeCliNbxOY#1zGK!nn#3i|69NA89{v&Y&XrP zhwI%NgsHYuJ$<6*ZjNZ{^!Y%48mE?M#pEY7i=B4JD4=DadBj-3b{W_(}>B0T4Gy?m-lNDvx9irEk5xyS_c*RWhqrvqg^s7fYAX% ze@C-$^f>w$dgXRN^9mD|Cd>`Jy4st@y%-(`&f;_O8xq7ZlrzOaC5|F1>^d1dQ@uuf zc5PkwTt`_|6hS|{F?ViX=7cSZMQjik_20XEJpc$Aa7O|_KzsyX3PIi8b^5<(V~zBz z2eYgIse#zviRWN9PK^1knh#5VHS}P*@csee10RY%jGRn`DDRu)Eh zkc~vefXyM_}PJZ{;BP{8h!w?Yxv&MnAusjL^me#=xueq_`S@4aB&=9&LV07L>%zie*!Z7jq2 zqxxkcS2($Go2AH57{rFT|IJL*sZf|_57=a{vDfnOR2az>jpYF2pZ#M^02ALGK~urc zhtxLIQqY~CW6$WE7oCkO0|oNHfZN4yGVzfL$-${Y{1eq4lxcp@-;988=X5Yy#Lv233rZGwy(Eu694`q8*miqqBvK$+Zku8YY-H@ zC0B&qaWrQpKwZv?vq|Y+(12JQj2>0YxX%zR{NYD?eZpOCHzM?H!1h@Awo*11bCQ*y zv{eB@uk#SLQbc1J=N3V?Z7VRgjw>V^iN2L16!w5LDF?VZ=`(HGqjnRG;VR&gP*_;6 z_JXZ}tr=VHRb6-8Z$r~M&vPVT)C+0=-4eOzqG?7 zQgozCfRJNEQeAQ6?@v{^(BT$RczsCw2BXF1QY8It!( z`n?4OowpGu&B;bCZxA~hZ7!MPaAx|U#x<%@b-Yw7v%kn5sUh@*IU{AYO;P|X?w{Ce zpOqspPDhRS7|d3V$n&NE?p4U1nC5 z0dLLmk5btIKr#R%TmTGWF#w19+>kL(+1V;-)h$XOe-st+^(TsgO)3Gv?XDpr zrOa*C#&e@8ecw5hv=_H}y~J%Hk1L#%0KnQBIW#3gJvg=;b+i;r3N-t)dbGhe*F%`!#A*blp@e*C^WU2u_asoRQNsb!A?qY@jyljy`GMtGDVw?p$ zm4q|@S==AVE6|{G*NMF|?KRmN{9bAq;#5eVFy5b;)L?ePYg6~xdX0Ufy6`$Oyr3dH zJ8EC56ygbWb%P6Cd#6>Gnoqn}Aa;B^Kh+7&4Z)eQHkM%?baxA6eUvs3Pr-}`*Z^5s zdAZ*w*^l?+PNF5+yd}pL5ZFq*j?bu(Z&WehBos%Qwhm-q0eShWC&XOTk|XyE4All@Z&L~lw7lbwG(qzAw95(OiDG@CmPaydU zrL8qI{3&L*JL2nUOM$!TB=gjhZ>tz=5v1@bM`KS5b;qc$1Mou;#0jEF$L{NOJ9Z_B zze^*=KNNQ)_N(d}EJ;_WN?uO4u`zc8FUd*ZGp;L6Wz3dZ!g>X!fxbG?x?7B_gD@t{ zpdrO*p0h@lb#WIZH9#Fm{VkjBY^^d!CsO&KuFTJ7NMQF!367;=Jr{uxJ|?4Bk8T)o z1|J>TG83EsZ>N)lK%HVmdhMn#PytJK!o$9e{-A{ACAConOr!CRg_#!2dTUNGYQdOm zbga8pV>}{tX?O6cTow5wl10YgNkwe<~E7YcqmzUW%Fbj?C)Sh=~=q*k2p+N-^!d(qnbH5Tg6*|}4^!$jewW`{6Ob#vFClD5kkVY5n#8Y>=W? z`3rs8;bmwmnp~rQ?UzNg0wfufk3qqAs2MkoJ)gRppkc{tJ330YGtpJM#Z!mCy`m*CWHUi%~dm?eJ3L zVRGR)=*^5`J0y9mj(`zPVa{Z1`BvKZ`<%%(DuoS4DN9*f-R*|k6#0S=qY??&8v1m%EWbkn zb)(Ra@W?*P#VMQ~QvZRn>6|F0_gHkUez_xZbO9KzC7<-vSz1BO?8b88GuAngFkw1I z7YMDR$|a2bFyvL3icXqgy{e2#@S#OsB{2hJSt-$sV7}&SA4s($7#SWgfdNRWB+HY{ za|$G;2EvUH21a40n4P_3>@%MwQ!0$Ay~J)lS1ame(fmOq0vq6#9mXXz@CW&p`{%08 zFW@A&B78m!r`g26ZL6l%5aJ6>IP+@V$y#1>Z~`b#CDXb+UQZ2nL@>|$f>2aa%_3^% zWS^^U7u^_DJT}Erx<<$y;jlD)NzqlA+M(Z;Q|Z#O>Vzv*)yI?C-&b@GNlUTE{eU!p zd2t5h=E|%qrn6A+DR$tpnhb=iY}@QxP2=vKpnX6z(h;ID5Q;z_+ZVf7Y?N#~72VI- zfiw={80RgaC`Qi3QTa+z21Je-+=3&#CL>G4F)n@Y;Daex2< zQF{dY3_awQr=rUb(R_%p0TOtg-FO>K;EWAn)XzF%aM!qBSZn)%*%|X{y9@Co97bMN zq^^Ej=yqNJ9U^z8VG6TfoRRVKm^A!5LQR`TOy!%zeO;2U`DB*4n0Mpx!)k~le)=2; zSl!AfdW_2K*Zh#dE$a}1vfZF9LLicd^OhNNsqnv)0g3Z)fLx`*77oYbCFmtc6s?dwLnBphomPeE#b!kd%KlDklaYdxO@3E+uKr8N#hy}UkevxEc4mZ4{ze``U-E72qs+S*%0Xc8y8*Hs@VFa5Mp z`!@-e$ARVTShBbn33?1^U-saEXA@F{YF#v>ia{=41WS?wid!U)f~ej6MezA%Wc+v$ z$&PflJ#V2}dmmcIbPnS$)C;#U{BvmiP)Ks7Xw$d3=PjPz{5kwsMp_8c(2$u@>AyhX zKMQyP`|bTMJAS*cb0|nR88P#1RQ184Ndo+0eZS8{>CPu<%ZZp&EN+qnej88ro==hE z99w$*-P4=v5~iz&?TPPmjyWN;0w7*r^swg|$Cirk-2vCC7er`sHJZ{BPD zj_AT!89HrljMZ}Un{F@wqeG^F0nq@FFaQb=oD^UHl7Zg8*HYX47*D|n9sE_n!8WRVGEd_AsG$Mn+~1iWWc4(L3+WSBwEB_@*0gh3 zkaKt!r!to3$NO~1iLxvHi0g9*lSNiyxA7`O-cTUQ?ceN~R^=Ps)3jx8PiW8y6(<{V z5kYc~Se}`6Cx<`2nTMUGt)}Dj6Eavh)yQ^ulfTYSjJwZFm2f^`vnkh$Jyg)k92;R0 z*{D&$346D}ZGJj)K2qr@QP0frhbWF#@kbQIHdwu^7gA0SY<9Sn8`{ zz)>_h$ca}IQK>3bukFY0R}}0kvUT_=;8Gv=up9{P{Fx6J=k_ss^#kO0x6 z$6cDZLj#4(iS7y>93P#baZb=uxo?t|n5_mx4j@x|oikFM+Flp_CUG6%#5nlI?;wnK zc^G6Po`p&`Wk95QIj`zB2*aIl8us_TrV7f`#Z&@UkiV^;j%v7%zE(nkBHxp7trAsT zUs>~RtVi2L0mf_DL0ww6hZdLoM?VLFl&ZL^=&~$(j&*?{6GXz;uDbqpgBM=%uu_j_gB?LuO z!7t$@bpIL>r@WYY@3xA%K> znbbP(w&Rb7d)s&64@18^dee%SKTm(dgIpNLB2x5O@G0$MzE6wO$ z#g5|~0+*uT|678kpbAt__;2E2P54l1RaOSmyxhUDY6li^Y4s}s=!m$z>8qbdmYYw< zGN#ugk>#st?ue1Fnxr@I4Uo?duy9ea_ZP-zdCL0HZ^=fdTRW(JufB5TF1U03*oP^aPB_R@X>hQlSo;?IU;e z*EnU^OuJS1P6j!+A6n;$s!OTP&r z*`=K6H1V%a2LsELaMGlTdJ-l?>Sao-%@d=3^KP6&$E>nA`TCzL%T*he8j+lv?yX$yj@D`dXnoJ z0{z^hi&@x4_hg8FcI+^Pe%le#Xu=0y{9?tlmxGDf<@2FG60qQB?V^_H-9fvfcK7no zK*Bf*|GLY)p$@vRqiiz~Eh^UBSSj~Tcne-w`CIG`2MG1TSQ4Fscrdr6tT51{00MEz&Sl)U@JPmDd$vM206w$1zN@86 zr*(CJQ+#wrCd}j$nou`-yZ=x%;=dKs7=OA8r7GRF%E{M}UZBbbNC>e-q#4GVSSJ#SYMv-?l-_h)B;9eIh3pa=H=lRgax{Z%k@ zRUuDsgekQU&v=u8~UWIs9*TfEv_HKdf$M88xa~A zv^Y!z09rYfRMK%D*kp)Oj&Zf}18h<%@;wb7*vfV@2_i#Jpi~fqA`1x;7pX(r4AEP( zSSD23deXB!kin(esp@qpqBx{bQo##{z?J#@r&=|D|E1T*Ze9|Qn}_4sd}%-kIen=b zg+Nqj<X5Oez6$U^#;g)Zt_X6 zfg6o*^D|S4W2-Iv4l7MT9sPqws1Zurh5v-+uN=@8g>uANChQJj=6Z7jb$${tI%iYj z8P3bHJe~wzpfx|9K5Uh^7J@TuaC&YMl)4lCkbRgW-(G?diOZKWhH~uuCIEtEu)p^^ z!V!^%gh;&_>&TJ0vfbC11Dsi3516j*-pu6iq1m}+-FH*~qeFm!0u%tTF#rt^v;Y_Y zBbcV%3KKV2!}Q>G@+;~u06ez?sQXuN5Sx%Tn>13nS?Mz8U4DBUzJg$X98zQA`dHA0Wb5?gH(98iUu{vJCk9}bN_t#O)CAuOqPhSlb^RW!Y2o1y%SQr z3yIj?=(GI7(b`atU#IW?{CcNg{?W2*%P5=4=nFeDM=)BjWcFYg3mAIfUZ?MCPS`tg zNy&Y5BPg!Uz?1jVr$(PVxc1-Iz7mU9)F2m1*yBE*?b=j}c85Y{1b0r9M6X$V0AFRE z{elAC`~^d}`S?|{E-96q7?p}*yMs0J){-fPM-QGNp8ZUor_E+*hfSyovps-M7e6*m zx|y_|zq;Cy?HW1BSi0LX!Uo7A75^3~hI_!VhG_OuvnT?qpKk1P6E9t6`F zzoOw_E09j}nGz^PszgDw#eH(Q(gnP%X8%Bc0Gg|g-%!xpE-|Y}M^+L*>4?Q=Ud7#h zO4E(_-aX`b0|tN3?P_s^Ioj474wvGXvBbjk4!_K-a{;w8&NnlNVYa{eh*<{>G9HmR zNUnyb){FCr8&P+0#dia8cnr1bMeel`0~g>=>Ez1SZd28b%DUkZV*}e}`2oC6s)L@b zwq)Zpwuv=OFf>K>Zl0`jg}m$%`PPBusJCQpZyAb;4Qc3YZ7SPqBYU1d6Ku@Q(ww7I z{@JK~rEE5&#czqrdNKQGYf5-CIKf^MT9kWT$G-%UGkB-5-CBx}dj>lv5_641anJyx zLcDr77jF@GI_DQKEkj^IDw4Wfv_T5V$s`Qg-?Rzq_ z9TCtqOE)`47d82ZKP1*yx&(=J)ot@LYWsl9EwuYlWQ);yiFHKI0+f(yf9g$F3`~0z3YkGR@ER2&6kD^?Gxj|i(|*WA%NF1bsam5(zj;p}elHPDYXEn8$i2d? zh*`c?uqf$ya$9K9bi6-*Y*zz69&-*YG~mY>CSDi zgmmqGkM3?P?L+iN?K=+B1-uL@yD8J>#OE3KSGz`t@Y-TdbXC=w!@vc2v)&1=8RKv$ zW{-bm*XZ<>@b%+zJJZNL{c)sG^}{;o1EJO)W(y+uqS$+Uai^U%`YhCwwOsBe%Z4wU z@HKd@>GC*+F35THR_jvn@2Pvm=uKLD#`h%Su^ramJ(w}B#Ha$(kx3YN{!uK)=@UEz zG7mV-^ASy=z2uH7yHhUm!ZAQTBsEK@Rw)C3ijl0&bv|itrX8^H##zXAv^{9BZ^in? zoiN5_m5)$%dDRz7+q$09QAkF2#uYAKIeVG8Iawu;f-NaJ{9bv4I-eq z{1kKM8VpCvd$qwq1_CSv)bhi9SNqd>%Oy-NN`!$K1Bc1J3vW2gECQ=Ax+pBeqvYT< z@B?Acg_F4f*-LCaf!uU|vy6w-!(Td&Q~;www1EOv0Ff#H5fH=x7yu*@2lN5ckmZcI zS^q_}8595fnDO-&^b0y7A;`T+G)g9)SY12Z)}frEQn1G>t?1LopM z@#@}b@$rapKAnp7k)=WPkY!#XsK@`8u2Y^tB+Ijfs-0XWs4Ga{p+fL-thHVDeVhT# zgNmji466dD*9HCwdm; zUEefZRzC_xm*+k&Sr1wv)a_D|aTF}Zkw=iLO?r*fti%beo}1KBZ}M(kqFee;Kw$ec z!o))Rh+Z@-uo(-4{=IbxW12n;9eL)#MP~!a925EvqX)j@Y%@i<#7V27N4N zTo}a>OE6v^ysP?d=**EMQ;36!`uY+4#!r#FmuoHa8FektgCW_P5YN0+#c6ro$vF*o zJ>1myynh?o?At53#;%zVlU3QZ6C;vIud#Gtp0C&-YK zS5i+AeQp>jZ!JLu;15gVBal%CUaLp8z0z2H!LtaLFPzT?4$p)$ZICl1HwtL2-3O|RO;9N3(I4-xf{WePNU0F6=x+iQmgxq z0D}E@fHLeSIaz#4O-uEl2c8&RARa#bTlnl%jY-N%EaHy}F6lU&696yp0HZ>+fdY2` z(J25C5X1l&03!(>^Z|8&tZx%gk1I^l?~ZYdvtxJLCln6 z)>Li#D7M26n|tbsvcgldzdBVi5rc0tNwG4khqw#^W+Fvwc%8EfrjnOKAlb%VaH4831i=UXHh0nSE@~iX@@5fEe?YHe zIK}SrN{J$D%tV5mAtmkh-r$$Eusl8uL?lj_H~;bDLGM*X&S}$cCLfcYR~%-1`R`)a zvv<9$O+Il9Z(sS_xFPi(Q&XmS_W!E3iQH|0C!L(Q^P6_Os+r~rBOuE zjN84?mxKNG3akPBF%3DeXUD@P-kkwdxcYWH*l8Z{QVCyz&%KTklLXI9$|uy)%bI(T zm3+u`kFW|+VUvxBqz&Yb%<^*}(YZvZ-lo^1a6&5Z*>lI@aZ^e*b2FBJb#sSEQGXI& z{AVNPIdxQpP!P=LKP#R{FRqd9)<9%YtZ^l}CNJ$Ze(_O+Y8$pYQ4#`1DGA{!@#Igm+xw!A$14P}v#~&-2YG5ytdGwK_9fAA<77^B5^e({u z7~H8le;-m(yNA#U7Q7bOvL}xwXegC>%%=}inn25R)<36>Cj$Qp2-H<|>Y6)0EhgkA z>R->QL~$fW^afQGr}s8FJj82jI{)Q-y@C03ofdZHS(J2545X1l&4S@{zbtP$^P(P!*;P=6aGy3sf8HiJt zPH&TDT_>hE5sl-cq{X)C%v)`nNq-aj*{-mV8{XJoAC3y4crbPjni%J58;CNY_VSs9 zsMgJ=(3cLZPFpY;dDwp-rfgkz4BqMVWt=kBnUKgc@yW>7EO@X3%~>ZhAoN)QB_S=5 zO`WMoqkTr!HaA1sZtw#%wjEtVa0jwdG^(CdVyDUJy&4N?70;%|oxoSrT|z0&Mj9aS zF|fa3lfVE!d-TRwnA5b7Ka72LP|SXEpMs#6J|+Lr5X%aawiL)Syx(7ef{;G#;pVoh z^+N`Fd07=bf{?Ehp{8fh&DQgd;O>>4C)GApdzpnF3^3*7EJe(#PxJAPAe`efTG-Eg z`FVvHpBT1A<5v-J)u(L%5P9s$GIs~S885q35ay%>=I_UZ(*}@pI1CK&1R2&ZI4L&G|_-mFfu{$-``uVVbTDSF4 z->x%VD}h6<@x*fq6)cxWuC?T1zCdDjgj-z_oBT?D=-8R0taXg<8A{DD{xvAcdGY&R ztz$WkzC5-LFG5Jce!D8$KoK(}Tu=R3+316hN@hch?$l5jeEFXnM=f*Bo)B1pyw*;n9>(V@-eR>Mppj6Cb?{|rqe zc!UDA)AV3E3gp0c0uvfD=M)A>$Pwv*#2qdKvNr7esr=$le?NtZ_9;{ZMLRex{t)&U zdiE$N_U&xr_ciaWprb}vfdaY!u`vJ%5NH&8g4c9283yw*lbs7ALpNGjI}vO&W1({5 zGFm8UkCybVxNNt$(%wnc>B=&%sr9_>7I9P61T!a(q<%fxq0}F}K5mIod?RB3O|*?a z|6MY48dUH&%+>Vc;UlWJAkv%(RiT>=`c!PQ#BON;#ibb0iwZQ=(>e>?q9s}*d}N{g z(I$isAiX}0E@HpXJl)tmJ%!N_V#?1wumbeBF&vG_)+@JrBXZl&Tm9)t`R9}w3PR)T zGwA2)vkkZC5z&qnOGYmx9}fMUfc)Q>T_-kK_5}c=NWvDVk?%beg`HNS|QZ9#ZjliIMBlmbaTBkeYc4TcvbC}ZcDQ{ zyJeE2);MJX`Tt5v1tQo(d^vriQ~!&z<5NzrH0oz*Pw(^4piU_w=N?rfB|@s|D`^&t z!fh}`&ZYFpI?QC@HYc_E$$eiaPQ$Q;`nW>%v_)_BbisYf?$AN2zXZPC`U>c##%bCy zayAX%`ZRRa`Xl!qi~lMJ;Bf)*65^-_dr}Fy1uK^EAJP^S|6SC_ge>EkxZ4T{WUqMA z5PbW9l{H@{CDY5n`S@2?M)`#!`1XV$vNO8}+s(z2m9MktpXq1yT@6D}SF~H}w((WJ zHxR3$(o~o@G<$SCnV#%<1}$u>(u^g4N$TV`*!<}-V0xU1E?XA3b&0NPD;7n;Bo7E| z{9}8S!Oq9<V~s*seIIxw2`Vxk={w<~V_Ewc=z#A0K{U#=?SfKZi#p z7wbvKD}ySd+%Y9rtZpsHpSKnJOxo7ndd#h&0#o@OFVo)qf7TG$Y@V^i%=**g#tYC~ z*Zd?pamZB8G`T!jr-t z%NI~fd}FmGVmQAvTln9!fzniaici!-SwI;*8Q07=!;T%Gi+2FMu;ldCD_9f>uJ^>x z4F70SVl3pnu%l8cW|iIHlfYjLgzeDX7*p8s0wFctMMG#k>vC zAE<%Cji@U`46&o-;NPxsO%&f+ayC_V`-94yFo0o2fvosL_mAj$^)O0Fk~D~4+A^75 z>`E!V|F-Zu8YKq>#&=KwoAwFiW9SJgO}f}8f0%-gR6ZF8F>b37tKTkWHrPFsU59*z zP8er?F5-Y_eMmOSygC3~-LfgwR~q^wZz;=Xn=dgv#`8Xp#6iR=x!6Ooa%G~qL5^fx z-%Ir4}v zyLNO-ux3X3deBWA;m>Sx7f%lOPhy>AI{2>vB()a>Wv*yb|CpURxjtlfyi43YU5vA1Q zo=?Ar1IN$qx@e*B`h^^Psg$v{SBEr#c&(G1PH0EUpP|$^C6Q4V&jZOAMTPPn!Wu=) zh3zb`P6zpj?<>^lN~Dd`4%8J) zfjdx=WtnUBA3;&B_N9Qb52WyQAS3~dP`P1x(vV~`uVBKLpLm0P$9a+PrzJ5Qm(;Ba zj0OUSkt>-*ZH{|b$|bzF%p#Yiz!{CQGToNY0HZ<`fdbnAaU}o^5ZnM54TQ^IBW_83 z+abt#e&DcT!qy3d3+t;ss(oX)W%hM>M zZxX7KpA&1woOuI?)+b`V=0c#5`tT^`8(&WBuq6aF3xr6`T61Nn%eZMQ70yVLcxGr6 zaYmOGNpDagCN*>X6Ym}ic0hCh^G%=*>+fdFoybJSR=x6JUnX4dnk?R+sIq|LxxY1O ztoL1Goq$apUYlD(Tj^=ANvuEL8ipDAFpn`9s2GdSsKf&?4>q3)wqInD{S1Oj%LoS` zH{H;h`_T8qj?dK1C!q^@9BD!w!Cd%Bh-_ZWec6ZEnt{?7)Bz3Adu?eCF2L|eA+Ul#ijUf@~0Jo=tOk&oX$A%?L5q49({7 z&so0Z{R0FBU!3=ny+-$_Ziy{_&=ZW1M33PEgK{(vgkJU$(nyWoa|i9AK%+u!fdc#h z@g@Kc5ZC}14S9>5OX?5abnOdjgasrcvc*2DM|S>YbQE=u#2KDA-GNp)0tn7FQ68A+ z+~D23J-0a{LWcU0c7g!9@xbn_Ys^u^t3}!wNEBoz>{0msBLV5sFZTSNsHU#E+?4FR9 z@o5rMH_G05AykCBR@<}8Hd1UzIj23G!H`#ABZWXm+iM`v3Tl6O;yS|UIFLDBuF@5{ zuA+~MvPi%S0)h@VhM>9|R~f0u35O-aCetgQXu097e8lvP3BYI-C#f>fBdu=sJqWwo zKzGW_ld?*wdV=cA6dWK1yi;>Wd;)MzsY~T{4Lihdx&?Ee44-G*>X+%J>aR~Y#3uC9 z;xLrpc}^}|tCBgHW0F`IO;1@qUKQjiANQ$sqGG;xsBYY+C>Z#pB`_te#Q}lgiEH$QTo@?&e6+2nku;N zJi+On@~zDP>JHn}W%FLvbaTU9irlvyqwv_IgD=)o8Y%RxK54t*a5DaNhQ3}MP4N$} zN01t+zpi~s&8(9WLfAumteur0Xtt=qQGCT#N$XG5!2m~IC)4CqLkFCqz@tKsfdd@? zQ78Zr5ZC}7>2MFDY2dzq=dI!2vWRlOqs`Nt&=ZGtyoD;6vH$QDgv)HTB6C>KHq6+|0T zbtP`p9F2wH>IQ4vi)33=SnyIi^QIltiI0`Sy_kej&$%3`h8>hTuT`BFe2uHH>Pz%g zx?-}$311r+MX%38Rx*y8L3Gz`T_uLc8e9#$5y852Y3z0P*G?d2IN!e7l6mG$uIdcA z@0_`=w@M2W?CkD%zQJEv1)X_FO|M$pdEvKQHv+8c!y~LW4}eQ%CtSRy^iH?~5ER&= zV#C?8i#rFF>LWulV1kRN%$W%IUZc}I9Zn5?0(jV!%DU5L;IOLY+Ouazt9h$vRCQtz zJ=vd{wti*5P0&10$%oL(aov`F&FrjPZY9^&v)n=CFjG>aCRL2dPUq$CT^bRA*l+wdiVZ8!>p)p#IoZ7b5{`z1n zeul^vT>v1cQ5LYL{HZldA__VppVpcgw@j&680flOaE!AGvGTnF>t>~%xa~sUTaUB# zRDZ#Dw=PoTvh`5K4g^J;c>=cTqVx?Oss5P#;?=@=as@8JQ2+VODBA0BsF;2o+EnuX z6KOQXOv)?9V0*~D4AA^`#(ZJD|0zM9g(z95S=;N-Y;h1kB7PGI--!n1+)o<3u_bBK zvheP|bFmc{<;mN~q2uWN;8tXwE$9<7AQi*=R_uY&laSx)ji;NPcA0wg8+%O>46I-oj z9PcXVU8?rNs#nd53_<%f^|D>-`KYL1qga}0okN*PnJCj0RXVOBA7O3qFQU;$Dvso9 zQXFjB6({{hb9-7UKA$&O0-6+WxNBuIl1{QKge?xgh(W(c^{wzGcL1Z8-;>#C*1`&Y z`g?g4Kk`c2IzpfFb|}Yz5X{;_Cc8%vLvF3e|5NcLS1Ez#&n9`J4@$0;W8?^LU|EDDg2H z&!vQGS#1OL@6Hd$2;k55Pt2Z*u;$%liwb6*nqO*VkyJGE^4;gL+ZS%QTy|ZSs0KHk zj?AItokpB1g98@*HJO|!I{=sbEsDBjFi-&M>J>g2aZM*F1whdjn**hXBFc&WpeP)a zJTLd!FG&~IaPZM^5i*N|Tuw!X9yX|A2_0g}eiQ&_#%$fmjCl#T4Yz_B-WQH{tUWfa zh=OXt3$!eZwf7i7)DrJDv&TgpH8Hq8HaCcAoJk0LTF`H^s#E}@LVtk+U;r^G01Xh_ z02lxv(2w*0jOBd}f0I%>fEo@CIRf-h1GmTy_lgEOGoi9&`Aj0W8!phTB*P2Z2s=!Y z8#`ry0?J9|IvV17u>acmb%zF1{cm?Z|>_m1&DaYim)1Pb_C@ z*F3hfIj_uKj9*k9ZbD&*4J}x;sl|UQ_w)ny>h?jqg&$24{EJaLI|fO9EBFWo{g$P= zno$#dcly|Kg}E8h>bapHujof)k&d(kjSzZLy3a^C`zv>9)=g?0MAU0E#%}lXX4f#5#(a2v;oo4oF{T1yNB=6wTgO$dubR&JRsEaqk#-qxMtd7KHNe9)GrHgCtQUP zisx#M;2J6%(JEXG`T+3Q46&46yB)!N}x~M*_NEI+lrLBT8N>%g@Lar zIR#EjmLTxlPa(sDc)|2RFB+4;AB&QE z>>6Be3#iDeftM$Bl0<@jwCGAWn;^6M4bcIeh# zP22I7^E)!wn3P!lU0skp%i@Vvdvl89W&C~hiii2LVvv`JQ^?#y*-CZZkEIks{zrao zOw$zU0HZg`xq^MI@eu(j=dU6&+4F`~ zUzY-%)7O9LS(!^bH~MIC*X?J67m5(qzj#^%al%Q4-GeA1lGkINLWiNq^#pRVFys-I zr9o_iY?zQdWJA!&Vv{R4NwVL*%@05Gu`InC}LqpB?HzqVg%HKX;lRq`-amNW&NWTO}-n6(M-E1WM- zljK3n_?a#w*Fkq1>90I!mFUQss)h(}5ly16=+Cd}pe!S<{E5&3^pf&$2hZ`8$jY|0 zLEF=^9RdEY(xrOrR0#R3Ea2>VUbz>JFt$xoKtmMqkH!W_GwvGc_d-@*{7 zAl7jeD-e4r{xwE^ZkQr3=-hl(601+Vo3J`o0dz}}(TKeH2bqk^$j+|Kv zo@Mjrdm`gHbX?o~Y~H)QcPEyJ=iFfx8Oium0z9x8+;lhq1>iT`fbfmvI2>_FWUQl3Oyqf6G zOj;=xlI4NGo>w{`y667p4(bl)qFv*<^!@*$Ay!S|4~MrcN|O7jpF#+-;L-Ht&JjL_^v zG|}*L|MvBCK~nz=J75ICcQv(kScUa@f_~!LAN5*dn$FqDsm0b0zd^7tK}aV6sR}kHe#*;fYh{c0#+rW zUvzw}s~1|htt5;bgZCRxtK0~{n85$&XpF%q?Do~oJo2s%uIl!od$y=+ zRIS(8>`o!4;oRoh-BNq)VBUp3Xqw9(hA!;B2~}bRbB7F%OLW06^U+*WFm=S2>Fkhz z$6rQNn(yoA;J6a5id(g9sXL2^;vB|X`Ay|*C$V|TZ1Dmq-ye$dEqefqvCq4tnR?E~vpM|vcF z{V>^R&>7wOEZeI&7FWK(!loILrj4bbr(Ye3FWqobh|T@p-@5OdX^`u!i~ZP-7<%AJ zKj74o66ZvWUhA&iTz&}pn>r@4j=hG8B0;I*5ds#p(Gg0psMn=wL=30B3bYA9fjU-; z=4ZAX>w+ngatgpMEW!srg-|Y4!7l!MiB-89t z@Tat(GYWQfLn)l>09d$5<;q+_7r5UB$YcPcLs5YP!vK*W00|Ii02qjpsK{)>%CCTK zk!jO54trtk|bfXRZX(qANViVZ8S*92_ zIK|ipnTAan52@?Az5N$eQPj4Sw4Ra?bKY!~wxnMj{@ysBz@HSR+^6Q~UNl_P6N7PF zKp64|5E!KUp<(&1Dmu{Y1`?ngh#q{x& zYmWVtq>@rJ$1)RW`!MAeeb6Cbx*S+}S-hoBI(Ch$zjuPgn!B0Sr`N&zsiJ|^afvRF zAJvXQ6&w-fD7sApH;0GbDxBLUOGqpw7-zrf0<1^$L`aT{;14c)96iy0I>ceZ70FS% zn{qy%_u(nbM`0WuyExF!44#X(EhU}VcmGoMt3I){hWF+}#+IF;2*f}c`Pw2nPlxfW zCylj9uW^j-cEzYd(_I+i0wWT>Es3w`PX%(X^}N8cGpeclxd-F+OcbL|ka1?PYDZax zNB5MhHJCV^UmYKa$>C~@B9W?CYN+*x_s(giY5XSYQd_^FPrC zr|eUNk$>WzhR2F!*Wq^>tCE>wGm#!NolnWw5KX`k6+O=|s&Ily7*4rL*6mrhM=FXh zB*+od?>nJ&=>Ns5Xm#tTje58lbf`{7KGkOwE8jG~DOrYx68ZOM4A_ zo&_a&rsb%VQpH=A{IuqYK@p@IJt15Li+|Twtf8jSm&m9D*oB6c#`1DlB_{U^uDYSg zNECs`kAJ+V!+N>K$#5Yy59+Yl)1G>%7bwRcfb*sv{6;4oAgHE}zrGAr*3tHX+4f^)vjBnGZd{Y|-T+=dbqr=`yu$d@AIpv4&Al z1qMRm&)|#RwC2PwL3qKzDCaya~&HLzz&s;sxi4#+MsK_KOK1KFN;-?yR~B| zA`V^+eK8ngEL}1-R4KY-4+Fmks(E8$BMWTj^LZ^lrQnHaFA1zb~3&-2|3pJ$C1JVgF3w*=A7>9cTp50&zm8j9jvB59uJA zJw1hcIBx>;Ept~(A5=4Srg%ei0iEA&-qILaEC-9Wx2W_a)HjkW*v7gWTkj zG(g^$SiOk|DsXe0-1;#MD4U5!yM$;H^uuz8G@9A3qm8>?xr{~-lZ;u8-n&5r{syCr z8Yr~)*l+7$f-W7y+UM0Mu?f{rmgH2Mtnj$SS1(>h&psYYkN~4Xxq$=*08t?T3J`Dr z8TiNng#rEl7gGi4rM=WxCD7a|?r`YkO?HDQO`DM@LTz^#3HY*xr8wXj6WEqSeP}k! zIlSh#qzcn^hc^2{GA`h}gLxZ3eLbS!nK~oFCKO-e-K61RtR(iNM{B7=?nbsl3prjd zH*f-pAk=cxAWoae7tAtK2?ss!IpKM-`?E)2a;J=drN0$JS(vn6P5Od1~}s(1~H8#l=aIix?d;S|?P{SlqtUc0eemcsHKdPT*H%>;d`oKFQi>fW6vva2B07 zzW~=iNNAId@(voJlJ9MjAf7%{zU(hsaUp&Q55i1Ds}|XfPHZo*$5EUGSqVQTm!f<= zh%+Qbr%%or%s*-x_|vwx+z?_PM+d1|45l5Apz3PUop8}NPIrR+-~QY`OWP4ujrdHH zN8NKkzmp3p`49+c*2}0V7qc{N>Iud~h|tHq?F149rpl^tC&;<1r>v<&s5 zi_Pg{*MHN4Y4-CS{;B2gb+|4ck9WOuso;dinwv2&wz-MP6l{X?Q0NU0mza@j?>UR!nVvrN|4@`hnWC3CB8*ZoS6hWT$Tx#=o5|n`>C=Hb zHYW=WFhGSd6_O1H5o4ctr`TWnByf!r93~cL*_JeQ$~A-0=HJ%cJs!rm&urGxaiTr) z!&;YU8aaV5&4_Wqs89iP7;C+THtVPWlF%mJmalF}K$>yoN%v+{t{;4WGYwLhqIh>i zzEDl%Rkf^##2yA`jzUMT3%VhQ^FKfL4sEnPe`*->5oHWuf{WU>jeoO zhNsjJulP+mh6)qYz?0Dfo>prvU^NQA79VcufblLK!9M5w_%JwO1i1FNGxdc@msrN` z!J5x&(WX^u4Oy7io~B72SJ;WI7>Mhd3(I9*!|^#0^887wJ{A3KxP(8Sb6hvKY3KTO z=rEMtz7y}u;uxr+HNGp1|FyH=!t|B+IE?25@<4R}$1w+gLE%_WOEUopw6!K`_5u?L zM`ggC|KN3XWfWuum#Ma^i|AL=0-+JpAaT&fV{!o|=+lOK2b?Zkrz{Syq(-0s`Yk*P)Dd;auKopF@lO(%P4Y;mhpdSFJT};s&dt@;4UZF$pdRj{U?eV#Yl`{ z)AU#(^1b5Zjw|S8HItdejENI)lZ8*W8*}+4S&ccU8(_SRC))7792+i7yOXr1mHmJg zHUM2t1EHs@w(Wv%r7T!J!^zd25Y?GuV=zx>T|G9UI(Xpbk!F;CQNF1{@3?lf*605b z!4BI&E$14Uyj~9xpblI`DZvT3r+F7H$Yl^>BZgfFx*4P>z}9ia98VYJfR!YNv7PQ9 z-*eGS$m^R)R++~!UlZG6=wTwU(xocbJV9cc^l@@({>t27lJ>-{8HS)BkSx6BmE0RE z>|tj=8dWVfn&_d^=ouI{PDW8Ql_r91bBJ5VWrG^n>LAQbgZORM}U?&X`_p&U2gN!}m9`Z1kJ$NW0#CIIC*7iHzYq@%m8ycs^Dl!K-ZjETE zSl`Y4>|bdoF&y(aNWT>(j$@g#p*K7J!E)u-VIvo~fUo6oMYNn=d4tlbeJEiMT(i)4 zf#XD{I|p_|j+OqG+PO|$qQP_z8R=GtMiP%c{LX z+eqwr))qKtSjZK$;B&NnFx|^gu|EfH1-g`s_9*t6_6GSEO~yYjJSU zZX?<2!N(f!oL!~Iih>w7-ECNAirsx7xBq_X-?OP zdLtlq7nPePTKrkBHaNg0Ch-ay5BDt^ONEP4@X3&=Gz{ylOOHukADs0gUVO9np$1|Q zg@!t)fu>cHX)8l$-k$5rqwKQff9CgExZa-+6QjVA<&P4<-yogVC_-5@CnSiBy)_Lg z)w!n=M-U~iJle!#zWB=Obk)>k^nb&b;{&nVOIY0s7!RZwT%-3L1EIBV71J{YIJ^(y zUDV$Wy6#mON_Wbd&T4MAY!5LQf1uO*<5n<;TKl8iQI-Oj(pDRl{Al>-d4#`50OKz$ zeSotnzz|cgW2DCVc_S^r6Sn^Ly#KYrd4-Vuc~~sWz!?pq+4!DPwaQox2?Vc_v%mLS z(B^o;@@4Yw_{g}ta309+k@*|!4Hri1x<=VNx(eMIZU;5qZQ3ovReu#Qhfp#jyw#YJ z`>sj5bnEf=54m*<3jouIA@jj8R-cO-x1)MC)m z_#N!X&90;U9Fr%dqT$?A9B3#_NYu` zSM}rln_v1+3BJ%a2Pl{w9Fx^fW#O%b1rs*#8dj8p?nI;cK&xdBG>^u-&wug)c$^&yyX<3XZw&pbS{%15|CX1S zsMI&&FkV~z3+A$CUOvl*!Y7kaTe=vE5S6&V47qW^xrw?uNf>Q@C71#khTY+jsMPC` zj;+jil=oP6KcNd>x30M~VFucRL>>Ew-N=;sXc+!3OEo`>{X_^StT0zElcbooppB ziD*qnqWJEKe1wz?NjTz`&D4c`hmFzu=mT5mll_U1X$8esJAB`vh{mUQlJK>(6CJU0;nxb5j?h&MrJ4mx$sWDuu4m z$8Pr+h*KRY9|Wlb*p(%0DEGX%cgN)_KudhStQ$x6hh7H;;FlN;TTr_7rp;$q+7Y<( z%ZPFu?S{h1QiX&NDNcN?Z!5NdBxc#n9BPPBzH1Fd_vl+ZBDIjvXE8^jvgUPFWZRGR z)h7SfKQvnvdPby_va!VZG8SBX^mY-g%pa++%StVE5Hq>5f#V;puFeoeY@c2ox&5$m z*wY7=yb6P{kzy#~Xqeyhi}>RK7lKtw?vv6(lYmt@Qou7malV>``ONU~e;Xh)0}I(7 zut2}A`!)dtA3h2Hw_(V-Dy;MJ{CXy%TM1xrkOepf#4tVl{mxHp&O55T7Ds z{vRkf0HZ?Lfds4oaVY=|5VQao03hK9^a7PwKYE|9ez*(htr{YZ931(~5Rm5F*D?1o zURxM;ufh=TD;c!Ab0#3X&LpPM5~xBtdZfaL3{`* z#^u6yj!t=0@HsDW>X`9QZWigIPI%W19e|ToU$)TVHdz&gEyg+|nQ>AkL3-wY-LMv9 zeg!jBZfK)zc+-yh{P^iOKFM{mEPA}!_S#^T?I0UMbE_WB7Ol?kK0Q|6p5fVi6u|bcB<_ zksbp3pFKaZb61LQ%*=2ThaPURDL6zUqlqRAGNpK_b*pI!Gj?tZKUgQ?Q`8!oENrz8 zl8kAl1M(=5>gGSaQqia=h`pNSjEUGWG|T=E9%9wh>HtXqa5zg!VrcF!EUfs7f%H?0QAv?a@3}-;IU0GbQzUBVCY%qh^8np4^PN*A zo&5%Iqk7iJzvi$#QAnGM_1P^7&2Rx+!oJE)@_k>y__oxxX#gbiFbj2TiTLBTepF4S zi12LVhfEr43R%7(imzf?yNGCzu?}RIkpFbU^<2X}Qr`~PBBngEOja}pM%aUhY9uQz zLI&#`#raY7LuFiaI-|T@T5kJe8iB#}@HNdq1fBT&Qg%Zu4sT>MyO=nkpD~uvlE3dKc!&14G zEiRAU^Xd``O}8Rv=D8^GXgl2(GE2IM)DgXjtJ2L1J;y(tJsw{gs___8&oKPfdtI}kt6^Q5V!ytiShv_y}v;)L|Q(BPdQSw(UYrG`30=r!bQJp zpd~QH2W&#L3Bf2v%qv}T+7Wy)6^OohiDwxj9O50@A{%0tI#u?&n|XE!>7}@s{mjRo z5KfXkcG_fQVn3VYY%q^WsJ%Bteu_x$vHy9KKNrxQSmAxMm}vhOR3d@uS6>%@3p1l= z3i^wu>|jUCg2HK7%JZI61XN=-5kJ5-UY4kl5$I?$M<3Og9ZFY|R!`Ds6Ifzap*L(h zf99}pCzI7c8Oq^qDS?w2QX+gd<&Ji?rk^ke2-H)Rkg<*;j7MZb>2xjlxsb!sa^9$F zIkzV#I015Mw=lH-yrzM~^(`YC3OVhA3ZNN$dYJ~wOB1_TKotl(TxOxVCcp9SYHHxE z9i?H4q`CXHOgaQI|0C);RqVMh}!s8_$${+22@qyK;bJMGsc6Cpb4kPea;;w;BbH2^7A5aA?eit;LgM zM5@76j_~u=WZ~w4K(i(GKYacgx^VPzX9@z3T{8pohYvqz7Im~TMg(JzPc{hQ2`+W$ z8F#lV{?XL6Of{o`+SkCRo1G3}Y7v9RH(opS$A4!n>#R>o90X*V`V<|BvUWUnlgZaW zFo*50GIiJQ#?_N^&UAi9WUz-`X7q-c)~V3;bh~{rIOx? z?|A{^FaGyTvSyseA?QtWdC`}I?B%poNv*L>2J6|fiqbt+qkeIaU zmhjNS{o8#BR8;Lkwzj2LZj$)NI&1eG)qOZ}T1d}xk#-mWqe9Su1n&UxEdUJ=xBwUc zAHg21z0sY-uH0y8%T2hj!Qa~0{-4b;_%+)E2`$B%wt(SdJKNfin{A^LGNv#P8K>A? zLnvPp!Zd-3$N;TVd{xym0BK6sp{;gq{eohPWtXYBdXm8!@AP$u%Nr^Y_p*li2n2q1 z8rG^_7w}bWwn%|ZpHtSge=U6^2442yO$cZXL!QN?+{zPmUb|^j!g`AA%ZsDgXZaq= zo|mBm;JN_BW%N@HMsD-SYANq;b(7(g5uhLfvZG%nie@6b*8eC+q;iUnIFYU7-w~s8 zn<_u(PQ_2B@NfBGC&ncZDD;Ir1ONYnUSJgQM6G5MQ175qu}|WzmmtJ$yPq?O+l@t- zPD*OA!|gyhQ{D*Bzk`<=n=#<$KVV|hy9!`CDR#HsnXju3`}6GU2a9yCFCn2b$?qb|LlX1uAsR4B6@9wcz|)c`36I>a88Ydi$f2YBE5r_K;B8R zZsAC-F(p02iM<#wO>>(fhFhwDm}ksc@1kJ6-ZB{dOGp?ciZrtj_}s3CKwa}zCqn_R z1Po;*F^mi+BOMP8y=o|eYvO(Y5x-#9k>Co}yT@-EI_S+TW|>t7sgg-YH~ZB8+CF*3 z(Wj_yZc7&(5!T`MIRxi}xDm{Go-oiN6g ztbZ1W#z{;)PRQ4sf-Gy0%HO+3Fnx&~Q_ZO2`9e^mLj{2a5CBmw01FVj02lxvD5pli zcv{M$(17reTdPSrP}VBZQ8EP;-JHrCBxM5vDdPsx$kC^YrwLfr(2vwtQqre=d%1!a z4JRN$=14aQ1XyQz%7Dcxd3q79(YH|vOrF*6?B1u+MfQ{!CM4{@;3l8PKdCx!g7DeC zD_FSD$p}2~<~h%;{Cb*JYBu2WMTK6{aYsspGaW6eb-3f68-Zz4FBhOSE7?T4Qqk*; zwKg=hzi+X)jgmHp9z!+G;_r0Y|G5cPOdGV{=x`aP+lnrG>Yne&(Q4wF({a?`_6B_^ z(+#K`4`tO^1oGg1=*=V``7=I!6-Oy9>i8lLclQy3&SBh5v{0w{ZKqe@y_H-Oj?TvS z1;Tw*=Q}l7#>F~YJ^u(wN%?zIJ;g3dD=rR2IZCKYi!#xbT;(XFDr<7#-U1hPi2AK< zY22Qiu`cwg`7uZA9f|_Z4(RYtE+3On8GugWeeRvr+Z4Y*T#Mf}SO(yk^b)|CmkF}g z|0mRsqO_0decw%I^VB(8BGPJOS;;(<)mFBsNU&tqw6sw~fSs*-7MPSR?)h&OAVFBij~jzl}v49WdA4+byS9;}!22Q&5=^ttulk z(SjHEQX|loB=PPW7(Ze{&{R_6*hl<1J=IL4QTSY-OdEr{|BUz)pgdBxrJUoFRl)QT z?$U%=PW;@JED6mD*FD(c54K`Mp`8@Y8HwQ@pm>laM283ss!<#hYi9@Vzj|<&rfao4 zI_d3M=<*ARMa&!f=MuN1X~=DW_jXwE9%oh_+BR5}p1M@pb}Ld^al>6OPk`wxB?v5F zR`0mQtpi=q91e<={HKr0Qg2i^VG9OLQ=Z&alWph?R(EK_C~*u8_ef3g{^aK)F9758 z4oJrpbLqakYZsK_Za)qjY4L}=<7w){qFJ#4HpjF787Zjvv5$J8l_2Lz=^5V@egPed|&_HHUSI zN6}!3kxtlUm&;@kgr+_CTi8?IR@!cm;-5^J%>38DMF*hK8x9{40@cYQv)gY!+qpM( z(GCyEKdXx2Y8atrU3t!;S(MFTYo$~B&=e<8?bJ{cHYi$qS0xfejm7BD0`vAg~{?HuxI}Tl#9s};#K9y zM9j?x<=gW6xGisu>nzJNYmt1*Csg2tZ5`RJvn_z@u+2=e*IUVx)lc9BRGKH0PQm%q z>Pd0*dpTA^(Pb~W@jNGhI~zl%q?sTL0>?bezQ*jV50ZCWVOgoP?Z`axvvM^)-(1u- zhbr6xyiI64E=T(m85R3dVlf6RWuhs(5An-{B3xrj{J+1~H9H zn6bLh*Z%8)fpir6s@c8j0!0(gJLn_P*{A@4&wQ>OVi}nhe8U}N%WHe0qLI3&`esXC zYWiP7(CMYZ@B<~x?y8V+7!p33q^ezF*cd{F1L^;k)O~3Z)NJ>AqgTiToK2h&)bJ=w zEW>6fV zEInlXJqyh#qP^%Q0Ugi8A`$AmX4@c|VuvX)tLxxoeQyg9@(=>((D0>gY1JjVmwpGs zA>iyvHcDR7cA|3)D$szz9#zsbKAx`R&UgV7pOY;Vy&{~!uWfhtw#kVw9IXot=<|R9 zz`RHRq#=dSBOKcga?zAwQ1lM_#EmKNGjkiCyI1c(KD=_SlY%*skS!JBSVxo+al6cj zXWK?JCuWZAHv2g{0?8eagyFBfw&rplJZrAb<$X%z91D@Z^o=rSjlOk^t1O4O(`@Om zsE}w9KEwzlZ99nUW-lUVc!$Lk@l8Tmf_czSQBUoT*Pe!qa|uYm{E)+jc+VW9K%LM> z=#movq)RjpindhDN@Z-nr#=l>^oPsop!QHH>VssZ6L2tjPD3B_{~F#m>*`bAV&U?V zVq~-luzF4w+H83-HX%5#+QJb+j(sKYtjh7q*6b}ChQ}NO!NkqGpOodHAHwY5Pfi(D z5A{t4Q4Zhh1XS>hiLx}FF9GCygo?gKw7BhCTW=lG|0cSu_n*%wW-pJ)aUflIcSy7$$IsK&0m1Q|=G@<$zBldP9>1!>BK!^AcbV0uRJu&H9r5>u8FS)qBXzP=ET4O z^p|1|)_8(-q|y7pP-4bom$PUrCn=AbD%jTQ!1lyfc+;v^$fj522+(RE0*bll?p7Y% z{;)j4FH(}B=MVVpq2iH3A`*?G43q;5T+S6v!aW+a@tvY1!HZS%; z8B2^4A7@Enb%DXJOs9cUzvu7X|bg$Ihr$ zXbF6JnyA}t-aQ-1vTcud)`|-o%_S84V3QhY4aE9?KaKoKCo;4!{?~&YFrSAho z$+(1_C|+mKB26yA6)KToX(q^`TU9_Vo7Ek*FvF=zuaYQ<{0?Hj_^z-&$&>@NMUO9M zQVbj-ZH*G+8f~w&F(;J0nwPRTgSLMuvNX1?)EmW5U>lpdTGJ8=9|n`x7wogpvm0&K zPerSiq2a*qQ5-GbIAUZ{7B?x`nTW+t8x|3tZcPR$aORfaR%Q%=Ok1%HjcPa{MU}6s zJr#y$ezJT~cZbh(0IEc#we4iEa+6e@oV;Vw&4=gLP?<+$R+|zqmkLQ9tQv81ak$om zDID0wk@CXHXV7N)uMa*xn{>RfQN|Y5WLtiejH{>7)Uh0BLPDIFm4KfN%D*<2$Y+aT zoP(j0H@%T7myky{AaozIW}o>wC3IQoTT_v5C@!g4RKS2Cv&0l!hH-9+f8_ zL(3(U63Ea@K<7qRorWZU)GY&syVgU(`OKElH_qm7U%Nxyp8!;&rX>7fiHw4_rGNmV zLMed-l>jj%01pt%02mF3j2VM_kR-^pTO1qi;+rY=5{M`5HN=bk0`-{!Z1>p zh{^tmcwwqJ?+tIwMMHR)BGeohXv{Qycs`>B)gTGJdXXi0*D>06AHEanVgGSGzb8=2 z>5Gc!QrVnQE48>VE!+P%j*76yD?;j(uqOXl2SGF&;t2`I%pMYikI!iZ;tK}w`B1YF)_l1=cj+h!NvHuFtg`%@{r)NL3;CubkC)Th&Y3 zl1u(hnsGcSNzvbLu%6f>Xi?$t+fWD1fE`4bnTT z!|`vV5nlvPr*`l~2~i%8pT0`|{xzP4DI=fhEJ*<9Fz>fFA$G5Eu6BL#xGT+aUz^*n zfSI_$a*^oVU<{33k5WiorUu7RV!I^Wfs+(px#FWrvYZPVeLiGtg^u3)tBUlyV5#vG z-6<87EMoqD9oT6Bm#CywD4hjsF^!zGEcE@heOt~plfZzZLS=ykwg7P_01gnu02lxw zsE(}Y1`Ir}*rX2o*k+;OwXZIH74CwbQck=;?$^=J4uYp_dki&Ran|6(yc4jHhYvdF zxv>G_fkbAybcVG=`Qr^`H?DjbS{|m$dl%&Rp?0(_4g$i0r>YnE42`xA;5!YW?uO1VDtlfMpiRLLgw6JZ zpP2aUuOkXBlL;A$6^Bt}*Uhq3oHVH%KQuGCmf)mRdV)qMcuVJ_*6uv8H{*Ff8#Ygp z#>h3o4y*kwyb7WK`n8Hf zZ%Dl^^gHZyy~!i}u8B^aAmCds2NT)P-$4UL^2DISM*_N1%;B`ya*Q+&G8nb>r}=6>80KQsfDTh+hAzd zT=iOiHfK6kwI+2>0N#9A&gZ1O18=f?OWNL93Ejai?%-m2WGJ<|QkBH=H#GJyl*a}m z7{B3(Yd762teHRpgG6Tu%EFLBxC$Bl_zmKj;FY$fQ2yP~@vA$vtzgYzhgi1?7LdRo%Th?0u*n$`44TIbm? zTF_ifsLlcwh#RsRbTQM|%#MiuJh%H5*!LdPkC7d2ZGg@#w5XX?dzl4i%up;Mi3FR5 zh*40B>~G~thC`@8*1&xJ?@mQJk-`#x0m1;UjCT!10gw#O6{kI7Ks9Y*xEgfDRiW?; z6{$3z2o#bO9%~JVx{jryXQd#@@FYat>b=4I+3Ag(r-*6z0s{E3?7adR5@)qIZe77v zu!@&(EJ4`pk_nh=(E7p80F(^+9Dh<q6wWdkC`*bXEy)(v|HZ}F3b{a$(_gYUHzN*lHG{==Ha!}oQ-?namoqMBq!8_ z%R`GeCnueh_zYFu96}^|;X<>+Yz+!)ki5Zd?-*#Umr5Hx`X=e=`mGpfc}UCQD<-`X ziWsFggORssP{Jd*vTH+ZRq#5m5!+{BMYQc+d&Xr)ZMIs)xid3WW4Q#bQ@qQl9?d?- zT%)XmU*@-TShCR&cu?tFb*(dj6tXjwTSK!TToh9$`*YU?Ttk9UqOU|VvikV~+@-`E zum}L7LGXbE_yDmW01gni02lxt*e~<|bs$3pUb@o`es$|k4xDINezIi5WT4K0l!6H8 z)=h+fuy$GwvCgZLKn0mZvJjl^vp%&!+lbY*S#;zU&4Dk@-Bb& zH403!l$fFlLujk7s5U)XL|h;j>T)BV5;OmQF`%#J$*1ait%=wK8WeOn%2|^MDfC#j%4#5>w-$%R7&=Zw z2m+lRs|>~LK1lh}?hO0%Zr=tkQ(SDk3gw83sU5Yt2zuF@tXqWnAx~bIOauLGH7Ybp z8FGUf+P(j`$X{MNvcX52IZSF4q5j~^1WnxruXuHgMF~i^0!lVUmw{53P>09a4-bO} zcokir4b11Rm_2)+1xxc##k3rNP1Y-|E(n41D+0IMAAOEp7c|DhJpI>IBpgVY%#}Hx z4Q<6hV)q4sb8-b|J`lIQWEElTYkkwbZ9Mu7$z0C6Ay2@tFR7!7%h zaxtzq+;ct^KNsK1UTb9CAh5e$3}hH-r_ePFMWM&~@#c(U@A>A^>bZ#F0|Xd4wDgS8 zB3XN~uUA_FCRhOnmO(q=%{MH-M2uDsG`lOIUSLG5b#^0Zvi=KE{Ffw4Kzk6Wjby;> zd|nz#(e)DK$0LB{CdQ$OS$44o`N9b!ORqG7*~MfwBhl>guWd5yWS^#0m4OqYke<*+ zJjN&L^xE2Cyl56%>!scUQ}ynduAigFh&oRP{$LhQy#QRlPp}+ru!#VFY57k5OqA2l zU6EKxqw9fw^2boDpHKpxc)oiAFn{&1XYuA(4D5(*#re}e7n=#XaO;e_h1XSE0K?bF zw0u4{0^nDN_-^U3qBW>pv0&T6hLqEJu&2*hui~^?Oz!Sv1ffcWGc$s(_ESU*939R} z-pJrB@gybUi^2+vUn}cJ+e=JBGKGna9}}bFE~6`RP@Cpq#-R_s1jE_P**e z>yQ)R8KELvp}{--Yo(UXioDN7uj~iDhJdtHE#>t2%=WO5UdViVp&FX`gp@{aA?adaE!|LJs&0}8j~lpEe(n!U&U#~?FUsTyS7`|l)OIBsyGLVke; zI{>jG00|JN02lxxut%Bd4fC60gZB1*84}ZBD$tdfK7K@Q-qzYI46 ziEPJM8;U{Cpvlt-Za3rn>yN*F&AfjHK*=cHNHj<{V2Tf0-vBEh3nryD==J0R;W(l( z9|P%v!DZ|~jYrUTx=G?Hg=dvq;`76xgbxBWEd|Tu3^kNt*|;9neV|HRAz%^n^WBagQI9<@5gHkm>x1AeAk=4D2}! zIDQX=Io6+QRB`H0w}ha4C-Wq&opg8#M~JXxxZ7q-y`gUhht^}O#~i=t_;!gj3VLt? z+?tbm#0#8$u}%IV2FHeBJK2dviw0geJR9tO!~jS`T}e74den9)@QDlW;r~Sds@QTd z5}?pa6~Nz5NA@l}|du1ptC1 zdL2K2iS~5Lg1Tf5!$3PxeY)jZY(R{<_H-Te%9h$uBlf(*0lIs~_8lwK=u1rSHjLfy zHZ&w^dtx6kcHnz@TAMLIuyyw<$51G-XTL8<<0GTg)l#t49U4hcdt48NPnR!JKl?3<-fl>c}}a^RFU@^WIcX|h7}D`)E&7c5Z~Wox?DRr&Hhp)qN8L>QLDF%L(A=$j0MZB@olj_6F zSE{p4I6vQvHIsh4AYwzmIavQQ!8ZjXkne-;E*shlwI3cX+=u6X$?IY{ygv&$`PjaR zp}C?8)tAo!R8Hr9GnEv1^O^|U{K4=A?8SAU+}BwnB2|pFp_)BgvmktiRb0iD_s#U1kSC`Km zD{8#3^^}c3q$kLC`p-zrLX<3+veBLF#xsFZ3jX3M>LRZ<1DExMUF-M-BC>+ zQ@34RL}}K$;$G7he;e=81K6y4(b!7uy3$5GH|6aKce5$9?k0Cq+G-Pwv~7WtE&M&> zSs8jEP&_9v&L^^9P%eD=&nlF>&HQnf<%CWC1@^u3^rPF6ff0Io*@Ii9B_=IcwvN=S z>P;@7w+#Y4za^-g0Is9WuV%yr>xi|-lZ9lju%hl2{^dc>JizEOW@HNRqr(p;DK!v9 zCB(mC9RR46ZezAg>d4SkEFdFTkWaub^JY3IY5I2nqe2FO27Le#AOHyvpa2*Rgv>M% zyOEKY!)w{PvPhsu{zJ@RbLKzf-P>*ivu&GdQ53!~n|#Ly7TrMCVI^p{R3K`E7i*r; zW7Y1XD8Zigcv(mh&$W%JIc=Osln@ih zl>al!JL97iPyNf|f?1j!+W(()^J#0d9#Dm5t@v2izp=k{3!LH%q;?mhyg~F0TGga3 zkH0nC)EghuWMfSd%{Oseov9BbF{(;)w55i%ivj-d|8SX_v>-=4EK$FxwmTMm^Qz8% zM*st10ebZ)$n-y^-+UJOLPaF?B$dOw6>C)W8D2fEb@pAsd&|r{ubx~=-~L2Khs$#O5pupzGlWcBDa{5=3YZ_7N!xsRIGrbUNww0b1^Mp}fd-xcaU}o=5R?EI1(^$g zQf1gT)Akk$fO)0Nv6c7Jp&Z+qnw2Db&nCU#rxgUoQ-cC=9qp~fnM!x~WdO2>$s8(C z3k2G72rzvkNKG8!AH~!Y3|(10-%r?$KBE%xXl&}bhCihZlJIH9-!Ju@#5~n8(6LrB zgm6Cz>V5%cbjXaggB4p`P!E;s0M1MemdDd8-O>EX4N7uFwC^N^0lAwE^L@KWv@GUY zPqf_w?9y-eCAfNcjUl_bh>$_D^4JqEuA? zz!_9r2U8-Z8on$iT@8EJT&!MK7h3=={f}dxeqxMyWiikyCoA~hnIRj&WNXI?wD$+@ zl+-_qSq3~N(372+DM3lz#8M!tAV@mGVE!y6C;->>WUR^OrVM~nD$iF8HESKAgpS-> zWV-`?r-bKp)1}Elnbl`!iP0fAC1$jsQNP9cV1D)!;Tk&4f6M^%v_!>|EPqFt_Cl)- zNvpoe*+9{rY-g?8=1AWVziv#<5Q_q$srEn>>aY>xk^dN%j(-bq=!gGr)zS8zmecVI86v?fGzk89%3UfMN)W3b)3R&X`}7kNx`QYx+ib3KV5M~! zcOrxx4F{qM3;CIencyi61PQeK| zUm6o=FGC(~#UiJTE5MQDDTSSC!5a@^5Fj`JaquY}1D-5cYLj*Da=%?&d1R#;IxmQs z)IO1J%9a%WFd$hG+D+e}jqoT5*5vVaq5Yb!+u&bgD(mRvBL}Y(B_O>}&piT%7#GO7 z03(9f{0lF*Fr)GK9e|@kn}G(v08u0W4G@?B7yy5^zKbJyg$ybSY`&VQ_KV~n3b-Pl z8_j%@1FGdzWo_uyNmEqZ&Mgm@6|8tR;4GC>?lj!;~cp+Ds~SBZ;7H*rWSsAt%~&BUy_dRIP8a= zOe^5SU3yrDEINA(uBm)1V-{1wNYQ{gv>C`Eu;hsx317qW@l~f0#(?$kIoex03ZqVn z$CLW`{Q=K6`U~845p+;&Q~}}*3Z{4;G9UKGDNgX8uow$dtyuvCUn$8bE4l-`T!JYY zn*h~Y4xZ4Z$a>m?De#^;lvy@sxtRX~YTk+hvK^suLTplya2GR#0GHIQaNmFUFPzKt z#FDpBN?X~nx{1`b)qF04ZFrK*_a;?0`E6+y3NKTSC<@(2*nAi2z6o1gFn<>A+Rws; z)&SPqn012?96Xirw0U`1%+Yi!6BG=O4QVBd2Q4ETa|lz&wMt~%XN&Mg+h1AR$KPf= zZ<7VK<7hm2VI$C*s=Ve%bJeL|X;l}l()7U##_DOmjFM{#bY*2#J(Mz?b5I0+-`B!B0+(CBF zsDI{w51s_wi;e|+0Yy`41~&0~d1mP_tj{h}|IC0WI^U}uHu0#UUi&ejAl3p|RRm}I z=l~xZ*`;I|_#i`)|0`$n?4Tk*Dl(e}a8{-!kA2$AUJE+{(HP0WiFEa|d`{GD=vZMT zaSHoGcus%-qe7m62H^lPBmfK$m;e|6BRDUw@!zAnwPZcwVv9{(?3)RqjE4UGrKxoB zMK(~te2b4*{V3?~VFgRTW?OgHa^<(!~M(6;>9Elk*2 zCC?nw8J>V4p0`)6PW+hLAA%H$^S# z;^DRGerq44URb&0Qtq`b9S7^R+XA2kd|MT>hzph|I~PFSC-29J5Pkm8TOoD+xY%N! z107NcG`J@nqsZA|yx+mG613H^@IRasCW4aOj!&vvKrg`cYWATtvcJ#i`R?U@Tb5 zp<-1NK;&-6D4(f7cIB+x;6_Ty8p zP9LqW$ZbR&SiT=ZCf&8iFtmghr7lbH3`!JLH$^Wdct;EWH5(>AL!yGNB(y%3g3Z#F zZuRPK@kIXw+ssw;AsH~=rr0CyT`U3FHT`*$fI{9`L|pzs=9S#|3;w)GmKtJQ2nGeG z3C#BE@in4*b5b`bdD)FlA!JGC`a!389RL@|N=^&9;D%aqm=Snpf4bMa#GTfpZEgYN zt$z31;G;s_fd>Kr@g@KW5SRcM03%S3=jmmD5zpd7j4&bV9X#JG<8h8RH@seH7ti4K z(!JrKT$oa%x*OZTena+t`55eox7G1gAoC0JG=8{?-tAl;`4g-K|Il>G827D#IP%GS z4Eql?u^q|`1fL|gh@m7t2ARr_SmIPpNW({@W!5;!`2=+`@paYN8NB;;_+>xbF^PqJ zo_&y8HRucB#w=T9gMWpCD@9m~OxEo1Nfw^b9(*SOWN?dY+Q%(2VUDSMt15o__hkSU zp-)=yhI^(q+F10`A4}u@GDT{Q@E4qPAM}yYgj%lJ`&z>Pw;LN}xCADurePl+tIPrE z3JB}D==yt|PaFn3kyqI#DgV1t;`IISa;C; z)ormIt`zB}SNsb6X%HMVJ_0*Gx!@o66?NJlR=%IB8VF`cdd%}C=w@Qi9Wazc>3E_`aF zxEEOH%an_URlo!c+ryC2eD8Ot2f;s%1yeIoHHM83bK!D6t9HHKKjZ|hU01P%=JjXK z$*iUdbRgR;B0;jexEu;pD&3Tua7p~1y_=(L13 z+SLmZ-X~ZN(ygUP?sRbAP9!@Ro43(4JTrr+TD(J$Tw<7J_i|RzwV@$o7u(KZx0WC8R*+{zsk2n?Ic=I& zZ&=Fmbm|K~JKFhufTKedfd?Z1F)9EF5S#!Q4Ry@IM#R$gEc07n*P)W^ti^QQ&z+3u zUlpAav4ohF>Vxbwgy1Z|ND>ZXWebfVFI!^7K9XgXKKrf#$PK!~3m7@Hdw-C%2t;M3 zDuc>QI=LF@1Ovza@gk#&y>73BwKBOgXnRbqFxx&y$^ zS8j=o6?;IPw6OWjI?93Mw?sGhHMLfRv&o=fIzoT~tpo-8}yfrh2SE$Zf zTc#?Ml6Mqaz17th<_7J((k7TIJOP{N7w0oJ*;d5z2dwt2#}zL74kPwCh;k)ODn8im zFG-Q~V3}?s#9Jrtm3~yv_`~#uTmk3~E zGr0!8o^TW`Brx0FOrl|eHmS+kz;jV;<3`08$@U;P$M*ga@nBndq5NCAM9TN{i@=}p z?)uj7&a~EM#qw(|6m0hO^rX&m%DAdhh)p`%5S66E)LD^wE>!#;hC32#NZ0||#wB-1 zH}OQOAavsb^d6iplaR8}taLWnN~;Z5wBm#VU*1&~VbJw*Fgy_ht3_8s#wqoYm}{Xv zO|_p=dmD)>x18~wwqEpDQVY_+1>nRH8*s^r=4zCR0~)eZ2dP;bv$EEugAXX zM`>uZP&V>C$qNqhA#dQ|_b2#USe@Fy0Ha4zfd@qZaXbJB5Lgs@g4c%MlAkR&9320i z%)5ACL1=sey{<4)=G%+%es%uA$+PoD_C-w7=H7Wi`*a4=7*poTNf?w73-{=ATNG>K z?FS%i(HBf&TK^g(i{!*86LHYNi)Yg0R)bcCZM;;}bjMtoGy%R+hZN{>B)3w`f8Pne((AHd zjH=eNQB??ecZ?+%Tzw%W5*%3PgUHyl<3%z@YM)fYnVZRq9Zn}l#GE%=O9jQ1vmY#q zjQfg(Qzv7Nwx&h3n!#T?rTnq<7c+V=M)sPKZpEA7WoX77Cd!OyG4$t)C<=W&kSi`h zPZ(s}KYtBXRg+i2t+xv5O1_C%fm8HvbrbW2<^$4MVpILOe#HsCG3+`YDBcwVJ(!jN zFPuV2h(}`x%d!jbgFf9UmvvhoEUD|PuwEYq&<7+VZFpwd7U5(;#Ar@Ih+`qe)1cg5nM$OO{}9_ZH&hXSv(>)sFEvYaUP_vDh^kSkyq zbuVd1_n|(DQ*X9~jjjqjh=JTLFMg|?iR2*m_>^Gy(9s@C9%0O4AvwZ2*53B*93>jZ zv@+ndOGqxzU~PZ72~xeB6>-%0ELUaMvCJCK5Kz`zs#sz$j;QC1X(Ovn7)LPhVgv+IUWGafb;>VAlt_|sgLr0I zCGDozP1Qlq=bzMJ(^xdZfz4I(z)}LoMj9HHapbt?+TU?3a|gJAJ{d4U9;{sQ?Pkgn z5Sh?YME;Zpj4TJRK7Uy5-I$nIhcKIIltYw_%|qyIb9dv-I{8eW22~|xcX3)?g-!oj z-{`jl8lJN$?5c1lPE2b6MXDql z7Vl{rQVTzt&V-HT$=qeInI<{Xm#}!rjwZ%QvYwv5)AxX_A53{{$}y;IRv^ZxN%`%d^PNxR-M;i{4c z6I#SUzM`bbL>PlT3>LmaiZ7N%Yi+z4WhnNMU0Ye=#9_C z8QY7fxk@=M2j2Ii3Zv2_G5XqiiqPbx6>;?*D(|y%m=*h7UcZL~aUv1>KCRsiy>o*D zcmek8AK1@9D;SrXh{Sa1&BtuA=^C*~HJuKV%#_q0`fr+af>scq+LD`nN=Viq`c;g0 zDF=86dW5+J6C@lDDP(Q~cL(!qA7_WH-;StmHxQZ5n@9(t$ zoj_v0UO0~1%Ju@<3`qeO$cxuF&9+#_n)D+sY5DaW!1?(2E7V~J`#v5wEF51{Ym;U} zecS&5jLn*b1m90OpzK42GnXe$Yk;%*%#X%P0(>spB7Y$wE7uE&b$|1wHp3IcW^j*_ zLc&^clv_Z;Y)jao4|8GZV3ua?sZc`LHKmwxj9CKLrwlH90pz5KflCC!0ugIoCgZXA zX0{Zk{wt&UAui8d?}3N`#1Ax;UJ3u#^q{68>x&s-+u=pY2H{$WW9X>6u5J7)_PESW z&ZJ@rRJX4BCaxcg)5|fKaB>G03GfifvM^>3SSc5a`MKdnt7a$WeL}Gzi6q|Vm4&J)h^V?w^elPT(O@kl$DsO%jl3 za>0^lw#;}{K?IOB*}I~HThW;^LRE{ca^qiMk$|v#((LjS+-B*iok4sCLa!?EZ%Qiy z`%Fb9&Qn%AX^Dh|+-$Lj*!~xHD8*qVnFff;*2GR7W#9yi6+$d`N@gYI(y7TNh^%3T z4dM_ePbeCKsf}270A!5j;3LJG>z2%D`&#aE1JJ~kd3MK#q58xXpHn}Wj6#e64L<#` zgTAC;sj{n)S!iNeW{*;&?-a=|3hnY#WWBR0kYBF^ZZa+o2PAk(K#9aVH*8Kf;v@y@ zwhe`9Vyk50*&x6wyblGjz59`aCVm$6-a%Vkrq|XSvgI5R$L>MCI!nKOPEdf4E8>YR zruYV5nJcByMZHSkjQgPL*c>9~OtwK+QPM*PXhMuVKChQ1X007>Rn&i_o{@)Pcw!n)2Zs61Hmr;q=mJ6?hR@KTAyNm0?clU!!h z8=)h}Y?x$8?6xf=4DeY9o{7yN*&(dsi>cR3b{~XXJ!{N`7@Mx8?FN|cu8OQ#CqhQD z%Ci5m8}_!vksFa_zeV*fc6pAb4C4yDqc11>#%F~$x6qe7*D2ZsO= zEC3l10018A$9n)?3W(B@Q2vBO=-8^z_}2wxgkgsp?o*WPgpWdPX{3Ma=`%E=X$R6o zr{)ta+;iw7oyt0E_8!st-(6t<$inC4}QkZ?%T0&@|3^k?h$eHHCX0kYtvWnUPDwl(n{t~zIJojpOg24wWFO@d; z9m+54j_KYt!6TL|y6@s;6($F&4C6bb9+C7Ag zGBFjGH%Ygsewa;c=4|kWy2K_f`pIbb?gCM!nzh~@yckTKb6%tCJDEM|Mn{p{h&OBK zv3i(9%IkCleFtksx9eWx-tXRk1C^C(L!VH(nv!XlhgnRjAN{WO=JKk;o$f>0*HBdo zjU(ee4jM#wlG^h`gDv_Ro`LD1!}8sCo$Boeuo*&Dfl0G2rPT`Q9S%lNRbb?)R%eX2 zLa+ROPLTfkfDEXCXaZp!jTJ&4UW5A(>7tG&IBcoomO8DOff45!AAcFpIdx9-+HAB0 z<$U4BZaXHf4D5FLR^Fx?vZ{;Fd$x9CQ-^9t@E#}OV(P#mbNiykipiNd(8wBRvHuwm z0Cf&v#=_Tq{P%~=R~DUI0-4FXBKH>@CNE9*^EdGyB489P4Y#h|8bTX8&flp3qe5tb z2dDrsD*zV}2mlxWAK1T95Eb3k_*jY=Bj%w={1t27q8zyR-WnM!1leid9SAnnt(flY z;^=bKq=32hDeO83Ve!M1xk($16hXLQ-02M9^Z#6qfZi`y6t+4?x6)QQ>JbT$E0iV0 ziYsN`?#OPYWkoM@(07L9S>S>f2iTmgNiB7ZLsH)b`4Yz@`;PqG-VUzeIl$*#dt^bQh19`3Z^9qS77@*2T148TlMkZ;wfl6p?qfQn(#=!$N3-jCIOY#G`IpEz2zFL6E`=<&q(a;=)9&qKQI;VGB!@}WHz88j_E@ZUtg@@H_CFWX6}P_ z&Cn|sWmyxl`L2ML^zE`rB}AYGvYS`c4JxR?W1aPFJ0!XGJ=bm&mE3fJi@eMyO_0Ub z`egS%j+;8{1B7A{!-O+qU;f$;q96Jp|APYv37tw4l#uWJpe#U8O?LQK)vo5BEZe3K z?G7!8djaTtHN2uhY0wyhP=+MJvskhbAE@KTk(mJ0LA!(SI|^gs3gliUlX}fwWNcPN zn?v|rNy1Up#?%-M{OgneR@SgbLbTITD%)E8;xJLEN2^=w!!|^WIa`-bjo#q;r|6!{ zX7hd{L5k(IvKvgJ>eq;vK3uusT*4H;;;xZ|l$B{yQpRo&0Je)mDl*smP3!%TBY9nG z^yKY`zug-H@XvKkai=rtfNN5pN{{YFB_@98cjx(xZ z5ogwE=U-CJXuP+P#ZT?(po8jTeW@yOn{M-YBYye$I7&R-=H>dZ&Y)i?o=aeq5Q}jl z^FqDNKT#L`EjwW;TIge_9vK)-h~Iu}ALlOy+ptcf!~QI6SE>CMgYrKA6cwyb?u84) z{yOG*mixW`AIS^XMo!F_U9ELLPRW~?ptlmD^$0;KesBqK>$v`$x~!VRRR!3lgwH z$dhQInu8DbQqAw=U(9wKE|}Y0LeqGp|9B_R`sqkgQ`eFTuuW$!=u5SMg+kn?0;S{O zEpgN%WhTV9{M4y5JUuB}N{#k5gf)pd*x6)FD9kAZ`TI7{x-wuj2D?bb{v8$edDg~M z2mlxWA4o5QAOX7y=@EmYR4d(|j&Q>vs-F?zE9QG0M0k3}gyy4M*h5HA~Wv-pt9eu*hV-vhBkN+??fF#KGsY zzQ5Qd#MWB3yIfa?fN8)3a$kO9OwN!Fwkjg5F#G!BRxLBG1fjO3&2bEyB7`8@1hrT* zkjK<}4;#PJ(FU?Cp9{N%%87c#UTq?I569w&sVpYbYV9#CqU)d{R*4POxLTeq9Ef$V zi`v9{dN3)K=e(-Yo(KCYwOd8!)|PAoa1Kho6DFMlZ(IACg8*3dCma|2b7kENC_7DFQqTgqB=SYN?S-JyhVmV;$aAfrMUfd~u$ zF(LpE5a<9H03vut!{~ecJ2HX&`Ex(fV1(`J{VcVtnf_Q)E&jBd?m>HJ>(73E#1)T#&9`WgGh}Jk{fnfz@YN=z{%)wFQ@2+-j^SRRUpd`M z2}@phVLQ?g`2L4IOWnFJ0v|kS`hkv=eO6I-uVm!K>ju?NHe&VDtw;6qnJ^3)u z+N3Xqz;FgR`4($?j_!9R^JJ-Mpz)szGT-A{*KWCNEJ8clAAbz1KMZP4zlc|^db@9$ZTvoKhYXqGRQ(siJi>s+HH5g~jqfe=xqTV8m zzlMdEracHO0Sc%;dBd9M+0FXnVaM~-2136TCiqQ=#2=pG_f;OLCQ=HNft44jEEG^1 zMal<0pc;~>Y`Sm&qeP*B2rU2+DgX=+gcN(7a?_1KCz+D~p!LrdkS|>p1D+ucqxAf( z5Q%%D_S6ZRtJqT^ibrkGM^%Yz8MYdClWuWRcTRX)ZmuMD2(r~r7t-d{>WMU~-9TG%SRFi_ zQ5BUUP;oHs{Y6{*v_&Sg!j2~>oNWPF!QF~>`5pgTXJPq+51l(}(zI+{v58%|hu$+R zxpV1Nhl@{8NuvHU+ldY^7nd;-Sijq!4WoEl6z#Et2D@^0Ut%$D|G1F@qE86|1^-8v zb`GnqXh~M)@G^PTm#svRvAflsa_dUB$a$FMq;Rwos{g7R)arL|F8ubUG(IC!hqW~& zb*YnS{3+{m6E}y#@gi9PNVcSg5rVQQ?>p%g4VSK^rFX3!9LVVBXOM4u7oPHP_GY`= z;6o0wNWXt10Kt&Bpdpz1W%=4Ao@V8!=utk>d-$M<*XJdZrRKT|7=tqiN?{2mC*Nw9 z96IJ?Wq@T&f9L2oJ|Obkq+4HJCATSR)q~PEeA}7$dCiZY(+gD1VrT4^CIr8wsXOcP zCfoi>kt3_c4A22;mgSttcb9~}EG0Q-J)P_AkgsrrYy-z$C?=>}A<7A4iCanJy1J2; z%GvmIcO69>Dks{yd@$-4L)WfTr9K~^Q1AEH`uE?*Y7+npFMzbAc&*A|8XY*AKlLbk zhZHaN@ZPz`spXSCUCBem4LE+YyNTi-!7&(ey20j_YpSN)JT~T(-8qe$$jnK{thr+{ zq-iXDAwqJXQI-sxJ2T^DKs{)l1(k$>@Xl4!E}1!Rwi0#AWqn?%8C)-zsrAk9Z%70L z=lMDQDv9WS6N8CnKBi*rjivaEK`s?freEPUfeePF#86$(IV3_VVDhYB>1(Gy{-`zN zq(H%8xPirBkw6m6CQnkvRGuz6^$yCAu55teDJ)Trf?z}UbbD;Vk=8+d21@4mBBISk zO7X;&7v4H}L5)5^zX%xSTB{(Ui7}FFa_3__NDOB^z48kXb?=vnX%UExM65wZM#|Qu zpVXf%U4#eFt)`?~`_{SY$S===qSZNP-CKWj?;0N}fWW$vd+u7EY-p&4i=fi8MYv%P zZbUjg=AqBz{-T`B(pd0)*;xrYZNO0faU4i< zQcwoOoPe9s>h#I!c5#cIi*PGaaA7`nw5vho(03^#GNW*_9&ibSDyAxtxw8{#fH{?s z7FhF9hgY;u+7ln`{c!zob{aqp+K5iDO%t{pGc@XA?_b_du6ANtzxmgyouXLsN(O3; z%1%7f7j<%UgI!AC=zI6baM&uj7_uC_X@v}{_&3x?z$OTgbS;2ph}BAZ*fyClMKxtrID}Pm0L1b~K-WD_iGYY^YQN{R9a<274;>3EyfHJ63Bh}M^B3f9Tb`rNjz$)4v$Gf$UyA!J5$vW~| zmmsKeFbyZE-7aWG@fr`crzDoJ-loW8LIDC?Ta!N#PmUSCGLTpr+HRZm037#P6}@AGU0prkBi3?eS(9)fn_ z8V$}9C~Kl$0`4L2Fq9p&b-}7olO|NYgAVaT+Qp=F8kaHHqudMRNwIN5_I)m=Y9M%7 ztQ^bZY~Ihp(uYXh(%kKmn9T$mvL(%8N7_Ro?#Ojbh}lUHtO8D5;*lp(4>E|xhbK(};7>~i z=R5u=f{M%WB4evKkEk$V@R5ub)5n(F+@3Av+`FBKZ#!>?H8E4Nn=AlVlp-Dm62WZZ ze4bs-p!SbuSO;v%@x|iW^#8kHE>`C}*BRXfv5(!WKBC_Zx&yKfQc_C!FQt9Lm!Ft} zpjRjAq9F>0FAF6Nez9yzhajA_3(;DN8fHVK;nz zX5e$ZoR6?lK-v4&n}(xm-w?`v@W=Fce}o5>uWFw_mAdYVX83bxHO8yf!;6mBp4!U`%hmw`NMh^2dHSYtOp@a zc&N3NfHI<}@}KzKW$GW-SlijUKRHQs=@oa@k#C&}f1Q~YSi}>;tp`#WC(%~&zm=ZB z`ZvOTJ=etB1io2t_RCO!^9Nuc5>ge4c|{IFqYi+hLPCKEkpQtH01FVP02lxw056~E zzf}Y0b1^;^_z!L*2TbVSbBWpw6Osp3?^_h#;HW}XX%F>ABErx`^(E!v^hOrP2erRe zFotO>`WUit!&^S7ouLHL{ojeNAp+%L#M3c0Q{nQEN3R<*n2E8s;5d)e8kp(MCz4u0 zx)1NufUyxX9s@1~+y=qI0sy*LeDzj3aYz7V2~f#_Uw6g8CAEpD&IwM=|1_n;wWg4< z9&g&N9D~e{lo=25t*87FY=?MFt|N~p=YGgVZNyWMQr#@ex<9{lMEjnJ15EOM<^zDQ zx8hkW|LP%kC`)*gsXGvVM>rcp|Mm_&W1_zv3EI$j4W~(Be?+&&Y|vzSn)lc+*%nzX zns;0&vSBv0dYdWMHvmSN}&ZioZ8Dq zm776iaOo)zNez_8Tm^b>rgra}bD8q}{&4Yx?(P<3j4C&is1|3CKN)IP(F)YBeYLii zOg8P<2O&LcvI(0&=N`7V;WqT>G!01mJ3*k;mVW)}R*W73QAUPL$WI}_rkj|Iaul>n z8=1dM{la_U?CQ5M90Z77n@kP3^f-xqzCln@19CA6RcTJJ#BYgx@tj0^HWl4?tL9+X z6XMfSaO(5sG3>&AdR`PwSjo+moX(Ju-e`+Z**z5vgkqD$3kIj`ewmf3o+JVEL!B5; zVwJ*9jZ>Vt*X<(A;!~olJsScsGh-t)fjKz_!`jQ(DZRRNUo6$@m9s#!Pye+q~7iT9DXySYG z^~ZbSeq%&{srtHQr_hrYTau)1%38Nns;Ar5hB0=_VDlRjfp3aUBq#nM0O_ z?IzNW0lUdp`%D+ZN5Lf8^3cM1_&9=?H$B{p>_44fp*s}X1TqesHfX{PS1 zu`;Stj0FhFRsTRcCaGHyd&NXkCZDl+lSD`@nC0#_0RnhFrBH4|t0=(P7whgmL%=4? z?*sl#pFm}Ukh`*!FE*Q6u)MkYwcc{tjwo(w(ohupkAQh|!XFw4q=e68a?NCX50qL* zG>pbT*{PI|`)L(majsbbvH9mjHlY{IY_(0W2;UK;yK^N~+yY-WOd{;^)EBLVW9y zr@tL}*8o515l72LQOOX5wF~ICB*x6Cne8&24$oJEp~FFqdl-TiqZwA?sz&VJKA|9t z2_6{{P88TG3prN&p99KM6>BUl_9@K=Uvcybi@riUkf}3)pAPbo>);%6r}5N%nFG-Y zH>#i$<_ym>#4GE5hat!CYhF(prSa%vjiUkf*NLlaysP*1sU2dMuE@l>1jz3hIeE2c z@&yj2Mc#+Y&6Cd~LrpyCxt*bj%4RACkD%i(kDMyDL2+;X1qyhEe{K5{eaT`pjto?m zST)kr(+0=g=3&p+JbdWD9)Q^Xd5IYzDLP85CLV`o$zxiGC`=^H;OO`qzMp-PM)2I; zgrZ6%15-N`>L$5rr6|1o^iht1?jlV!2L1tAa0z*!M8$_(_`e3SN%OVe#?L)OCQaL> zpMm?=rqlyOq69p~MV4ebGlcEJ$nwK=Oz}P%M!f;}hO4E%XyglIUYvO$-*U=n88jiV zJ2McC+ggg~tTCzY+`bphZkc6hw2Z=p6Z4&Uiiu8>qZNC8h!uMW@&D1Cy4K+jKjLqZ z-1t0XPvvIK1BX0m?AsG&{8Mt||C^eJMNNw;!&41JHR;eG51H__#3A+qtd)ipzvTyFP`JQ(`$#{UY3QRH@yi zL&_#xp20y|)dimqK$4N)a7IV-O4Xz|2D9d~w1?Va4wz~%F@gb&Sh~y$J1{R{!eOXV z)i^uUk4GK}3}=iZ!s_AT`m>J7m2?XZwzHm(rd3u2$>PYP;xH=>%-Vtgr|lG|6xnmv284l8%x#8IS+2`TSJTA zX0~=XG`#H|xIscL;lQ4>>}`<$#|XT8Sw%q%M2-5yGWe<41`N z?QHI+v0CF$j|4fh;g%Q$4^)%@)R;$38)pyv^StnPJz(mpuG72r5MZ9QBbyS+*v9iA zJo5R<9QPa9>H_qblpXFL{W#F=9mUFMo%g3{coLZ#(|^ZyF>NCAX6tiK8nXWjm#03OmJ+V~S!D*~jiIf8D(QG)I=c zp<~(c@|QKE0dbCTU&|37=cSJp7D>v+4k`tMAz5=aB+X1Le~wc$6~(+jR66ldkg~#Q zo-wrN;UanWKSOq4qeA6@2=oAvC;$%-lmHk&83d(9w~ccn52J|t6{tY(ztsUMibCBR zzlT!&Ey93ZNmIg`xG|AJ_-j8KRPm&Z;_@PMbkHTX4M~w#<~+Z-2g7 z7shia##7Bij3Zg4(#&J-r)W~Jc7+7?YHb;ymqOcgm2xDd2OG^>oden$JZSTB48CM< z%R#5BjTBo4x1sj9kMTanQp~>@>x=j%Ci65gsI_<}J_(OY@kP7GQgLAN*A$I-ACXy_ zh!6<@w1XKJ;Wj^7&|U;bxKG|orC*qa>4c~QaPjX&tOc)yt7MDqZjcOO`8j2YF16E7 z!!003dE*WsXJ^2Y3qxE}|2%$*%{y8ftT*QZt%tl^{s7+|M2lvr>*fy>pL~H#L{DJ7 zjYX6wS4Ej0{|;v3ZOV#K7%beg@LK$qTm$55<90|m5;=Cvt^wpo1yRqdACE|{)e8NE z$QK#;8~Y0_e9;IJpSDMF|FL>)?+Qpg6Ko%#!qS{|MXObUf?Y5PFQsx|$`C)nvcAQ!nqS*)s>l@g|-u zizJs;oGL_DbHrjBc(e8h?U7RnAXerU3ebRqoU<=Y;1_AL(SA(F%;coUni z*nxY<&!Xj(+xhsetE3z4jb8LSb3zulRw<4^qeWhU2^IixF8~J+U=(As^sAuAqvtTV z%fX8sUIU)fd1tcz;beb*TNovUHuGKAuIW!{j0CjMTBiJfRQ(Xtfim*VU6`|+6aKV( zgJ81+kylXXL1+VoxQyyQ*xbH$_n=nm7v4GT%;%A*nRj3)r6%$AWO|wrkeTDgCP8ro zPMr~0s`j@CB1A3>-u#WJ?(bG6Ke*O9SKTM=!wIS?9}3p;x*4UrNy^}!f<`Em=&##? zDlNr?z=`I`>eE_eX34bFGOokM&4m#DWx=I;m`Ity9E<*jKZ-c~>=r8jn0*5&g}DoL zCJh--t>}&btfY9{L&FPBEXw|Ke_~i`I^tM--+7yI>T}@^@9weytG=iDVU24%AH3pu z4pz&#i={v>d>@wpq8{}0i&Nayj3Ols3+|O~-lFyBbrdHvDWA}hZ#cM9nNx4i>qt^G z2b#6Dlw~0K3NWoP`j-Vu7Oa*g^pe?j2(M7TefQ;}|8y}3>^2zDS%gEr=W{WBMAC@$jZ%@Lksq&U7(m3Ew` zEl0@}*k&x!3S{R=F&)u$JYXAGG5v8%=S-D8FN{;Ah19ymC<;6x!P)3>r-#eu7{LVU zt~sz5CFQP)QUHk>;HlrBSkT7a%x`WXQbHv4sGpLkE(o?Q(aYvGtE>Uu!?vSWit)RV z#|p^(p()}={i)C|UJdTb6a{fc{S|=}5*p7La%gz+QC>_jbuLKBu*8WJ>IQi2Jcgs% zsI#Mne_O)IH(miT_sZrGyzlAknUtg{1C8-bvc1Et8}EMYdiK_@-i?}M9Sl!vH}owp zfa1Y0(?Hma#iSs!Tnn%X7Z{ry%)ai+2kl$x?NS)*@pon;{ccIDko%wBuS$KUV_|as z9@)w@%=6)LvL?Y@7v;Uch+5m^mOD4nJiU=clF%ZznG7C60bWXhkOF`xQ*{Wl76L$ zg8N9&2SI9>^JEJ3wsAU2WM)#o*QbqNB+>k!HjZm0y&$y2$)jl@CXZms{y{sIaEnXW zbf?b+F&w~Q0&c;J?1=p~QiTFmXS4|9o;~GRJrtYj;8LbO{-mZjG*DC0J7A;o!bNF# zSt2`FHE1&!^UW2nUa=Z|`eVeO7XQ>(KU%sZP*uvvee}))rLjz$P9vt*U$@a3)S%SV z&@Z8wX+wIUOMXLybi{hFA#oKyu+DcW9z(Q#Eg6l`>5xPpxO6*FPxZKn@^SJ9#%=oVTy zB8U6B!G61mjUl2zhHe|#t=ZW%RDIo*ayOwyr~XTr%3KgHsH~IYf;jIsaL7Py4q*DY zXj)(+{g99nAi$6WnzY@rttg1ABRLii;qKybcUDJtQ}%~RoOOW{R$2K$h}l@DQs9J#CTD<(I%PcFcY85&3Q^{<>CTk6d5ppUi+L4oE)mDngT4e;9RhyrO zw44`Jb|X@oIhn*uTcC-6&D5}wUSYWf#my!Qqy-3~kr^+bgt8i#@9aY8bufVe>ixnP zyX67zN7#$}L3j~n^PXVc(SUgeZnx)y-o;N6nTa{~qy9zJfoVZ^Lh~3?su?AKnAxP< zb#@m|aidgeGWgw|In!AjQ-FoYr+nZ>Ba$UK-|Ox}izFy`4-e*N_Tq@CEYid%7ol$Z zGefcq!88?&L1DQWQ3Zi`k#tCNU0+ZE%WEwEo(JBHk?h)W<>eE-JPsF#`9czLS>Q_k zJr854S&by<>O}Vo_=y|5Z+xzrv&_z+jg3kRCpUU48H=!+in#?Z9tKc9nW@7I6Dl$@d8U|F zoz&yU=AHf|r$pg{(78n>b>yneeTlq+c)2Da(DdZO`T9y&v1)^u$0vBAyb)|h7#){Z##SD>U}ayVhqPFKPtYm zyAy%hcK=LXRnBW6CbxroTz|*sTfj>3WEny@k<_Wczr;R=udYL@l)SCv1IPYUfpV-b zBn1WPaEW&tB=)(_M*z*L*ysLV8iRbvIW4(>qeK^h30MHJH2?_^oB$XACL$(Inkn`s zhx98TDz(V@mEnk*q0>XSb@fZ1!ui*Xz$pz*OkAfTe@Uw?(!2CX&N|+v?LLVjm&WG_ zFz}5uDSl^eMV%mYGZOYEXNl%bgj)j*l1bylIe4dbArMLD*Z6=LUH3X6)b4a97|+id z9%#X@-~djZJeR#&<~qGaFyvN-AL$$P^so-O5e0dQL{yFak4Ljd92isfQSuS(3oyTp z_H=ohGibZ{+8mj!rHyIV+XMJMq1CMhjj9v4*bF-19GlyZqurx!-w+s`IKy2WaSA zEG2u3j8@2;e9@aY79BuG&(NFbDuwIJiu@<`c)Y9LNCx>eyR(Fe&TjWsEKI$bB&8y4 z@_c6Xy&0)!DEcx`&mEbeH^d;n^d3=|b{kNp zA;6>@kaKY}5`Qwn63D`Q%@#GJ2|`HU+tb8q1I&fc+Qu{LYK+{rxIyABCMdm@*MVj2 zucJO0O?|o~Gg8r3IyTld<~}%yoTck&)`An#oIVKgoNuTOnO{VQVx78X|n@W zAwucT;M6IrbIIyfgA*|W_ASfFD0efraW^ojm2STysxJe(l^Ay8X4#h8ImKboFWb1K zJZVGX#r31EWTR5nlJG+igG-?T?)eAHCZ6N!)5okm-y{T_I66C!w_6n2=57%?;H}Rz zL5>BWAsQ0-*8K+ zSWWK@(JS;Kjh`F!Sw^^=9`0>ZfMs7eEe5!pUUA~btf%_x9TEO z*TqWWH*T*nOMF7|9Vruf8qXZiKKn79Mvrn4f9p{C&Z!}Bq>58$bmBwWHEX*}^NNpyC^+!eBGQf~&szi#YQ$4@?ba$Fhn^ow`nT9k3JUGha z<^5pyYiy-khRkAi;} z(6=e1!ucW7)^e}w`WK%;$<_5j2N&SYP4@(sCRh7zF&=?`r`Dx&P z<)FdyW{g;m*1&Z!bnhwqUk$mc3&vE^LHg&hL)q>x3}Hx{OnsKp`j7PB@ZZmBDJ3jW zEQt(enY7GVqn|p{*9!4j7SYr1(D9ZLWc%O2jh`SH_FBW#0xoh?h;8N0Z>iaV6QIF&Y%Or z-?R*)to4>v;K9F{v?ZUMgL!cOsJ{Vt^TlLY?}8mzcIuHt|6-kpGpvk2sm7&(t0wY{ zACF5Cij-px8HjU;P1o@eg6buY8$ z+C%KR8lHnTr6$7`niujuU3IVm;ge4X84;g8j}l}e+M>({>ZW42Bo}5#U8qRroXUPY z_Oqpcrc1$XXqN4RJ0D_aS4-sX&=Tj+kTuIe7z3mgrd2k=ZZa20*6)LG^)nS;MSHMc zsat}!pfU8&b7exBnSK}UDhP!aEq}-TQk~6CqyD7L9rg3}sjAnv+3NEOkO0@q0Q}$r zYFcQz9xL`T!vMj`vc#_Fqx)yVA~s;DZi<~97v`8my}bqvw)tHk=aO8hNdhBHGwAJ=9@(|7G+?o*ZVJ^IL` zGn|I?oMNhhzFgBW##V=HKUCU4{YgRdV%DFKaar#1f1qe3m{p>nHj#ZUVl-r<7tfg6 zzYdO3!}EIh){UZ;DWUB7%d~9+J*|*2#67LU1l73dAQT%V-@0|>`1>qm665Z8bHV#; zG1?}+6mM-XR7J0sq|43iIIoqpkEz=NtZO^YUr(#_qI6YjXZ%{=4e z0-l^PGX#Ab%^EfZezPZloPj7c5&%>#TNTzw7Ahoy`d$Dl1(XYJhg zqb+8pQiwfrH9fk8I}4H^?tK8#G3&>q7i1=sc0wPlAXR?lLKSpofj<~(I=>+Sa+s5l zlspdY(WqSON_|oFy12l^3$=jJN7dAg`~%AI(&NtAw1=K1hKXg_-mrBMYEI!&BOo(A z6rRqoEa>+&Z~0m8LZbQ*50~>xSII51x<2_ukT-oxyT%bGUdc=zHW)ldZ!vNgI=g=3~jlIX84}rC9Pq%L(Xm!aQ#;jzXZU8vo%{3 z;&p;p^BtMPg&p%I_H;!Qd(i~S3lFn%pyq|l1qP3(4_?h8ZruB-ThGj{u4yL+a{$XE zxF~wu!t?s{3)_Cz+q$0LyQ6CgfY@&t4#(e-Y*YvC^m$al@Kgdy0&%$ciZI`V=q<3_ zecUwWwwM5;LuP>qyZ})&016Pa02nj`0&HGQ&R}|B*UULlg&$YqJPOibOR;+WlzX*D zM}?@hoJWkmr7J#BQo@b$AJmEK>76A0F_{sX$b!UmzxH%6p)=(3t;CO#lTIlq{9s$S zH*qs}?d`u%W55~Xr-JSf{_MY~Kwr-KTK4iNhpZx@*`e|j=QokE1VBBzyAv4 z5L$HpSQLJi51>AvuL)lvpK5<>w($|s1^#nys8?ftCMoc0x?_QC4GW?6XB6A=H9CH} znG4=^qZ&pKpVzBCTO&&y9+>2{QF126J!ehH`0=Mup@6V4JC%ZsVVE4ah+)3NY@vX(XhSL!t z3e(r53FmbC-18yE79mS`n)$#!a&c=3nk{_8JpVT7NxaP`y1ev@kDv|u>LvbSMBI)7O}W_RY)~|46oD(8D6`m z=WRSB2a3O8E!@!lNz;7O!QbhH^kL{%I_9lc-CrPONZPO5pJ?RX5t)9Mn;vr7ag4bZ z0m!W%1w>Q5OB!59H9N6Y2%M1ruh>@8^}Bg}Idn}2op$q_X$hQw03_j1e0=W>Y;Mn{ z87A5e;Cr=%`qBrWMz^`p$Qo;ei}`vftUH`pqe~%b@{T#cG9xP2(7Fz1pHVo$pNgR+ z{ZW<`J3$YBfQu=3SxofL4LG;ZJ#x^7&V+aVr@_!oluWHI@eKH_OY4PkfxC`wyHB2c zpEn&U26H z3?A)zdoeq?r)BG_p|(4LFe@r3o^PF{O&^lr>Jce1R!uAp1*)xpaR013Ni=Zm$#0*x z5b9Ft!T{u05d-J!^Y6y#ZlK*eSHlg{?MGUmM_AHdQJr82;!^tZZiEy%byP|pN@g%S zer=9!$aqauyUeL#4qVl{qL8>?mpS*WpW~6MU*vq|4Zju`ws?a1%XHex(=THGx^}7$ z#yvi&)`~kQz3&X_@=XLrk`E{GrEvnw=jr1FXi$n_kLFC8Ko36R)rZMJ*L_%nT7zN$ zMjHj!5v9;Id2^E^PGBD0YqU0kUoj)LbB$z2k_N6tEajTjTkad%nL56}MX4hhcXa9R z4hsSqE>bU6rfbNZ46QRoC2Y8m^;aqTx3$yEoGYY-jVqfI4u~O3H@6#gxebE~9ODYN zrj;`Q2}*w`*FQ4pE=i1L#nYV&t)V6D#O0=}*nK`*}D%vqA zI=F4n=*-;=+^^v9sDstB({-lZm1-hOx1lsOY|ZE&=``4t3&6Jej>&KyP2CMQI>m8*hiEIR_=> zpzr*A8M|}7%NIX;XJW$AEK^Mmc#F4IG9Fgo_^H{!gNnu+J6dBCL?VVVdG z-JNTX8+wMu02??A3k=XP-Y3ROb*|0UbEvD>!eO1<%J{)-gK*HE^`TYV4d z{B_cafd`upU7-WRr5#h{+GBC6FAcYSdPL@)m2h07D6BSC$Dnll`7))9p|Qw*GX0?g zEXX7X_UCp*WNd94QIOR`xzY8(#`(dck%Zkk#bEV3RohdZr#wco3-}>gvjYnMTOfth z@XvSLzx8gTor>32v?gSQqi_~hLmKwS>yf zIr26W*=Y?#pcW+yC0LHb7vH8st=ge1*fwiwiWFv5qD(WjVli8bNd13ml2*55uHK5YXS@%W4kpy94~i$k8wJv1R>Qrkr>#(9^jVYN zq(eXfzO9~t|L<< zt~RNnXtmb6e(oy*WCU{>dC%gKlq^~kgWH1Fh{6w&`;1XJeXxc*cSHygR+J|Im-wS; zkG|I$6zFpMy;7CZBL`SPY`l#xI2X`#vs+$Lc1sQI{g;-vSg}agD*K2g9k~4asuB>A z+jZ=tX0la0P5`AqTEAkBVU}CwRfqdqu;lTk?h-Ec=ptypiMw+?5h-Y4_ahSAev|Uf zV7xLbIGA--Y4}Au?s&?olID!W(Uwg49)fUEIgB7ZgXZw@H9O93cxf?gCTD7NShxAC zZIf^9^GsRWgmk|C4WfZwBAGel>`{=15qnz_^{7r&=Rl4U|s1QXAJ>d;MgSmO2@PWTZN~b z1A~htkTr)klFmrpH}nLaQLarw=9kC1tJ}04?`PGqXL4|*KH>l@=!=oF<7?a67QGMP zA+e(v^Qx$%i1a`Rl}bkDxW=rb;jr`8_6@enuyfHpYiHHToSEFwjP*XQzjgwWQ7|qO zsGz?3C7tgs+hu<5(V!7e--Lqx9Ya&zYt~^p<1Ku_VrMwOm)3K~O;4>hE(H?apoEe| zQZumwE|tFypTSJ_WUYtunH0bCegipiK18yHiimUJ3y^x5I4G!|15SdQmq#aF)e_Zd z09_iZuO3SyyGH zO-3Wt2QY(d!ws@cC^%k(B0GINbH$ceyWJ}|G;a+_@K4zX{6sj$u+r49@6&zy+tDcv7cSR`VY2ZP)44iqgh_|2yU z!(4%VpP1xA^3P6M>N8~!di2j-2Qb0Y+Pi+_oeywBV%aL6FI+6;F+D#qNu|jbWVU{< zty4@w!u~rvCzbwq3@DfGJf&C@nL|?^i(f9Gu}xj`@4cnZ-lk983ZI9PZzN;le|myi z(y;1;j}bG_VZc)G)Zdxcd^| zl?>e68{^0WkiC$a)9OkA9Cp7L8s(<^T?gA9^h)g+Vu4@lrg1A#E+y4Q94WRv6ziY; zdYYA^-WQK)-!L~3F>5V|zhyo0;dK@Z!xPwwwMb=<>dFH(A|GEh6*za}(D&fknyc5R z8F_;xYr{X_bEyxM7q~L209#2eOWX0IVq7hPqId-3umH)NVnS7^YB`r;>KYa zz98(XoR-YqK;T2~mXI1Dmf>6^pKWeGHa4f1I-2JYgmocgL|6PmOS(+__e(jzsHHHl ztxAEqCF(r4u70byhueCCwGCXb{~u@oCTj!aZ}sp)kp!x{FxaG&E{dA2b<8`qSr z3eP9v`dcAX^yTQv8plhhgl8NedEtj^EyHB+ZbK z0hF>iz%%ufd0hnla7?eQor*TCTH(>=SI-?~R5*hQZN2|yXh8(FZw|{gCqAbrb-odx zF#Pp*n10FPJr54YuhDFkTDA7!Xhe8$1Uom&JH~KCPHQ196y+{BG~SmI>^>s1sQ?Nv z#8|ntl74$ETPAUt9Y@A=G#?iSn_La!b&D0xl%Kt%1OTH#m4ON$08uFb5D?%17!837 z(v>br1GjXy3EvDME&M7qMcQ9TZzB`kqrVR&0GzT9y8` z-f9;YjryyQktSd{{laIIb#R{#a$MmtDx_Qizd&fqoaP5pwM=e@ zR}=q9oL)UQc0jJPfV}z{I(cLDc~w}K|J1{n=6Z=0e)~QXmu#@`N_rSd^4Elw&9>t@ zi5oCq+^x6Oc;-d!TOxpBKr7#7faogfaQP4^y{aaH6FV%YuN4P!#C5=_+!i?~JfGkC zU!;0Vk!k_d5$q6X+JOy)^h`QmxOz;PZz zk4gPmaBo*L;L#E(ZwsmNmU}T-1~fj)qF`CXc>ZEIf5JbM>ws-5_!aRdev##V$hv3^ zAPWcH0<5eThzNP*1^)`2HSedF$tR=`=rdp?KWgkL*woKd*D_aD=cWaT&QmA*rqj1) zbnT+ksc0hrvm6HFkg|Io(3OlFBJ5Xw(1AGbt_=R&4R%SMguj{u2RC0(NTfNuKixEcQadb{z30ACHR17ZL{ZG9dpWEa;4bcY$MPlJ9ayT z0;w$s2Lgx8yEW$uHVfZ!4B230SeHxS6B!(TfH7(x68eNm1M<26TC<{hr8cemZm1oF zNNsevVtLVC30a4zCg4!=7?4%AAt+6y*;OuN5N7p*qAGv~Pf2r12xi2QcM5>_G}GhkaLf?4Xi}8KhR8L6?vfeK;(aVY>45ZnMB z>!td|isW@!1Dm&5`2mBaCNm>^pt!J`%@FC`{G<(9@SZN&N7)Xd!8~>F zr5vVVbX{~GH$&aN`bE4R8B8myTg~X(VemS5u$cYVzpJ~7DKs$+QvAk8?hnv2)aZ;J+BI)3&8%y)gGH-#uoUh&*RTn068H5{ zQe)Q)FUG8(MI|TJFgTl#rku8Rw6v0wO;!6N!8skj!{zh%I{ZOVuJrv~naqy2p_llp zhypI}$nvrn6bFbI_A636xpN6f#WNVsZ8^NnTuA^4=)ZW*M{5 z7?h!s7yv!VIrrOCx7oiR%br7YvHmwbmk>w?H4pr-?tev-Aa!@EGl@f?&sZa$tS4=} z8tf#aMk9h&NCl2?vb^Y^6);81*w% z1=?d;=#S0aK|~P=7s?p8;d7w!XS&LAbf8nKiXZx_?YQ6qE36oVn7Qf}B_VJ-Lz;Gc zHdt+ijFj~Y-F1%n>#M-?OsWLaLbFGO@8fs+HtnWO8-np< z=dUmNk`0FO;638uyIrOHI;wqMlUj}J_XrY1XDEb+&Z1zy&b068IpPvr${&RX3NXRkVj8T&H;X#! zz6qZI$A}PofQOquTc=j8%qMAczwPyiy6Cs2q{Jq@@up-SWheRGVhtC(Z~>MD+~lSA ztSn74ak8(Oa-WQQ&m>%$11V0B;D9^IuDu^~T13FX+e)4qv{YP)(l3Vt$q+>oMB>2WK@aCmG-wl!oD0|592{B; zO*Ku*vwX^f)OyNvSgA`k#TJ=V6JNGLuuj1dPV(2}<|HCyPyHM7gC;mBEpGmy3sOps z3Jn4o@^kdw!R1~Y>7p8?!N1_4I^Qj?6W+^3R;n9qv ziuqm_WzR%;p?Gz8j^R8Y!bNAhg0sves7SX;N|vKCDTXcvoLv&&Hw)cnAq|&z?TVxi zN90#>`Rz5nH@w=}=oST=h^K*I;1&$2bi2rCC`HOyuylp8xQpyu@GF<@il!KdYqwa| zp@i{RYAZZ$!J%L$NK&A($s;N0FZtlYBd+EO#Hl2J8}&_c9;}zP;X^aPKMQmCVGw!* z#XDWXZ#6eqL9%`j`@v`<;SM_*kN~4X(t!%301+Gj3=oU}7yu_gFBz5W7dMWO?&}S9 zCc31COj3XXBheO$&HzVuUZ^obiy1DI%^9$bfZ!SME|e>4EIhb-IQ>0Chl0L#vJnRc zaNdVjUV2K{VgQ>Htj4%->RG`c!!8Zb40VU)pFKaI({ic#&vX>&*dE$Tj3U+K+8Tnd zf@E}Hj4Y{)|Dgp>Rq(DHsw?kjHuH?9)X+pjPaVv5m+X66b?Gr##xcmGb+mm{%|Y@| zPx!h%?Rj2`_x~%U>$&epyuVw+nk*99=k6G zG{Juss^N+heYRs`AM-?!x+ga3#0r>5Wm)P{=A%UEZ1NW~p+ANTWGHYIQ%)gO%*U^~ zt=Q|0$s^m*vAMyJIF$b_<|``T&;dJUc9Cdq@vU=yP*-UgeKGF+QHN3&#R*9R-_!^ zRQ9LOA4P`Wm=rR*7L-gCKPn7&@cIT8K$dS-|28yzUZx7nU6@2HhoScCAxCG}`@y^XROX$5>+Bv7 zRAOK%JpW;ZTO{Qm6zyvY1ioOZ0xnC-qtU!Zdr&H}=9M~HKgDtNwT^pDsn=KzJeH^N4!c8cHqVacd`Q`eV%`p8Rd!%uJrLoG zWW*M@$X@Q-c(+m;Q*n`6tJ#2~LEnK2#sHBT01Ob202pqD0GN!^E3j=uvEWH*ER&aY zBiCMZWq+wOfdkv3CJf>cGkfQ8{~Wanv*s%<MEiI?L=ilx;}i@Mgzk5j`=Y(den_ zFgxfvS9uWa-$Ns!=x;~#RAaMUaT#c^2fJ*TJs6Y{*xw4NV_#9S?{ zNhu+vg?>TyoxxiEkH^C9y~cdz>L;pkp$kk5^B9LJ9iT-bH_5x3ur?e#DHP?Vo+Kg` z|A#f>iiR*U+%hvgUeKa(z!2B9yITfT^#Wgf`M$FN?hoN zeda7`Ijn3>&iH)~$mFmEKhc*Q%<$sG(`JppK>tddO(I@efSZ4i+$1cs`NZlcFSLf< zKiD&M1L>BC0Z(EvS|TbLmEzem>G(-}Z-jURDk>6N$`}6K4%fYRz(iBCeh^Nm{0>j# zwg2yO5tFoFjGDW)Rt*{;Y_`PGpQcO&FiSX23S0Ha2>fePmU5hwr%5JVJvdT%3u zL^8Bt(D>Nz*nnO3U98spzoyX<{=+G6r2&Ue_8cO84kHWjaC#>(FK84$^kNSTMy%nAzM8^_7YEr+%j=>bt7nDWcVb zxsbzuPt9K4lVI74W~QBQ@>#0JR~dxt=X%Ih(2$4JHSe$GuJ$E?;hmY|vxIT+=8Av3 z#vr}pCDQ=!_Cy7oK#ws=qo|9O(e|iq_ASJ^xu@GpgRy@~u$GA7)qS^5av7F}Z9jmh;P9A%lN~GJdpgdT$GDqWk-aPXF#Y)0_R| znCtxC4$z8Q@}h=14XtL2HES+`+8U~#IpzD@Sd-f4xmJxL5Lt6Go%80f=44}nCehUhn8xA*DuM@oW@bt*Fcv9?!3Bv*Y zKYl5N%Q+pw;dai$C$}2)Zv-0wCQP^LjN9c`jX&Xj7_jcfy-5Ww@GoM=>12huyqN14 z$c0Hpn3>R=6ivhb$v^1pHU(*&-0Gt`oE}349`Uxm*}2sq?A*&o=(&>lZquRT78 zN0F|u3v=K2H#bkQu@p1hRkWv_3 zY@i;%PK2^a?|l?w<}B~8f$ulV7CABUx7K>uN|#~w!;bZ}0O~Lg9#JI|_S{q!>cs%R z>Hf>oOUoG~S*QKJH9Ed-m}W_c48prNk#bmLas$bMmIp=#M$3{GInJ7kIZA036@xN4 zFvS_ofIY5N;A+Bhh9)8$)=QVt&3nj*zU1nTNgJRe>m?y{?H$WSOd>AvLBK5NOeqG6 zDd#qn?JwkF_+Tn^r0nFqKfScB(s(>0v>e}uLg|6C;XUU9Lc^$bn0#v)mb=832J??a z(gZU;UFXQx2c(2526Qis^V-l&?ve{a8Sl^0WEO`HE|N8jpJ0@Y)n+@)Gdh46;sN+0 zpYDr3Ki51z_&Jiug_$)8n_qY&dzRa$`H?DR#>H3#H~YSsd?aPfcAYYPI<`$ z>yGz-%k4fMp-9wlu{ zYX7T=^RRILNUI%+c<(OMTtMa%U9(3Y_21rCR2EIxRo3?l`ss{r zCJ{bU02m<8#U2lqs?qmCad_!6T{E}v6dL=dBSrDK3XyHhRDqk>x%)h~& zfO2f&SS0xeD!0%jf|ou*cF&cjZjC`Ec}}-1}^9ecY%dhKfDI~QBhfq^B0SrexjeuYbI!Yl^8m|-)FgwN)B^hrKw7tOQf3y=#-NB zez&$_OW=EC#c-L$e2CT1l~0eDuczKst@1P6w$JVQ-Xy4L8^z zLIKY*sHGwQ_A10^%(BbkE}3Ys;6QwVps_Xay#jd?(z#s~I?@RnKT-pkb>vFYq$Fej z($^jMtrEo}py`p#>4$tCw+JDG5y=zMRCo2>q`pbl)MN2<7Y@5ww1hZ2{;gfgKJkwT z%Nj4bYBp)fD2Y}y??QAvwn3ZV=vdW!9QJ?z-MG6XZZ2S{MRo@R$92X_Tsd=erY*Ri zzS;KTQVmB3Iz#5M$r9l<)s0tYpS+OZvlBO>IOvDFNgGucN&Le#Cgv!7XDxy#tPA54 zvvYiLWawxbPC{L+JyApPYSY1PH3>X4V3tIkfW4Uqk4BZ>G9T_2>|}BW;T(eFcB763@u@xw+SFy z+EAEwWU(l7mS$?{I+?mrEk?Y7l6O5#aS#a+QcF5(TRJ_>TB*a!o6RT4kuMP+ z^J<~m9}`KdVBEhCaXqYTgSq8b2jyrCHF(@ZaFE1Or`5aD^d)wxVvJ5MS!nfbw7|Kt zfi%>AszVmo@6?n6Q~EovvortwK%+yLfeR@BaV`K05P$#}03sNVYvt6WBZP#rdN*Yr z@dmoEhKZof|I!|*!Rf`A$yGG4_fc8ktJV2t(DLi+1M)p#lcd*RPA=W)MP43Fzte2@ z*2WUiFZQCeO~7OZc|6@jYd+9mFvf;}N^)>NfLWFNu5jX&%xO%4(~Ir%KtJ2{WNu6x zzY$(d?U9nzy-(s$uR!u{S*Y~ha35Pi4m1B_xP5SXU6-?7WnO1wKtHeB6eJ>d(^b(* z>?=83Oi&gFz7&o>=YA@UP*~-9jArg05Ddg994ij)n(U|{Q}kx+BEq@vRq~_(p z-X|tpvQ6Xh$f+T!K_E;;_D$Sxva>-heo=gVwXO7{swkh!4ZuV)ukL|`gV}_67mw8M zN)_hFj|~F);8kov04T!TudNz&0zktghd8%1MAfV*TB?5lbqPqb6!W~jX|_~CT#>9u zC6A(*xMC@`+th3Le$fGN&X4i}i+$7*`PnHBx7La3w_tQ1nQMENYZOhmx?xl%x3_l+ zs3qx{c;ZD6zNxAANL0|1?e?qhVYjKNbEz@a82cBt$7`vN%?2HFcSF)sA8dbjQ0mv|8YlL+jzf>E?K?lE0nDUl}ygMZkUh)K5aAnI{kw zAv!hCw1nVpYK&|E!=cU(_y5BC+hpLcj`l3+DE-XV1Ex~GN=M-pA?Jxj=%GBPre<$f z{fB5Yd-lV1;19Zqcb6%qWW9g>ml`sQ`0N)ISbsHWtYv-)Uy@wE;=z3JQ&}HI%w+Mg zi^c&@IC(A+&+eK91yKzu8@A{t2SK!L-~N7(GJVIXWZ=sDAugAqK#H2}TDPCD?%dBC z4PUStdfLPwBz1u1(>{rJMia>jnIn6=38CjVz`N>7WoEr#NLX} z)8urN%DW?gqeFXv3rYY{FaQY*u&{$&KlJyf%O|q5fgf&-~C^ zV9s`sQ>ho23-=W$AnBr-J8jtW-?D60ii*pUH@gi1!AJ;=m)Dxj_OK3@e;d;5H`~f)*dw25v%uMf50)ca(0&UjiC~a9I9}xQ(Etxo=j% zM^CqRz z-emD>2eso^c!Cpn{{^2uEI=HOAp>g*sE_D}P=7>GQ7NunIaVawXe|gV;Km0fSlS-@ zhZ7Uzf7~iIj9zFdZ}v%H=E_-bXUN1_NYqWttb_D68Oyr`-$RV6Ew#dtTZaQ%oXMj$ zfKGN;uBv3Co++TM&iy_>k+hSv3Glp9)7yDJwW`+gTQLloT+fLs z^K0_ytnHH~07TV9NELbDr1ki$@yT;f2g&E)I5P`i$Jf2;xLI>d!}*HxGOvbbXKZ8P zPIk-1oLi(OzoyZ@gV2Nlwz4B-{EEW*8lOfJA$UKmxRK$|v7lFGl(`2pmp}+hCz?+g zT7FbID*u71hd#2m{)4=!1FL>O+4grZX>|U66FY2&q5j?axL8S-0BN$CqHfIU;cDKq zR~xlHLoH&rRN~|buveW=-~gjTu7L||0P!&Z2@se77!7Vrp9Js@pw?IvO^5$c)JBK`JN8Buh{--otbbU?OkZX3_VLL5b3VBFXdx^I<#5C-ec z7A|4m$|1DaYFU}N>5FIZ9?R6Yk_?WpqJUQ9#N`JmAd6RBjD<0b2Idh{B~TRfG9Rjk zh&FTnSoC^@e$Y-W4F3Hg!w3A;881|{El*;RGSXeB;yi_h4oUT7iLy;#F-~9@(TpXM z6a7#leD9n$nE9SFBaR-?L z-LZ=ep8VJ5UDA|kzG;DthkLJd)zT%dsyxwE8yE=aHONqjEOn)aWjC}1YGKeTzk-tq z_n_}(S;sgRbY^WyRW?_6ql^S0z~c-RusjS=Pb3tkHq8J_5tnMK%B zQWOPt)c$m<5!MH!IFefQ|3Q2Vw2Yd*XTRi=0PwOccaMDP(hOLSX_&^5{{kWvy3&~qlUJ^Up)NbR?Te;^_K*>~kwtM%ks@sxKf2_!clBRCUmx|2EF8QrMAC{O z9UsTKUB*cq6KlF>ScObUCDp#pew8{|-U8D=)-YV`-Jny&tz|}oLf$YkiFham6o&Iq z&}{h;M25$vSCt-}2;#zpD%WXX#7yH)1t!P~9jcL-R>`9{meub0y}JYW43wV|x$3A( zq_bNd@a)~!dpb1TMu0-7^MXCf3WQ7gQT!gj&EPH8yC&V)9lA(rCW!wHL1F1d+?}Qe zHoFI-PM?jq=LLoO#M53xUswfr+d!f6XK{c{^Xm57|LBP-{`yP{D*b{Ry0h8v4t=AO|S=*WcZaz9NI^k*ZsyxJ+5 zD4q7O%-hwq(f49Gcan|(X27cOEQ-y88u`9YH~u^};|#5#<0lwEIqGfv1QZsWtLDj=CwBq^0Jyt2*Jk} zw&zq@a+tRY*{O@2I%zCd?!p+deI02w^rJGD#9)TXA5W#La{0*IkH z^;P>{?W=44fi>wycLmr_yWai>#4@mnAWXW40~CX8cfP^7P^YxBy>TWvn7e1o>N*J8 z(rx8jpAE#p26GEo3BE=v6P4@VBvDJU(ew&!m%C7w!mD{l>cFrkZ}z6^9~x>V>+8=j z-gzJL;bTF;69(>SYXH?SZT*2qnF8)sEuwu#h_J|MLmt(V_P)u=u;i8v$v} zX)i{z0^O}5Hse6QTj@%aw>xH|midK{%V$Xks|w91$`D*tc#xZEPdEkDwFiFIn)U`{ zJpufH=G_j7sfpzv?+m`^`LYr#Zb`_FAp-3q7BGglEwOHrJ8|{lZ|S8e6=-74{ICrV8;ua>q`h-Jz-5%j z$e&wtiJah-`i)CK5+C5B8?qhX_SNJh(?{*XHRei3zrLUEJ<{~xd`yMj?n{}G$IS~; z#*FufY*{etA9?(;TRby7?e<2d^h}kM>UE8u=Nx0MsWrPV(0q|lUSrwn2gcjIn1mb< zm`z@){^e|~>QA@z8`x-6GhtPFh$gCz&dBK1&%ltgFs)eC!bm=ag>V7vF4s|b3Sf)g zxNp7SS>vaI4BON6%$9C%(5kB$8pNCEk}Atfj7x@7{+l@n6alp7?o@x$*Gs8*AYldU z;_iGIYh{BM_W;LpQ!jLxoDg;~Er)lC1nmP74f~=c_u`TA^SZ((jgb17{T&pA8Nq0#ovhzzF%oi*piS~G|hHlUmVjL1Yybti~^@Mz1l=Qc9j zLSD9_sXIt9fTKnqfeX(7@iG7j5MUHwH3dCz{)v`jcCj~}c5B9b%5R)UNz5+UbLJD6?VHN};Msv>65?ht z#^hdM<9w3e<|&I*uNgSdP^Z2;-ys?UK)unoUgh*K>A7iJUrY2Oc+TS=)m#0!BAIE! z$~_c4LmPVC$w2n!TG%!Ex`ttG&`5*h_frPKCnAWx3_#4erKbUyb8?JL6StB4Na-~H zWV9aYaXKSUCYx%=;Td#iXs0!obfaPhf8bvB_}FgpK?U*l{7p#cK z%0Vah(@jmgC@NC`({#A}DHP2UqqQW&%?^;G#EQK<_zCxDDIhyDz*Ik)7pJgTL6()Q zoVkFh@^^1WzL2Cci%oRRr>Au<(4M$Pfy51j5XPHp#JhJ1)W2WUpX51Ze4HWab1m*BDlkI=Ja{xUBe%-|&XlpEo% z?T8j^TGfh$@uh~nh~Z;;kts*WU!7y|Fd@rN-&TZ4ulsfsZV8m2RTjvsLnNil7w+p* zK%5VOr_HQmQv%{x|M;wJOIHf9<4Nk_${)nE0?gW$DGW;q9kI$o$X=O2p%3M|)*xBAb^>+qwE$o=!gg?T0U^a?D6D1?v1X zMrHYUaH&(bO`}cutJ4?2IBt-|9`{`wz#<3b_-IS@V7XEA5YD0`?>9L(S=M| zMOM}?Ku-0TiX#whO%~P69@-e(`odTGM%9@IM@IJD`9DnuVD57WUI)??%Bs)*tI4PNm|Zpgr|Chc{Y}WW$%Qm$U->V z_}xU13kxTn=NkT8d@=|As#_OxWP(Ao%<23-F#+~-reP0N-dnb-uY+_zqCkgbM`buD zXX9 zgL;85gYQXm)q0AP_ZEv&1d7;*%Q`K-63dSw1SUaWpa{?4(g+|;jot!Q*pqdLm|Xxr zweJo0^nSQ-1NaKWnkSr3erq^7b$P7_<=?qSd!BWsxZ&YP$?SO5&fv64>6NDbnb|OWgZnXa1B3FtD7LLFeFt`AtLfnB1@c?lw01FVj02mEwi?3w`X-I#vySJTTtMmD-e$BoFUq8Omu$M^MWc^tHq(^OmFk9 z!44}>@WC9vz&vFe^`rFz;$zdDRq%+m1N5>rEe65=mQ6#RmcD?yt|Ayd zRTCgHVhA8*HWa8|1_Nk}f^HB4Qz@LKX(Pe4|K1u#lL2M->%rjO?*!oY=17kcK4EKr zf|)JkP}d{)Y;sy>u{^Q+69Ub2l)u3%tx`Ba zT02-MA@JIqUyFUavN~0l=M~6~5J7^nD#kSMoYK6y=%oMTd7ts0dtX0{aglEOv#o;v zsBUN*EPe2mIZM7(^Hur!yav#hqBWVi=DMpl8%rVndm?=KVc-all9J^)4C5RZBYgO* z6$g&-I}RsJKj)qM{!M+|Ek;TvoXu^DH+qIMMKb@A9`& z$2Z0X+d#{+HvEvB%1~j-BAiMpf_MQF;=w5Bn*gioNK)>S?DfnLNp3K{;m!*l`f<&vB~}zjv5etZI{)qu_#mo;b10^i%~CWVImlRpI$>>A>s4K}#{@W@4jSqiGRO{W2!s5J4~`KP1tRom zU~Q54kJcLS&ssB#i7J>H)5#gyYxK|mb-DPKu@LuLdg}~`6LiQX9Qorzi7{tl#Vb?* z!?jQLnMStyQ2Nn(%ZAy{9@@FlmjFAm{@x0WL)6=3VX9d%eU%JJ>OEsdjSy)~)=ImJ zZj?AdvV!$`52q}8a;HDYFhC_8Fq#5P;NiSg zLL+%{LLh@0C*AjA2NX_6d*AAxlx$(~eEWoI(BP9^hkcHsXCM1pDH}9TdF{t%&3P}l zXFbN}WCprCV_8Z;4Iz??jw%sYK!H3?Dr8^O_ag+qkEx;teHB5~8-Al=x!2Q$W91!4 z9sh)w-7KxbdEE~0@Lw9e%jV?6GUQNQ=!bP4?k#wL^lh_^wIo8J7RvX)->oY`qA zM_&A{#3>wqA_<{~bAz?;#J9OBR?Rhp;9ilKql)bWd?YNMG;I;yx6>O;4SpZc@lo`a z-p2_esIu306z3?AoXxv6NhFLCiD&il}AM!A`I=?6&~j@~y{=1&-0oXJ1L zp9A#;MFTJa!wK~R9k5`(ZYaa=6+vBW^!-n6kH29HpBB>IVRF(92)&34Wv*isRMk^{ z8GNh>mIzd~qWNJ}5cfhjF@+x}$FO7caOx_y@KYEf2k)}4X!@6F^g}#|L2AgK$5Z_8)pYK?re)dQ+z=Q>`=8Mfjvo|{ z*?=Ft5#63Edh8%{-=@Fb>4$kO=YV5nh9TFjCw!D#s;u_Y+IWO4sEl z6xunTEb{aA6IMQzm+{Rh;@5%iMB&p_Bm10(K?GR+YE|Z}lOeB$KD_2!%wVOrY7hO> zmZEf3L~8^5(?tW)q5G#7g@Yx`epaHi@#%g0luzXR>ge^94zG&BfI#gWl$PpyxSM#P zl0Tkk)16g(Zad9Ot#^ik1tAGrqWsV5@<65zIS-~;o_adQ9g%4`eRI;#P=M@)46HWN zJD=@xj*Xy(ss`{6aPP^s&~g-%$;EF-Yfx9)l^;DMrUfB%>wo(W(9+`nx8`48XRQ6-1KP(e75Jss4NlhsFJs!B$ z3U>I7g~{QzlzsV|QO)d6LkGEVkdU)+7h>r&50Oemo04r9cU1T1FziZMGpO#rUmKqy zOBze!0hir;{)F`ap0#&tyZqt0G-zP{hi%C@W)I>E4H&YdJ{^N-L{k6pOdmb z3>LNPQL;?7IIpLArYEZ?!2OLlZ{Pv){L(TJLAH2fOWyRFE?+IZKW0QAz#9&unh5;b zL4C5@CjoyL#g~0(m4dST{YgK#-L?O28aDzzJ}?>T6(lXg1k{_dLYU+7W5s#bHL3~g zU#NxgBX}G=Ri4u#WOmq+p|bVonA{2N(_<0^Fm`tejz{q+%}YWIDkRIKB;peIoBzR) zVJk)#Dch|f&7q}1dhZlvCsGn-z9-%V$05b>8*TSUF~;|yOVL-K;`b2Npdu|bZYuBb z{kway;EJwJgDNU5%RfJ>o0%!i=BcIb;Mmd<=76|iB7O$Bgowv2KgY*!#4^ivqw%{z z!1&{6?er{H!XL@jkSUGKA;v8hP6;v}7THB8|V zOX`5FwXv64bD6;9gRbW|!5jwMDSRpiRt0ByiXBlDmIs=Bl%W*i@eNxwlMypnKVE=( zJ$j)q5Og_2*%Rn^0g{ovH#_rRKp<(9Pi6DTjI6)Ya z$i(6j_TN;IZkrt1$1L4x%hMwxb>BTG?^>)JP@*9vyfDHV7S6PN^KXXNuY?OEz6)4o zOxG(HdT}q`gqyvcQfo&yoUmEyP|zsCGO!JXo5MGj)l9p7=&NOZpB<~@r)`-6=QQtV z$$4yVQVEaJyjAraaybp--&h&uX|U_;Z|g``ZqVYiF^->JyrjMvD~7X~u2Rg%33wul zk>F5#AeH_TxY7Mqx_-YtNU|TdnO;z0sTiqe72?40QmpCIAo+zyKcW zsE^=1X_?$1?uo*b!9!puZ#|uHbDOSP(KMh6MW=pL;?=C{k(Q-40B-=$VH2uRz1Asx zR4(;lU_a&5nG@t|frt~d*-CV@*vpFG1FJt*Ot`1p!Qy6wlrxjEAQPT1<-eSA7`n*4 zqTW7G%(avDEeBf3cjn<$j|L$*AAy$@4P4X(m)+G>J4)tnSiJ{0okOp_@J5__i&-O9 z!8Oy(uXMSSbIZF${7-Dpq7{6%;D3A{iVHe+NqLGz&|1;tLaXHk1eyZfB6lR%+8C@Y z-Q=L_q_{YhbYTNbNcB5pZgo7AO)fcJo$Q{QP`O##s_d_`oau)Q(V1ve_V%Wep3nd(K*Am~{DEK9 zI=9=!bCmw_R=4%PETa#Er79`d#BbND4@Q>pSs&QXk-^%?q$@JT5N}ti62BAh`;a>c_w` zs>10W$~yB0e*jYBa12eO1oGX&k8v=7ZDZV%9g9F|RePF|t6rWg+uL)f4Nm^H>5R@0 z6|38}+be%weU{O4w_oY6GDdw%^;mbNC#u1+K3?UkKK+Wdk6b=DnM+=g_-yq|CVjYN zw)%D|8lGGsSO+`Adz9ZXV-cXRAU&>IAcYY=%T2PdLDcAQ5>g}kifDdM*#K3tZELKE z(hNRE(U7|N+Z30a=n^SmceRNUXwp+>{Nj~8hpdzI_zRW`il^Btbl&O#KXp#GSwQbN z!XR+(m-1l9ln|(jB86i~EEKq3kQOz z>Kx~yW|MZwfLQ2bB%M`Rl%lpBdmd@$gF*Kn+c&q!((3^c7yYatt~$8C0jJLF%8Q&j znc+#dD~{!~$g*CH4A8~-19SQFh-kK##2yXWVkJ)Z=o`P$`Yim`$o%=T7yvLgNspKq z%Z$M4@k+lK11Y(}&B1&b)9{!n=1?kI4kiRxA0e(9>}BmDS$fbqUbw|x^3-ak80iYV zILLHyq)R9+&MVCN@VHYwmejvRTxzG%hQ2W64QwvDlvTG-GEtZ`LiEi$Ox5`39bF7G zInQI33kI&$y6ehk*`bZ`2Sm1dQ}F#ZhoFE$b0Ow$B>Gz3{SVOtGUM!*z`{d5XLp@t zrG{p5Jp>y_8x&OUkruZPwF*h)4vb(6$NnOQKncCEKtcf*gdzxL9tk^D(X2ACF=Is^ z(DTk^*v^(Lc_tN)@xeVb%p1!y{K1x|bwOL$WnRP`T=C{5{+Jto;F#k-a)LF&c|Swb zOdGZqpstcw-Vc-Ln#)e7*a$`!SBL>Z1afX>abgf+1jvv5_pIq z%p~U3n^{M`KWYGB4g~m%Ent}}y~0De!lPevv5U8Zu=w*HftX4!M#B-Nlw{;q=@Re7 zkI9Da9G>h?0!+bLXHmu;!KL9f4PtwLz@tX|feg3+5i$S>5Lgs@gNepb3z>Z%;jRvs zIN+2?kR;R)(ANf9gH9lEu@bf={sQ<{=QlLL$cPT|=75iqDw9(%#{_54A0` zLxjT|dy}Tx`OsjUQqgBO4ib(~Y^{;H!KG6DwW#j)X1lUx$v+PpDHMNp2k?yQL^eZC z>KM|~8c2658Q?BhxY2k=5^&CuaMik+kZX(Ss0Y=ezLvi<2Jp{@ehnn>0$sXz;6Xrt zGqexEMO>zeZug^Jjl~ei$I?ic;Y^#w{Kv&8E#XBM>UHILq@+k75ID)^*tQD>o4KD4BY-2CcBxRO!9Dy+2l7)1wsAV{YI-xFi!yeFM^vq> z{*XV@4;CW8g{p2?@xEwkw0`TEdILPK46w#K2Mggh~B+vGZW$9_h*f=eoo1Tw_? zR->E}WLJdhnEHNX4miOPw~COI2${Sz!`OUiLmy1jA?Btarrnu`1sL1Xe^JG`g|*xD z1G!6JMqbY4^8K`k%$+-;=VwM`j&1CmQ5n6SMrTFA0s#Rs?nXS3i(&x|Gmg>ep4lSs z1VF?BVNyG_VoU0JCKyVHFfDMdV`5BKWlU2)nq4SCC`1qwQNZy3ehEN6rX0mMo24 z&SE_M_*(BRjVl-+8F*iwZCtuS5>faV@*M(ABP?$Is6XQmCmMv zwj@2pA@JKQ5?NM(_k4sMIRd}I#Etqxpg!Fq!lQ6T3KL<@XGXap(2k|mViL3*-QlbQ1|#FNAJe9AC6Lqg>^x)e-SV8oWOnH> z$Dg}JMAAv>j*%NC6{!%TwQP1u#36r`^CSNxq0L#xP(Wml2$8kO&Ya!4YTnHy+b-SB zmM({+pv8c15b@Gklw+jWMw3u<9-L5xIb+vjx|%^O31_y zfdhVFZH@`^sr{kW4v`^TBwLwUsM3-F2AD)a?`EXE+sr(i4Gp$CGR;;YcT34lkVZjA z_}r%V`m;=XN4S`iqIbfY;rVZ;f{c87-j~F?B^PD%U~%W7+;H@9KaPHw_mJYz(UmU7 zfj`9Zm^49u_7T&CH#ws%BuUrMqu&6A;tb=`5XppxV*b&Hh%AW^l-fS?1m#KyVz=9W zS`QntHbb2PO?r=DLJGXB_1UzH`^F3t>{X+nE!u;|WVdmS6Duw)HTewbu0^!nmYzik z>g`6Wv7$4uCXHO;KZ4|qpDE|LI{1t>%u8D+SwELy-u_aUlvl*KItNH^=Iahm>gM$l zgTE{?84dIX0?z|uE%a}{4OCxE|nH z?dJfi_)nsM`^b1TEhzELmg}SkO%1~)2){!TEH_{DHqP(8{)P<&wk&6}9QD0~^2Y3N5oyu~LEL$ddB?+^ zTxtgKr#&)B*O7CkcgnPuBVM~PwW%sN0T7qYlY^5AOzUps3?&14kN7N%`T!9a01FVP02lxs&@XT6d4yKY&vHe}Uv8hCAWOi+ z!ZPFi&z&If{pa;Kczg6EI^gaNsJR_jd&vPkd0F8AndS#HIl)Y$&zdr|@moE}=7n60 z`B-+}5zMA(>q^WQip6f&?|KS{;2FONF(*&nZ_k;K-g=$?@jjd=hPUdUY_oR-gDYT6 z6VcoTK&9QZ#5{FeSP^;yAuN_*HWJ}24NwfUuHj5345Wt@T-wnlWk(9dpCo4MCPw{u zhqSgJ!u)Xa6i`f!k=OS%5G?v_e=5KO#=u$LG8ff>(hk`zi2xv(7%2O?E?KA?zhu^r zWUInZ#X!k4iYpWN3L*H-fZol9g`loh_9aGlZ%saub7hY!wH3Q~ybSqLsze=WwB?2C zTNl^`8g`p=aKcV;%Mg_`dzI^QWmY`qV)98hJeSnnQ^-VcLp#AOx}I~lnK`^4_cff6 z+PnL^4dB_Ak_U*hE6YhCR2WfwYl664Vql{Q zQTI)=#GA|MXN9eQBiS_Id&lU!Ffpb|_du%B*J|u|?qAw80I*-8fXX3~+a=5E_O3kgjRw^1>6k#?j>KjiB~L?61nLTjIcu346p=W0^z zvqIXcNvZ~;!3-YZs$(N5HIuBuYW8nP-~VW^r8Joz?p$Mx8|%6uUDFtY>9hbzqpva- zb00^r;};z7$dj1FAnJZ@f9Nv_DZ4cyr8vWIK=RZ;2vjt9dD$R5TURYH7q}27^WZ(D z_Ti6;O%#g5nfp7JXfn!Jvv^Xe-YpR{YC%$p9WE6i;mAMf3R6?&djIm(OG!9_z;l~;<7Ow_8ll4XbP>=uZ412R6eC#b{KI0*lz({ zrSed-uJv6myk5yyF+7)yXH@Iy;;r621MOwUJYjxgrah9I3-yY#j_PQj7#Bw?sDF;0 zEF^QBL*|UvRGCUzHB(9x;shh*1Bv{L|8Awag~X|I^P{o)>nrB0fBN(fW#dglKSmox zj2=1)YHG55UtuoVY3UWUbz5`kT(OlJLfLw!c_f@3 z`e^CDjQYr45FUb6G{4Cm&moKLgvuEHNKAvbfL=>G*XD-lrrRR*ZF&OQH!fp*^qb36 zQhgC3Fj>+;6m2z-xtuOsG)uCH)M!;`y(A7b(m+9KYv;(vYLKL~EfA~;_wlqc;buZt zul?t&6s;%U^M9mvF5YwvFHuOtvRzT?QAFBScQNQzs-c9H8tEXlSr*g$`G&LJ?7Z>Q zgl_ul24G*y+{(><_!YFNxcIijHX{t?11pg~PeLXY<)A=I*Q+0n%Zeqrb$ED<4YpBt z7j<=&fo<}}Z}}X}BYH=X`4#;!8#ySzxK_wkMT~iU7L2>T9O0Q%Sh^oaKJY6fvFKZ# zGC@ABSQwY1|4}`#yRazM21fn?MQD!EG4=`$j4|^#V_>=PYthTOwq--LU44B1&Wz#f z5AOoycNk;TXgIt>i83_AInHbJSNv?a#~|c?l-PVR@N7J6V6=UvPTG}-dD#=WQvh3p z(1hy&{)Al6 zKoJ9!xzm;? zXOO%1|8?owxI=pyr~Rc2sHonQSz7=bE0|)|Sp}qR(%1tPytm;ONiO3E9@VAAZ`@j5 zo`1-Vmz8(KUtecISX)Dz4>6cgtvR>yjqsCrM`H{P3&~lN^HK^ZT?Q#Q?PlK_v{H-`NB%xGb)z9I+^iqJD`+u5TE5OB zUapUlht-1M+?U0{U(})&N@v*|P}>%+m9K`5gCJ!I=T*K|i0L^AkYFkz_{zKvbcbHc z>9)fqkU%xX@~#iDmJ0{IRH=>-2~HImn-jP3BVzH{Uz54g73cw7&fKr zQ6UyRosm^kJbUH16yP>zDt(8tmx(^LFf`@3v-cJ*cVp}ZwK(gf_8QH|o)#?UFl35_ zzb_E9c6$exM9rO>D;FKGAcHr`$;!<(fVQEe7Ncp1#3-^?CF(z<^Vi(|Y4DrEIT{|C zM|D)V!0DTWML*g*9Tmi%0qN^1&#T6lAEgaY99DwUNFg))z%2l+J=}Ylk+Q;;&{sE( z3?#f|q^5})=ct%}NYP!!*tD1S4#^%;t#7M zt5;_D`oW2^0@Bf2ya~X9VFj0-u@#Gn?j0R@YAr%FKv8}$aKNKOpn(m40P!yX4G@q3 z7yu)HkFWLEWbtnaETpCxJ=OOXZp~70Steg$PmLRwSb0`GW2%U$oOQfm*uA3imZ&+T z9z9}aby^e4r70F{T2&gu`|*QNFr+mnS!*cG2u9zC19>$ z)Rxs?nui?RMp&bYE?p%R8;To)8HsNwvbf^!;!r+hXs3cfdWPzcyg{<`4csSMC#?Q8 zIx;UVGFTos9%PTIM>phI+jzlT|RO}?^pzQss{x3guY@ofXNL?0{# zO*jMEb-5RJH>@5+Jez79E+t_9z3rN$b(sBzd=xqsqF4vij2+S-PW130VO%cf69OdL zlKC+1y{jI4=Sn6*M*bk8Bp$u5t0h_DVXzpq@3YV@FIShiEDzSu`xWOHM;;Xe`|rfk0fYl#03khWxxF)vFw1?(T0QbD1-`I!LIKTP=$x$5gC z*)lNTc|`GG4LY1J=0UE-Yg9%~C&}ueF`4jA(Mr{Wu#{p2DQ+$r(j1in6e)N$;iiZc zxPfh3v8mx_6vjM7BqCnTdk79WbdETck7i>a*GBU--%S;=M%UBedH* z7`m{`99X{zs0dru=1Gv)V>p1gq$yQGm|!;(+CDhCV{?#W04QB#XNIe}J}^-#u2%&^ zsP%TLXzS3RBC&)a<^#i4g%n_Z6r?L)8J20RC4AZd0HZ^gfeoMl@iG7i5TF!b0F6f- zz+#R3mv3U+11~H{g^Ca5eEx8|2G=VwtHh`eep9|QdXbRJhw&NNJ%8oFqZQWqMX+@I z$f#=8(Z$9t`0f~T0qMxHCc;MfczNx_TZCI|UKn(9sUAM9vA5q89pkc$l8v;oxkop% zF~=;lFD8=#Dc~2R6%wO|WhoVeP91V!UsJ8mpo_ zwt4}aSZYt)iuQ$R#p5LvGSf=W42(JS;GE#YNTxLZ7ksmtX@u80J`%%jV+ zRg5I~u0f-QBRl%5f0nK-N%Yy*eSqjA0WpZIky#M+R0udIH1q7|l{+V=M9w?FAa)Z& zomKoyTV&tYCDM$Lg^>?J-T4Cv-io8xsa$A27sdWD(%X7%FqV6|H`U5P;bU!-)C>i< z?e}7!Nhi9R8iP_Dq{K)iLc8wZH6G&4zVoqgHIq%__i_t|OMGFyv>Cz@7npbS!3W;J zw+ZMaT=&8Ep;wbIv*#{=m`i%}>(6SWQY7H32HvXVN|+)(K}WP$6Xo=z#SE-g=Tzwr zG+(3ZiN7w0W^BkQk?)JRs8QCIY!|pdbyUWYT^T~vtecY2S)n2(?S*(_EkwJ0ZG7Ct zmbaNt9LjUmddu@8Wh7=v{$21pF2=-v6&!WKhEQEdLv~=5%WJpJ&g?YhRX^p`I#pb} zh#yC?UNL#-E#E%kTN9+}x);xg(vp6W={K%EN60FL6PQXc=)3QyFOs5{{J#tzndh5m zwAB9(Q`qL>a z;c-HgTE8z6=eg@EHjKL1e*jtIkRq>1_-&Lp%|1nlFwq}3j`Qq%;F%PuL{La~lEuqC zQmH=(avP0lW7^fVVPRhU#AI7uMJ1@d(ds3O!9|KgZN@~F1kGdSAW#ge_8(*f=^7B} z-ayhkY>`^FkmzD-ij2sDzv-OFqeEMP4Z;A?F8~b?umBhUA#pc|8R^4sL7k}+bPg?^ z1b>G;&aubn?GMQwc5PCCqpFb&9$*QBru!9AQ=esQ62SJ}p&0A{;u zrbO=V-}9IDTt)E)EVxlU=-RmBoCB)IQ5L$C#EV2ed{nTsXM{1V_yIsY4mIW}=_scJH}AFmz&$3KB#NJ( z7{8pF#Xs%lBFHmQCkx~($|@X#lfn_qbvZ|hPFjNzR5*fQAWeuF0f}pxByme?p4N+j zxT><@NGz@);}&4t)0?!ld%9*+6Qnj^1}mSS?5Y4igA-Mamnz+=0P_SP9K@vnPGo3# zY5iVv1C8v&>gn7^b=$*Q{~i$C=7MT%Q+@*ALSbU`x``61p`PHqmeB=}zR2!%r))@JNw8(-z`H z1zy|p$*p%k&*3fDk+4EhQYYaNr7y=^i<=W){L|0C6e+4-m8f7yuw?27l>m63b0)hK~&Q;gj*dS%aHq9gmiD^ctp7NaHOMfU(J!E8$Lw7*v7L^zK|4aOKoue#xP9!B?Twf0|9(PiSn)2gCX4j08QQB#v0+j- zVaEs<1F+ClP-=aE!IbLNQA!e(jVgt>RND(p;00aX#L1J==M1cN4E8icvzNc|T(&*F z{sGUwJr$pjDyhmgyJ&{VjLmg~TIQU}`(PvXKEDJ#$5F`~8*#8Sil4$M8jn3fGkFww z*KqBed31bHOHMRP+8}zSjJ*&2Jh)Uo9`@*JOIcGl=-Qc<9ojls-)VlgPQzsJz&+yO zmWiQ^lE#6RQu~o0B~Ebdslh_}!b_CjpI?vTg#Le={lfq{IlRr5V9*PThP%nBA+=6= zezhe~69Qx;2QN-UVkLi7^TLIQ;=@nghI=xle?AwPnWxk4o~Mm+03>tDhu19@B3-Na zTR?V|8aO9!X8no%g3eQxR~}cZgmBo*{cU(%YBjpr8K~HpcQg^P9$%|>@N|?Q`q{GS}X>5RK zy$a|;e-a(1{QRplX@zx_xgHu|Vg=j1+)j_r|$UPeW?WT`&!37__)`&oPLnMww8EVb|+lPy8?w$bH~c_GH@eWwB7au zBqcR&PYJ`YOL!5Gpy`$955mvdG8QLxYR9~A(gD^(ffidt3MUe1&SNk(QQ`zpj%M7` z?2$g6Xz)4F8~Y>umBp`(CBCis#%=fML0<4+A;kF;d^Vm@g$H=BibIF ze<1^~@lRo%=vI841kKEFHHgQ48*ln#59wDZB|K+WL zs|mUWn}E~22%=`OJ&26Wlyik+89^~3?qdieA5qe>?g#~ax2xoVb8!uD<0$f*bl-M5 zv3snR?gxb$r?zIxZiVZ|B_qoyZbsLx$W^$2a&_2;W;hgYq2NHA+1z3nCF;4sM05A3 z(z?A_h5iv${FLvZwMP`~+ot`Xl(C`(j!*KYyX{}e|aik1mKSeGcxrXPyygY*SxQm#02 zf&C25eXV@1wLQZmWu4lnS&;DP%3yw}=(&5KOns%gxHPsewx@z=`w2LZHrjBA3v~q; znC@|w&lqt9DO5ao)&~DUte}aU9l{|kKfoO`A+7=(1cBy8Hh7o0=I$eL|MxT%>pZf> z0H-dP0ws?nOFP6rsw4X!EJn6-v-oZmB8JaSkikCo?z36O{J0&*EpaeVeD?l$A+d3~ zqSfc|g-;JuQYgSZxOFvAijC(YEnZ%ixiIF(se~El#jR|lSZ^l}QDewR-}@uR)L;L@ zrdF}~s*`U=@Emr;J@S#8YGdnDrq8OT9fHxip+%(ZTsjU%vLA(ycz=Kai0E!{RE&m~ z&o50-n@cRc$4pahJ|SMqY1`hFH+xJSn$0b`=^a`O5|zjY0OH}B`OcPTaABdpF#*K0 ztzUw@l^1Dn4hzdh>sf<*06f^KKc2n`idux;Bf8+;0HZ^Dfes}AF){!Q5V!ys03yL2 z^X0yKQ^BPg>i1l!TF$?p*YU5qr6PEt>`5?_rlMH0OBXn$< zh5qibI395`DUz`$FZ6V}y)iW+ih>HWv=`x2fe7qMY!3-`@>AZjDeq6?>M8}oFrnv| zr$4v!nU}R++2HQj7u|;PccHiSM48wny$-z3G}7}=UOu+eD4=md>bpSrin#cNFTZ}H zMZ&vRu$7%i25>fius7uz$$E4Aue@q@85AE-GtjxEhY7UjmF=%R`Lzuz$QD6UDZc%~ zfBOycWP{UIVt1jrXp>E=gJ_ypsNP4FM$65Yd+{VdJeFPJh+Mjk9MGs-$x@MUGwQXh z)@<)TxNrk_bJnR`0>Z4u8htz$7yKQXVnAFpi;cR3-GnCGh5EEFAUwzEPG<0>i$-B7 z3{dV+k6gw$%CbNODHbdCp{F6IWoi6UZ7t5q1uhj-uROWa8k|B!9MW z`a{+yFb0>ZvE$j62;<2Bp1wz}0;KGgIxlO8$+m|}Lo!q?pLoccRG@QMVLyWJQF1^v zAa?#|i{GtS4|}{a7iClm8RLrPzRb>Hk0;LRF`Y99Z4<$7SWbF1g!#kJr{sQTzK&Tz zWoufl`iIm8p4@S!WgoSeuEg?8wKMlQpc0nMb-Z3jmmcidd8CX()vvw6GXBCy00YcW zJ`Wi>Q|N(Q`Uq^lS4>(1NbPBW;E(rdsV`+ed|nZIt>SUr8bcGA&faYCNAZR43!Mlp z4fSBEsw9kOl^b52c~c;zhJ19(BLAYzjR0yqFM+H`@=Qw&CPot zPAsq0=nzpQU6gz02sVNx4>GuPVrOwMr{^M*vYR z01Xhl02pb}f)U!(i7qgrP=KjYn$69*$|gTuAU39W>pEXv&~XuVyZSgYmiMY8Ybr= zs;o<$jwh2y4Pb5;jz+wi9izcCPf~=pus~3DR~}c0E_n^OP~uINk@wh>b#_e$g$_!} z&cf@DLRfV3$nTS~e9cilqOJ_>b4_WPl9qw<6-j+KS6b@$)l#o49GHBYN}V%d5dr}2 zfQ)`Aq-&g6l}fi0d=KFwd@8r=WZvNwXZqWax5aPPHw#NZ1vo`=lUFEF^8{`WwQI zuhOlIM{YEPz^(8n=JWIxY&{4T-(_qrhoo^m;C}pRya(cG=_}r8Iir!0%$+#-xr_d= zzyUSJy;?omlGL@VyL7}5Gb+ThlEg*74PMtl4ezQbe#gpRN;0Bhw$18TSOfpbrNpY& z*x#Wae{Z)P;DWUtf3@jx8Rl|IBS|u53VZWJvc-+QwW{tlVaWFNSdx=9+}pzsL&y_C zT#;5G&H>`yJ*q>pW2p(zT>j{S3O0$iFD$6YTq}QS9f#>FQ3k$W(zOkFTaYo9{i$81q&%=OdL+Uhh$=DuM@vi1eT;#!lpz*t9HG=r}bxKfobt zFMxyh>rEb5JqO5`36&X80HZ?wfevT@Q7Qln5WD~w03z^@epXCF0EjXLp)f^J2KNnjRRH4O9ujKdH>ZW0#NmzNY$)7 z76eflHXyr53|V6}zFOjn{20Lzk(1$2a+cJ=I!9-`!-a!TaaMp;Nf#rFoJschzu5tX zmF0UPo3(C3kiC-)2jx35iTGyG%&(-F7D z*$o}BqOhSpZAdMuh05{#oh|l|yp?8BCUZo`)$5ChX|-d{3(acVA?;KuyZb~`8vy*E z6ZM9|AW$W_T@wezKRynchk^4L!Y?a2b?3Z~eQQ%&BzM?Tkin86p5hLZuxW1hJU<=BK zB5Q^zw(Be|H1JEUN@E00IoYnXp(hkeBJhI^$p$1l$M_%LRL+Z)#kSlry=4p%-<{C9 znC?|53>=suMw9)AshF2Q@WXZi<#%B8!X2$7Q)bF-HADaZ!vpYm+D4 zV+Gmo{lhJ=HP7SS4&^3y>>IWsF8)U!#TEl_>9_z3IT;$1TQ@%dI{QVdHk}F%Z`ow{ zH=}_SP`@`H-+3V1h#fws)^zAW1k+n(25p3XfPIDUe)#;GMT&D1Yar_tFP_;q<@-k} z9ggKyXY4ZleK}|$745w9huIc%@(iv2&+j=F{socy4p&Qxm!geyBMYe|{|KLb5AT9H zo0SY=JQc(Uc>>bG-bkaZ`#-x3sU`SbMm8A!F43XyfZzfik?y~Or;iGVI=4Fv3&q5= zO+UQlSOB9*7l96m0I@j$1rS6Odw)9yTv9k%n45^DMON}1$?8h`2*=#RVkT9Bu3xvg z0^BS5wwc1bB+?_(j-%wcE1Ox8;xfLZOGjia;YG-$d#h%Q&Ra-V5{aoq##6F%hhBD2 zrr|Izqa=PyUj9I>2b|A63N55HA6rL46n% z^1b1^i$~Yk9d{BBQZYeKqs6y8kI)d%h5Sv8-WtuNI<%Zeu~Gdy6HB!3rLxon|Bd)S z#$ZxuXKcM{F&FJ2e_5coP7nUGEIFlI8yo@VS*DGVO3Q?N=`NOI_WIu`JXK)UYRuUh zv-^;nT=o-iTd+JHX_?DO@Ft=~Wx@Q7(-@Bw8vWywA#%VFLWv}NaH-HZ=M;3)o>@EAuKLYVT@w%>bT#3(UAmeRwhArSS z2JJX8VF7zr0e}hTjPWBD@LqS}EuYXiu^=O>?Hgi!ymLR%aNRp0%pa7L5k`u%ZB%afpRU^yq?r!5T zC!3}X9LdcwL=c3kQOvSttrZZfKTM(~CaRMT$?RU|_1ZUzwq?9KHI}x@IoT&Q+~51Xrh`PG+G0W;-oa6(4}X{wH5D445h&t;YV> zm#pB{`Qk#;9EDMQs!Nkt17di>X;C$P zm7PcXfZhVLN*Cg&*%?f?825EplDY3sL69O)M4Tb&mxHGhIZSGG6fL6m?T+|XMK|X@ zYEziE9g8FR)Zzt``SDZ}^uTbA=DeT`Lo!KNhbE#+0nmd3pGq)oHfLlTyF&SR{58qz z>U$|OSg$nV_viltZ@yx|eF6sh)AIDK*{`Otd(5Lb5M@GlCMdFG?)`o^#LBh=HxW;p zFz~kS;P7!lYaR5sptfo+aPg1{b<*)lzwr4ES8Ow4PC?k_(5sRvHNFRgLR1hl*?JwZZvw=XiPGPGJM%oJ^G@-D2VWHpusp|w<=!Q+p9L8 zVpmJfYf+B+BXG3}p}Vys(>_o(#{u}ZWmlO|qTBtO_r|JzBr?%Q zsf4yZLB{g)S+Z}%yc|1LnV$oYrz^VIA*QC-QAUZ{(?|H#J2qKLbg)fKWe#cNm9pfW zHe{1tmTp=pKW(EbvxBhAAYu~70(v%oIx&U!8Ag`0^)w-sQf-b_&OCw+yJqFJ0U53B zXFC+}h10WY5<1zPupoz}97VFfQjWWK*it=5q@ZYXftoB0M}dDLXZnhU(s$p9R#~32 zTSLu#WOI2GUO$w`s>K_2S}g;?p*7|r-YZQO`Av9WBE50f^L5wg%4nr4zYd7}Jf(P1^i zEHX(~tY*s?+fa%bB~=@VbxVeiDSHO{vYLmxKu+DYMjl`|fMC`44j+=b&9tlpKX&@} z|A7ltB;}a0N-sDJ?V_k5I_Cw?*gUu#2C6EAr=>?juH?mTFq7e8t9MNE_XaJ=yap zg4grWKKeOh=V(%q<4>qo_}8^#Y$fiSnc>P9eDj%#r^I8Zg+WY;4KY_f@mWZxHp=H( zSpTH*u>7KjR$A#pBi~%1KV4Y;8}s#OuuUdHc_f4ybu!d{#Ya6H7i?);2hPY5nAy`#}{ z%;j_P%zIPhjATD?ECSxxa62ADqh1jWTuP{m@-t-K6U*Z7sKGerWN_DxF{$E-VrNmx z(g9kPDh!jsc16I#9xX(5QQ%9&iyBzNh*!8reA_X6hA`Oquq>V#Noh~Zxu*(av(wt= zH_d#)anM=2u=`SUKi~O#B6dCN6-)b~6e~O*)Ea_BHIWQ#r1z0=HLFSiv_&zq%qDnT z5eK;u5QXj3$8X{}?H)5BTb-sfN_)Ucj_HgveTl)8xP0T-(48WBZ%9FnEp7H_fmqi# zHe6tCOY@8JD1Z)fl*sld%#J)}B(mQl9wb!_*A{-8rbPsB4 zg{I^KR=fhadjN%CVv)aMS%Ifh80k0dgofuBESg12Fmo00|Mb$?lr~ag#G@mq8vR&7 zIo98zd<1@S=_s|A7}!J_@zcZKQ*MQI&Q?Nx%T`D*oB581Rj|I0L;h?T+3Ryaqd|dz z4ypjr8~_s#=l~c&-0<<6bJtuG>qT-f_9u5}mN*C<0XN3&V;s(72_5RD%aN~qrNu=i$|6J)U=&YE%|-P)LChoR{-0oceK&|BkZU1 zipK6xXPq&ydK+x_mUpsG{1Im#X3!$?VL6XJ4R|Z1sAk6kAj4ELF!i0T85tF6$*+YZ zSb6&xKaX!=bMJSepfzrI0iTykCY}I12d1?^RXlbXLKE16rp=e+p(kYxP z(|5Mr680bWaF?ly#$E1`vAv{K5!TMDRXJCb?Qq7X z(a+F<_U>_(`hywm2yjlnvX0c&drpC{@~1LEieJ&a<}!BLRumWs>9084ndzF&M2zd( z?f!dCnOK+mw^t)yA_qNi@4v7Bqe1(D4$J_tApi~#+yEE=ACNC6>4>zcNOWO6)MTUMnCG2Mk z-T)`g@J2{#O?Oe!ZoS_kET!AsAVNR5j*|ab2m0`1>hA;WyXY1F1n2eKrz#<``-+P4 z0Eiq(|1Y60U`ZBi6OFwNPI? z?^TrcMMZo$$3}=Cj`zn|!u}5|@#5w_3sXDcdQB-ud$ObzF_X$jDk5T4=wmBLY<0n_ zSdvY{gPb2< z8eYE>YjaU9K)qr1x70#?iL;>RPTA}5)-@yLicpn^ilML&XrRH;VhV&90X-f*&CXV8 z_T(0DEYWm(2zt!WUV4in0YOCN^#-3u{Z)`Yj1j{^Wsu)JYOC_3j+V@^bLe>`|)25`mJ5Z9xyG!Z;|RKRzk5) zsy6WoCD1}?rv4>BTa+Gi>Q{k3&gljt?O+(xMgK?^E~G~Zdu-$DCKB+VlTp^iQg=0rg59m~8JexKzoN;7FrE z`+*NH0MQ-*4G^>d7yuu@FVE;l1^cEZxrRtgf$2&~%6TzOYyN8h-_V26-W8{*Q7DLm zm&W|$o5NW5?JiPD=%7n3Fu&4;@VD+Vmp=X1kWhn99CGJtpR(i76~6V+B0Nwl)Dabo zgyz1Foo)vE>qjGx;tzC(a37v;atDB}j>wSlScyH6?H5PYS;lZ9B(_Z2TmKr~k6K!^ zw@}Y^Q5OB>>4%-~kv+tvqJ3W1?VKbQQpy7)=oP(To+$lA@>OYK`eOQ?t%YmK4CH`< z=+mw!x1F0G-TXn2GbXp8411>4>j;?$K*HP8DUIvfgfF^%yS7zji4{~|2U|m~om71bn%NG(|1{D}re-;U| zrRDXXS`DY}nPpunQ}y_tKq%nPjg#I8frhPs6~ncQmPnH+aD`T&H@@#EV)-Q)IfW?V z)FAEB__)$4kC;!rl1VB1sdo|+zzNq5hHa)aB`<1Jw6hnjF1K_5qe6~>4^RN{BmfN% ztN<7QA?RPP_1l^0S#C|5?Ct=_2fEC8O?pSoR{Vb}WrrF}BY5{Rix$W91Kr5&Il`ky z1nYEVNL9pO=^keHv&&0E>uw0B;Vdr$0kNh$41cG$vXOB#DZB*2eHptDMyH83ywh&N z_35nJ(^FwajrHjhfHfyfWtK^(Lpq#`)P?u-^@sSD6_WN0?2pejR8end`YC`KiM%kP z7t{ph$i0^**;og<%`vD?z%|!^wlw5NWQC7UFf}GjgJaG`5X;kYEFTNbvUVdR-JRF1 zV7D*bv!vUo*K;}#@VJBI=AU)$I6Fu+8G@@HG^>qJPD;6xbnAw2&Pbbz-!Z#2gEnzTe7hkKcdBp*d~r9Zkgsp!g2KA-N^ zLOJq=Ay7lbYQOSp+pufm^xuS%H}56}lxY`+ z(I}K6l|(($XsrtXiuR?AturMa^&;7t92CzE1|a7gcM{u*qVIP>&`(+$x?l$K$1~A| z2=BQJ@>9pOc*98bT$RCDnpZjL z7D{2L?b$6pVq&-uUgi5fyFdwQATY!07cj|NzpZw$ulh1O@0~0nbiZ=p*m};P0V<`( zb*c}~_Ncp9fzIm9VxwLS+iXflM?*rtlo>)Le$uBhzuJJ}KBivg)+)k)tpQL5Lv<$M z;i+gQ(xc5cL`0(MRU2W8EqZt*5Tiq6fe&&3@h<=k5Tq1fHMuh8+Rk617el*1$GV!j zq!5ru8Rb4%4`9&gC2Q%V3p*E~NtX8zBP^T!6L+X3;#h$ST>K~m-ff+h8l`5^J=rDj zkzTAcOpN%KE7^IE^6Eh*9X5T4Dd3-xXnC&Mc-=GFh84#uLzHV|1SW$k8% zOXvl>viU36SwRt59}K-6E+RL5|1ZU~Sd!4k!^ngj{~7zo1a6tRqaP9c)W;mU75BC& zVYVQ&Esc8u_uD-G(qgc!@ecP8gp7O5LA82^z{mgfXq8_S^_Y_d7gxN%l3_Es8$%GR zbWL=RmK9Ku%%rAoiz5xczkY(i>!}QSd^zyxs37nh0SD5B=un@rB5PEg>!2R&TYurE*`=eq+_WUU_fAf0Ahq?ILnN=+u<} zw$@io@KP}clIhB`pP{41_~p3XZ}&S_P2T?4J40`WTgQ~`h2ndCI6P*GFxkQ6;hb3aYC z!2L%>DD{+5j9b`O4uI*S?X`S3Eb5MelI|wu?#+M|q8yR0|J0?+Pb(xQH{TqGNIrer z9%7i_Ip^p%$;%w-e33>uH6+j(GokgpY^xSc3DUPYtidw*97eAcwb47u);^34txDj; z5}_F(GWl=}(WvbAvhAaJAt$aITMAuILZ%7+HA>2V)ENg=LjMyQQ!wp$Qj0#@rpFvk z?_fM7oufG8%p5VfwK)t-P@*C!v36#lh(2`zcD+HyFl&iP+8Xi*DXcpOxPVB3WGv9H zsU->}J>Ph^dnbY1{A%$RY2dgzM|9U?7NwZgTIfNZGF z(~c^nCnNrzB;aTFuQl*FH2)rIJl7#(B^-rcjBhzN1r*6f$M?;KZ-m6zfNUYo$e6&H zoI{Z+hs}~e!|R;_2GIw{S<PMFUt~~82uPdLQUN{3i!t&p@9ie{$Em! ztt%9OI(RSuqeA$B50d~9E&vk{-~bo^BZ1#o8Ud$fkYf7%a06GWnMt;5pzgzD>eoh_ z!-bKNUEuI0T3T*f-YTiF9EkDDfWE4U6I8Fb&)+Cd=Y{i)I@Ei|M#2r%^o$-wb?J6v z*Z)LC5emZDWg=+~+>`Z27e%m|IMLBr+*awWw2)NQ^1UNm^y*`@`3rM9=q)S$V0p#M z)QK55V~%Zdg%P1|r=3(syiftj#6qrNBt&9L@8Ror@$iT7jn#+H!k-UeoD=Z98-8Kw zwnAbOZ>o}6-_Lnfa4lLXlCiPIK%84~haLNN4&xXY5<%P&RN%!D(iSV5e)qcA=>g`L zH~LsYxXfBUh^jdu@D&Fy8FWfC%Z1Ye$&MH7b!U>xiG*X{Dk zTc#cC5-IUm$Q}Az$1eEeEyk?rH~=)~;^l&K0*)cBd1sSO1S(X3n?t>Giv7fS4~`;2 zV2xdFfwH)+g2`1VpK;poP*=<$(1v=F&_#gCr+n_mI-LX-j^&+O>cg$ltb;UjL2WoQH9D%j~>zfzzs z5Jbw~$s;fHbRf=@RKl8*713;y_La&9H7!MuDJb1Fc%Cy+8j@fLj!U7ka?u-#(i{^eXy3hDeYheI^~z__keBn7NUp$K5I-nf=Rvxhyn z9l$e8Hcoz8{QY>N<-7c*2|ZNriZ5pk#6JMR8L1SclC<`t#cHOd>SN6b(ykJSX)Ir_zl5jhX$qtVKGF=M9ncUu;yJCk{R6n$%0bs7`XS=+O+PTb~66S7747`+$da z@fe+OHaVG!{5YPY^03nFKx9C1NWNKju z7QFk!gQTuFt@sa2i27$psZgb4jvfUeis~p3a7ARf=_ZWX1r!f+Id-9PT(kQ`>}nf> z$M+FjjMVV#{@(k&PEJ@J-NR=HJe|jogR`x+liiawBP!4avkd=N3RgMdjIP8j$iwl$(hd;0i>qB1NclsGq9_vdJGL!?A80Cig-!1q?f#&7#WA9I76DTsnV~ zI6Y%jfmKDJw7AjV7Vm5e*9eTPU>a{T0nUmPa2Q_NKgc3L)EoajA++4k<* zzjnyK`AM(109i+_+=+0XP0^T}4hR2fAo(w<>YmUSkN-m8hu7~bb^;!`#HW*8=z3cK z(KmB-utoIv_a%b;0f0pMFSJXlj}WZ1_3qM5_=zt^>_*>&P*{BzUj@%MYBH7+ zIm;&a(jJRP?(A)jl&6q^`?R`V($zIdl%7e?M#bmA%BZd zqe8cV5BC5OC;$!+$N(4sBEWaI=ziuql7^QhY;C1NS0-H5dMjBZ*<))XzQxqp=vT_u zg6#QoTZKVPlHl%R+L@13t~o1mQ(6>gtIGvc^uNfPxO}&?I-V~N+o^nq|G@@N`A5g; z6>;?8-xxqUTsjMMRo{l)uXaM$DtA-ECLb5|AV-=%cL15AWHsJxv-EiuoJQe_aZ1^A zi?uxu?BA~fs|?XfOVL>+%WiZy@>X2|%ulJ*E;H3fK_D<(sc;RLCA;DW*(ek0{UqzC zf7taEgl0HmKD`3 z1JqBf*66w%l@O6gzS}KmjxgJHlo!7h7iL+=sVb(|r&Zo2jB=S46XK78Va8KXIM2to z5#gz>WoY#O8ue#eyeem_P%JbuS{MhiFKW)B*(0Q|M9Ilx!FUx&0YGkP8rLiaUBx07 z6B1!?%xE)ZDiJMUhVEpo=oL;~#P}cj#NVha7j*~?9)!`Xo8k+pPZdxEnkjG{8ebrTYI@+Hv4usqs29nZ z2ljC59Zz`-@_@=%M+-({;v0y^leW)jenO(ntB+7p(Uin<@Kh)Df9 zuA_!+i1x730S!?$@7A260^|)gL;G#e?d4_>opWdP!&9hSr14MYW{ZyN5{!1A2~<2V z5K5STHJ#o(S}4yER*Rb|6bRX0l>~DX5OgVe?YbFXiz*nzgu?!Ttn*uts0L`}wH9QU zO2%y0&h?l;rz#emIKsM7RF75w*0V9D@Cv_VE{AeY**EDO=hEVNhf(DX!Thga%0K{K zQN8Y{mE2$Pcj7HO>MtW=^WZM4gN6ouDtx4WSF7;E;x=C0Ed@K|GAyI!p2uM5A`bAY z?|NvtxB8S0trf=-6xhMn$L6B7PVRY0t5^sbFv56U6achtStoJGS*}&t$kEmR%u>Gv zQV{IrFw|L&L|mEwHzz#X(53A?bAxznmYCs7_XzgOs|TV0ofi$c+}_qXJJEG!egBQ- z8~(m#a9C>}m1Yia50+(3NNT!D7*9Co7_`Ef2Q5%#w zYfI3;f{X&5a*^;KmvrtL?V!mK9KE*LIoDodFY_7pV50Wf)LubK+R(nd(@LMO__q(T z?0iI(Qb&oH_zDI81oI@7=GJ%)33DL)9x|aoSrpN7g+#_cLr3CJ!h&a6s8+w0+!I}# zosFiAZs;6Skhaj;e(?&`)}!4^NTpQ|ABd}uah&2gO?m3gPma_a3AhBms!V`F{|C(QrmqvL}?}*PR z;u_r=p&#V>MipzNHabpWE?()45Ic#K4mxRlRpaKJfBD($55&#_3h*HuX1yITKiBzi zlC7aN+y6yWz($=Je(LQaJ3^Px-bZ2}=SJS7mt`Ygky-6@ayuWPQ5{}u6EH|Pc0iST z7ES5K0O8`mI|`;@k&8Jp3YM*|_5nc1Nak37(halqBHnnb;N4Q@lnW463__~l3-txp z3&WAo^&lx#O@X}(e{EKHKL4q=$px?eZbD-;2t>NlhP8M`)S~vhn@$<`KS!miY@}S~ zgUFNI$0wJpJWt+Wnz8CxsC};O!qr7eDYSQo9O5DQ4&)H6n$^ z2;!$5lDmP!XtcI4uEgaTt3D9=OFDZ5_;{E?Tpq9APA9<|JKkyN@Zj4j12@yXGYDLd zj_BZ1qDKiHF8rYCt>y*x`MJL;bf{Hn5Z^wD(Xb~pwHHG}6}WE<>~}ll>%fLPI~(tT zc$PB8q*A$7!Uaz$GsEecAsuN*{^YrDC8f%Tl$62Bu)Q0H?2G@QDnv!y<3_hp;wNP^ z33~F-M6N7PVdWZNDU51i&n>eh>FfNm;h{}#Y2AQ1`!-%s=S0HZ{F z9)Zt{D)AsWoRd86UT|Bqvh_Wil|36;hLf?uH0il4i}W8BKycLd4>qk+3w4Vn#v1dE zRO6Xv(RkE(?PU%elI7sw3CgWl|Mp#)40)N7({&>x#xP9R1aiX!dqT{Ro2s;KdVkz! z#q&;YRzU)#c(Ue%aBmdt8u7ayO{vTE6Xw>bz1i~qeTMfXy$3<(EXRud6FPaiTe2&R zLx;HO@r4y-cam#sYhrdL5&ov8)M+N_kFa#rN=EhM)d95bXsgL~K=xFWg2>bq`2Bwx ziFejLZiLDs6xAo-A|8MmcBH8D7mYkLe)yE7kv$bp zL@L#79Pwo_zMN-DI!KNpAp$Ly6m)ZBOgtM#3%oT`N|Ncw+DOz2 zy0++9w5?uCQQwy45dtc&$F*eKx>pfxYRkm>L-xRrj|b1h98_DQ`sM_=S~wq zI1sQFnE>_8LhUfSaRm|2YSzhc4lgcjYMzn8o~Dnj~bgrUBnq5a*hy zf<=~vWb7fNq?SiFIsha*E3rvRfuvVjnL z05K;33lP8n7yuy2AJ7@+n&-ee`*GZe9^pEjFgWFcr{kdTdmGFJ08U}MjVjQmM$&}N zcmyjIZR>pQxB_H|PQ=#BcyEHO;kfH*1PD6NatVe1UH?z6W^26Crxg|K#_2fx$L}m# za17%>>r_pE={A|1J$7?VN|cMJ>YIthU&-x76%ICn!! z&z{EtIH560dBa}&phjrG?~C0=0dd_3gbH6b^x~1IpZy_%dyhUwgKEK%LsUd;oDMio z#2tY%TG%MY^pfTRX;dHNC1IHcS5xCF?~=TV<_|0VK8dP>91v8#e?bxgGq`wVj9^iP z67vkzBzjV4gv&VXvcSkaJfD;pI4r(n<^7`vB~2mbyMw)<2r5C;s?OGv$YZ-8QPW^K!N-;?8hSZU|15LZ0B4X23n&#*9y=-O3Yn13dg&gPz`;6Nex#;`>=!jq0q+SbBcPBF?s7baJ(MT)K zjRY5pJ7cw(AJ&PrvJic&7$iH_Ff!+5RJ04JD3-8xJdgg>kPW8tluc#gIx77zkgEZa zfFS%`LIjtnGfAXRTT}5B*a`iRSkYDcoWaXNW9n+vdiMh#8M!TS!yRm`fX@G2&i7Ak z_^`OeKawpMm~5*aY{ZT9!umq+RRW9E(V6$p!_QL6oQvbZk5eP6^^nR-2I9M2p1eBe zd^{LCX$+IvmSRjgZv14PO;H4n^CmBG`zbi{9cQaHm8cq(E_|ik_myMCo)rh|Q|u}r z{9xQqj7YqdNdaWwJ`vDh3-gQ%~WN~Ih_V+*8CTfhZKSVY_AM&?3;jU9kI{zKM{PAP4zxMBp z3Ef12nfhw)wOXx7DPeyYn1}El#ilHcS?oC3H6lp3H>rjWJk;ern!fo#1LI*c7XzoU z1iM$r66H84+y6R`?QrxhhigYKk$C9w@Tgr%B=8Hl?5h>-V(e}?AJc}_=d$#@$nVbg z-;lnb|22L>w(Co)4)m*zucX~H=%!z?{GOvcDrN6t)b(W`;O}NYU9k~)s2dw$r9IVh z5ZCC2#vz%KRZJK&K4~*f!wi(Ub3)~}x5MKdg-3_^ksIJn>nO?!+wK|28tOrN*VHA? zu2k?3#Tq0^@vL?uz{42I3J^*bl2$}xgPQ{ihypBW;@ug&;N|o3q+L|?Vsg8HoI`8E zoguyCyNxr{%OO#^x8WJypW;5uV(W2G@#d>~T;N$+9Xik^;KNr8&G=w7b^p&j2a7zi zj6kpJ)M>)EzFQ%y!Ng-y+~AOI&QD2{DX7!F`nz5*@s6Cy+pK}^l@vMhvIIW1+YSM|4pXF_?p4rHIz0p0 zwzhg1gWS&#+cZ5UCB0)!ega^xbHmiHJ9mIWOxxfV}m zfp!1c-e$lbzX6~eJiE)q!cx-jM@(@tbhHH}n>;io4b)|b4YD>2;5@7_&W^=j%GpUI z9qhR^sqp^vGA?wH7Nzl>PVP4Azj{BH{uJ}O%Yq~S%O?JJe~EmCg!}OQd~W}O!%M=T zcsL?J^fIN9O4kTR{IVWnR2n+5ta1i>hU@-Z>-wP~SkxV1NMWhl+(g4rB&BR*%wi7j z++I@~96b$qOu3+>*tqlMk2&4)99T_PF*d-u-yhq(V+++|nuU!G6hRNBy1J_tjmG`il0wwkybfHY-IfdM_@c@4> zAQ8CoT3XVX1xFUyM3m{1Ws4KmF|Uxbb0P({L^>6C#hT{I@!pRRD+hPz-37L+JMDNz z9@op{qhRE}RnXAkSOP~>j zbp(+x?(0}2j3T?8Tq68b>k`tAW2{r@3`&{krLe`g*Wh+ko}7V0>Ql- zY=CcS^>h0pV@w6>C20!&?RBDw1A{oG37T@R@-M#|UY$$me3Wb!`+(|c$$AB8D|>Go zOzK=Cq7G~xkZcCM;VduTP=i~uJl%z89Y0+9YTKr~-2TQWo(nPE=yGos1hR?|<4$tE`CBmv9#IsGWPbhtwnc>f^cGJGDvj%9`3IXu#(IHSrpMe2neu z`rD>?Tu@@=37L9S(|zsCFbb_)h)Ir&rE7wm{oHE5xmJ@4ZGFXs@zEf7!%56D!R?;(IJdXSLBNc4H50PYe zX%Z{ZZw9&>*JG^Su}G`Oklh?`3v~0>YqPvS$DP+A@F7paZMa>o z#l26mzXLu|mlt=`J|dbr@uW&ul%lGVza1uW#O$yaL``6f6G;AAGnZ!0OKolK6z-j# z3(>qTSEfEh8LrJ1V#f}&Q4cy zp3YmM#PtkiX;+W`+Q*@Jr7H1Beap@X%ji9(+2vNK%MlN&*U0$?lq+ZleruK$&sS3S zOIhTz z&C=HO4lcz+0ikScPW$VCn?=p>zA=QW~s@CuKi_Di=hk2D^=}d&Xm`3 zWKf^+39lG?ej4y&j1{^Z77O&_8r(x2-L?+EjeG=gaGFLJFkz&g;&1={hOwXmEA!9< zg~YO$gi^IFgb*8-G%(&IER`{=WS1kHi&{SeJ-}DTNx*4ByhnXu#1K?-Py3H(Fq036 zw0Nb2>|i*N`<(CJIYk%+9rn99_uX2}=Uxfsv1C$3%Tgc!WyPW~m^-yisP5DWVe5n$ zF&!R0*_LarOm$ckEGJ20ZX@JjeTMeAN0lhO{CIR)sz2rxVCqF6qot}3@7SKZ9pE43 zCdhERuqo{33cZrlG2jIIk?TZ>-3Q=H0WOb-^!{*vdP_o0;_T3=uK9FK2tLGAWk5UpfSCTzSxOL2Q5nG@{&1|Y1M1hH0FSeH2nvm zE)=ufAeD~_>-F84C9CP6K2*dhxHCReci)G!3|%6ZQd!XIk$BL=T8;Jaqr1iqX|E45iuN_t8>uAo?4fb|>Q z)hkev{I(Zql5H0#s%+rwGMk>lKPq`iDZ_CW29zz}B6f{`jgDY9gjcTCtYYeb3RUc_ zEw)*W@cL%ZXtUc8^pF@4oFdW^6Jc*NAvYG7$M^pGn?A=qn)`b`h>T(&qWhHsYlnr< zbm1SaG)q$u02{_jh#HlwN6xH0S^A|!j07Y$S#D80yb^_&Lb8LCtv;A11X`-GzTb#I z)Ti5jzd2LmCbqHo^yXU>>i8$ihUu*&&S#%qJRxaCC2xxdS$S-edF(&L6Ht*>0 z`ymmbx`J{Rx(N{O;X}YZ-8dZw?gs7E=m1nl;m4P)X~CqJr)Smfg+Zw<4Vchgwm6>Q zV0~v9j&mx55yTxJ7?D%;T55unrA?NrElmE}Sv2C#X|{7rUKD&$EL4t5aE=xESO0Cw zoIN3i5WHD>1^7O<^+_Oxv%y1jX~Tj$7<#O$=$SNMPDK-DZkxx20h_m2dcbW0Kavg? z@zJOo5+Q()4o@0xI#^j$?7;dw!Ib!bsWMik&;tUVAg6+E@@DM$!!*#9o<81g=HU3< z25>y1l5$*YMF_ZFeT&__D7OjOT=)93cS$*;-yz@1?TM zl#z+0dwWL&dk_#ccz#J>f-dx;4YMPu2oO!te_W)|G-@B=kSVCk)19V5pcEiRA&Ei`>e>{L z+9l}W+o&xa>6e_x72m9l8=Dnsh=Y}8t}W4Sk2}aA(zgxdg#l7x8ia6;o#F7mO3=Mg zV9d^16SMl})nT;fz1Bxnr3RR0cUXb8PEZTmBk$vaDA28@xW50N%c8eh*?%QP;^9Du zBIf3?gz=V+6S+!z-yBUNazG(fsi(2w;fnCGmZ#F7qBabE6@|zSvbKVA4{M-ic5k;h z9L4r%B{y&%?YibN1UvQ~Ww%(ZkM&aMC#w(PJg?5fj>bV4F1%m|+n?*==EbE|J44=U=*mehN6!>X7!XRCG4Q;fDLQiN~U%OIIE`_FNV zF+gge5GDM)47{tS79agkx^`1odWodg9(EyG&u5W7@#c;_pS&vK=9q!6m$lrPZHP-A z5xTqmJ-`Hs=%4mS<8G_fbNh(@M)VQ;TD|dk4ZbZY-kj?E4#(KU<$eQ&EH(dY&?bZD(LmE3x1LzaQZpJr_9>Al0Xs@3k1%RLa%S;;7 z_MVN2Zwz=q`~^$ARRh=X(k75s@8GCL-b$vkpYO7)<;~LO(+n7;h|Gd#3E?8Q`f<`5 z+dJEK?e@^KmA*5&x%@&Rs)v}))Mqjn?-rQtY}h8UFnsS=hPR)LTsOCb8@&a70z2f# z<0USND~X^5v(KMeyWD3hx)y+Zyk^_F6hcUzAZ?@b&FiO1Bh6RkpQB8Cu<=<8B9t3I zD};iXI*cNlIGb3`O8HbVb6E`t`#mAGuJ0;SU?9Yxq*|o3-Dvx0(`<4^$KN{0mEF~j z)i|SXmikog!sc_AOPrG8{E{zmc+C$pp2&ak{jn_KC1Ue^;@U@& zmOhUVHL>Z^8TlghW8hhVTF>&!qfOg0TMBLOtgKS7a(Tc=ei=;*2v9--oRrc^D4z6f ztXzI_?z#B#oD2!ze@+|1*Z;4ZZ+~u0YRBb8YEW(PKbPBmyuy;7E8I)m7TY!|Izb`P z9B9;Q@xVY9*LUxdX3)L3x#}+AKyet$FC7i@kXDBmK+C{PkV%9f();UU$k8thfHfp3 z5cSQ=D3>XENa1*e9(A#mYMfOB_f@quH*eKxi~7dn@{f%Jp?~X^XKLIlD;(ywe*vcJ z*h8!hpPmU9{Wge_c_p=u#-4S@<>3@4S;LH(xV}0gwxz&6D20Z{L8kM%w8f^UgH9Am z@IxY}fs3RnoUC;0KeO5(6IHxL!?F6gc+)ov2dA-9cY)nj>%D>U#a2S9Ff+W}U+NH; zh$1cpU+AE$pug)SvACYs0EQ~ZnaHj9?LKou3`a<*HpkNvC&$Z4*#u0YQ8;w3G$4F?ZpD zHvbvwQ=OlWgO1VmFrmZZjK+5XlfsuRyIdom8q|jTjxhZiQYIF2I-bLbG+-)k(X3;qsD|S50&7`C>KAb+9`{J zpQ7e-fI>}ChXf+Bq4xTTA}gKApcJVc2^n#c;%iYu|6Rjqg8;(E@$PZpu>(&xJzf+) zR4Ri6bngC%2EaW$FDn&E)Yn;RDi^)$xg_J7fLUaq0HZ5a0k9j71nw zWy{RA;e(56znTLATr?IEWg)w<5D3;~ss@Zcag1`@wmE1Zrhq)C5*U+StkPxJd2d&) zhqE_}I-_0XZJv?iJxRtPYp^8BvL1-GvTphgY~@Pj-FXm71DHG(M`Nm@h`c_Yj(C)W zUFPxhjLh?FZvrVZpKZfEU%}zmIyF8OF4za415t7kZ=v7Hsu< z4vj`&zeKvg2gRDUzXMeF1P5X;-LDRi2fN5%q zqLfKGD@B1c*Hc{hF1sF*%&QgkOyUJAv$)gmYEjcKg?ZMo1OioYD_fUsxJF&~c&~@{ zkp>?&jZ=dpE7iTN59$C8`zV|Vx_(TtoAQ?E+!JL>7;tt{JNUOKl%6l1GQ&IS8~;Y6 zhY>@R+uoDZ(beqpkwmp8LGKd(upYbs2tgy8z(RFwzu)&jgkC_SLAZecLIBYm01pt< z02%Zh2~fl-88xEKPMhjPfPkPL8IC3>RUqc_PYpOzNTGx0)fhWF4;7{_*j9(KAZIGk%8mo#(uqCI5UOl(B2pS;nLRoM*CE$P!+R|nyL)K0nD!2L5 zB4>^if2R?w({Oru_g+&=&d#Njs&>35&N{ zx$+QbEQZqD(u7oaGwsS6CATdcbcjpG{OwiV*+#eZOd$V>Kq&VMtPo>aUEjtny(pmu zeqpA#y6Qa@k245}6q(fmTX7#p$8eqa5-cK{+k46*e=w^H4M2lf4HKA83p#)n&E8ECp68fdDKV<%|bb_t0C|GQAvE&@4xj&DwjaZ@;Th zKTVz5w~cLfNIU~>5CEe=p@9Hn0I?YW4G_ct8UE!*05sT7hvEO7CiP5cefcEbx_R3` zqtaeL-__Wev@^lM7J5h#W3P-U&$zQb-Kxmxy`Pu*U9@x#H*)8?{xijJo&G!q0~|my zRiY|jVY{x}X4aU4Mw6PH2^>&ntG?o~PW$ab-q4UwTXWS8NLKQ(*?13p(-cMLF1#u8 zb_G#D%7J3b385xm;-=DQ*}Sm*^ylPBg8pIeNm4e4)-%e$$rGhuSCwTcP_Xc4?J@Br zpUQK)#}sm<*w&({_uIf7v$fRW08wlRThu+yuzeSPc98+iyHyCS;A>$6C{8G8i>sgW zXIUw*sF0b||Mt+raI%E<+trK78m;FkF2r6bQO!Edu6C%(qGMw9TJY3B;@$U({5iLV z#|)*Xug8(Pt()0BtYkF@7-{cuL93YzjkGY>dLf09K*?>{$EsK43ou}lmNEp%a(baj zBQiP=j=>=uZKcSGe## zfUKHj7Ohyvg2*D`^y{#@O#q`oih%%y05KT=4iK;a7>I;^_O-b8P$+l9#_rN*Xfy}f zy_wfW=7=gh(UoT5{qO(@|2ji3J3~(2z=o0wiY*8&XPOl6M{-9j^hb3H+}kmlC+O-o zw2z|XXp}ngV2FOmDFR?H&oL^3KX}=|F#KB(FE&;aA$aMUpoSx)N>Kia5%OTC8y;!` zxQs1)-MH&v0=?lmfi&O^wk}y9Mn;!0z7#W!Citv6qvoGi(N@Q``(|M@eQzR^-_fIiaOfUW0D7L>PW1`vrcBr$GW<(m6Q}RK0Bs~uXC-^ySN{j~_iZAZO7!;7SxCKIoN3U&ACyaF4Ye&G$>LQ2 zAcn=g=_!X8r;3xFIgK%A0TeJPC4)2LEx|IEW_jOnp0^qExB(ax)5PbW_t5QN-K&`K zTrmJR))1fQx&W0c#VJZ8iyBL7pdxn=_EJbe{{Nl9kXA$g1l1JRY|=Z+u@Fsl;befL zL9c-TrT`Hd016PC02lxvC@<&e;k=KRHkCxBof|u&8GhsjspE$q3!N@uO?o}RZ%B|h z3ugGA41vStZ6fKCSwckC=YX*R-STr!{bbusc3Elz#WdVm5bp)|4T?F%LkS@gbVb;h z4h&p=h$gZ>_U(RzIp(M|OWAu=4ziWp@b}EZY-)<)5xH>FK(M*TUkW*Ej?e@7Wc}Lu zcQ9QJTnES;JyI}@Uo@oZ6Ju!fWZJzCa+zR6PH8XPSm&=BoJAwc-P8~Jmt}+i0l)qz zyS&dY#Wt0!0N3W4kmfhG`9-T_CyLIkEPN7hoz01G!+fg3f&6A;FgO$>2QMIWl$m)C z2>y@3U3eI*hPjB zOYzlf;h#GJKB4Oh0}Y6g&NlgBJ0xbVK+k>8e&m0)QTZL%y@ zZ7Wt@L;}1!Nzbbk*P7wY0HZ<*fdIz<(H#H^5Rd>FiSi5lSwZwKAmW+mbIDH9U zS2X{<5%u*1qscZ!=LcL?G6hkNr?qeWg#!D zuhDbMl8|GOwAxt){PccUa9ggXZn;vttkf7lp3oF+N7KYvQ_~UfRls;&+)v{fqytO3 zp^R9+QcT#sS=k>u)(>J)2_Z-cGaR}MTNzM#=u0cwrD{YpAX zg!0~;xvGV<)gH#TMwwB7NR{_W{6z}{c<%H&4vJFi2(%fClR-{-#;z9xkT2bn>Kdas zxT=$qBFfU(%&P$1elr9uA83_1S>YOMmZ0Wl1HI946H(x)xHV1-m=iAi*g z^Unf$A9J10jT9_7%rg9|*?8hF-6?|*t?)1~Opn&s%dunD4D2$;RB9Ve(-UnIn8ZmK zMFpAk!wqMqAj|qZ1AqydR@JE0SDG;2{I~pc{C;6Br|$4Z;bM8lK(Dd z6?dIv{rNI#DB!M$g#0LgbigivLtInEVixbmi2IMo$SLW{)PGtt>(35Tc%A>oPbh`M z$yM!6^j!9GlCAJmVrJ-wi%6)opjoTcJz*NeI||x%dbfdnP`{fFbsA3cm1!E2`-2;c|9Cb$_=Q|DsZ#;E zS!C4>>M4!T6q%aaxKS(bTD-ef2I509ErR$6G_7HZ5bht5MWW5}`y`x9LxcQHFnv=* z_cjjX8cZ+dZn{bJZnR~HzWyg({FQ1RNBi=lzfZ4c8yB<(^EeuP)Zj&AUu`cxaQ=&c zSA{|irO@Pr>oEeC{H=0_NH-Ts16hceW0jVV^wAh8(lZ6cSv!Z!8VLh#D-kU1!t+UR zf`#*djet%x{ZW)QvTnJG%| zP09V1?PZTT4tR}3+JXyAui|%$t#5|;b^2e&DIp-+2O&xb*9ocBQ>8UG9`BeTMs>CWurQl1^t6kCmF+zqrTJzo;*i@MYSB5?2pP-y!yUS7 zygo3x8-$Arl)$Ttsq%SxiSPk_Z@YNMs6rNdtW$)sb$$)NG)h(WSxen_iK}p0iz6(; zT;cq-rw5s<==S4PBsXm5Bwzikj9B$mDhn1~(^t=mCRZD9Z2Y<$2#gD|8SB1_%cerA zp;sh`O9lbKtdYqnpZ%6$$FEZz=e$bWU?6@8hk7vXj=>Z8pt|Esq=!Y@lyw%%TKcZA6_4H3l zAs9axSNs<>E6tj#{BYK#yj$kBVL4)aK7ykt-CsGMC2Vt1ACRQjX$Q^Bo{heaJ57>dh1sq}>V2Sl`*V$=c27i~57xg4n&4U~*z_p4T8Q2+$WL1V9 zH*j={?x_S^00wAR0Xe|ZPa{hd9w3XwY$dYvjziOCY^>{v*)Y_d?5YI*eteD-g zjf*U&=F$_Ih&STJP7}Vln@2}bunICAOX#}rCpW9&U(YR4BpTWCZqm^O~(5P+~ON% zPNCcpgi!o)S%fdOF^dl}MHoDb^&YLg*Fgeher<+PB=8o~(ql;jV zkswCome>QjM5s6Ct&&n+XV5#tAs#ua#|iikN-Kh11bfI!>P9(?dZVLVx+Jhaj4B20 z;pl3JrxuJZY22HboTWP-kLegdl1k|7V$56$x7d8R;hq7P69+ydIgALX60;)+4`~Of zx9#ed<}!AS@3SI?ziSYM$W$Mai{sPcqST$|O~wUU5Z&XsR@v*?6>grX)8kVY`5gQd z8rL?4*af_5fW_Xf_drUxIGmn?*G*>AD`tnUX|*PqJP|LdhLdY|O@0`YgptSL2$-A{ z!~d)VKj9ZKc`xUssvQ}hY9X1sIcVOG6{sx%vnnHgMQ~}tMqqGOKTvqgC5`~`K>J(n zg2|RkDQLxGuidu1+t*+)&uJa1ILirzq1w3oS|o}^*(ytX+>~Fkwa7X@^zrM>XuO&;hHhUh7Rdak)9}2K;NOMz7Do!)O2I@p)KF zcAdWHAfJOehwm>e--HkIxeh~)^~_KJR4OtBc86>H&txP}!loLnnm<<{C)~cu)Ftc| z#Ij+YoiK7GnddRN(D+41y^PX5`US%K$nD03#RLcl>%2<*zu)ie6ul_xKvUD-2qZ5! zA_GG#TlDu|*UUo#hU>#yb@hlz>;-FrKK!*kt@MtomAnvW$9bB{(?lJYk>`FRPmj|+ zy%!wLQwHOgIY6o5C%KkkwuR>f_y-gsZ6VtFyx_&0n zy1%Z>oK6TCD{?wu!{Q}o0V^wtGfOxuT0DPOt>|YuhT4Xc^z)+rAG@o}pj)?E90Pea zO&=c5M2vs4!S$xM1?7;}5!;~v8`BgQT+AU?GbwP1jHnI0Op5ez4j{Yp&3K1GPM?yp zd5N8&emZ8AnUjQ)>}Eqd5m?QRoOpQcfZ;;B#)QJq2LPM7up^;VoVg!`y$R!)&1_>O z_W1o{IYiSjRDj#SW(_Ywo%IA1T9pCN5lk8ziCG`?lB zxFHinh}t;lQNc z%|Bhv96g5c0qg#*<(xHG@E1(elGSb+Enki4oS^tc-U zp&@tSJ!)-okIt}OLcG5sJqgq#|LRS(d=7eUh0qz4Ylq@O+@VDx@QN+P>T;*DjKJbf zY+0%p5AMETlo>uYh#+nee9uD8hIw{=Iyc|=hW*K7Ez6hyG{J_;%1TjH%`!12zP0_u zMb9ha$6`NQFMZBL11I!9JPPVH=ipK6}54(quy zaQpbm9JKy9+SFBbZRbUJ_W5+7xwc5lLesadfsa;$dPG1nK~h2+$TpFsk)h!e118m+ z<+0VL%p0z>rl67kcZ$G#S>To@6>+syY_kj|;G;tufdOp*kuLxZ5V!ys0PmSw!l1d8 zTyfuwc4{W*nz@M8Z?0>RhO8u~DwV6aOOHVKft8t|4wGpYy+$^XiVvfNR0nkB(>HRg zn6Upq*(HyCUUcBBxU@NzQ{gt^Iv3aWwo0)^tGWX=_L&fd)``ARA0&)5>Jm^6x$Q}{ zM`@vv<-!HIuy;WuBMqNbJcj4~-^!4d=-fp(+qENv^R)2JZaV6nQd~?Zkq0cb z3Vs0lyVA|dMJz|&3msX2ikq3Ue*=p0oF%#=@Ve3Qet2t|`c~-6wLJ{bb(lRI$ixB`9D!a<3u=0xfo@vku z0D9lg9M-WkzBXo_n*ejGGZkg$V_2e*f{D1**bsxI?buc9DXX`k1)7(55+BTffrVU{fUZv zF{iFSYYf=C-+~7pI|UX4e%ADVc=;k3%zXj+j9!VceGt(Zc@)dn2n;GS7_Bc>HiX|r za&#Uw+-(ThEKQ@YzuUDKsU?_A{^xNu+#`4GxoRjs149Vf8?3Y!d`WF$_iIqUC*801 zzk79`+))K{g?nC-+&Vrth|cHG&=rAs-;K=a>^}H{bXF!(pR}?+$)aHl3kV^Ob;U4I zS0WUr6BpchSer2$}`(Eb|AZ+l9S*bMzb}+CYWXE)#5YPalLYRR8 zjsQ_701ptr02lxuXz!=^9Rrf;wTh$~#s1`a%oBYH(&I5Q8W;zh8mAmO>dR;-n{urt%-jra#>x)GL5T7&XqXSbH%$DX7wWW_h!W^@0 zzL+pb8!_0^U%V?p_Sgp}GgcuE!#K6O!5a2QCnm1x?KST$P!Z8+GL#B0ICFa!<6JUD(9sYOkIA9eXq;|7)*=iltmRPp* zae^x@aVohAHs3n&{xhvgBMS(oQ5P44Q)9t@+=(>*S#koLSAq+zmZ%?xY)zyzQ)mgh za0^=>sYX4&ZKLm4LC5cx@kmCgtd>xO2w@sSDiQx(BXv5}RYLjOb(lZwDO6Hrh-Yvw z&Kl!?GmLUeV&soTGfCBk_E+L8p+8eRd$kWi0WJ^&_AW0RMsB1@-2Si(dSRHudUtL* zGcDR7H})+PwM)byz%FfB@G}yZA1>4wayux*r^`HkOw)Jc?+~LxT7dzu0MR7?3J|;i z7yuvGkFW7&H=&Grr9_0$?F3@EfW-=HJGi^gB(p}+u8#r?%@oDmlwl*#n2fv{f*w>n zRfJ`NU8HLyCKNxmWBpk1Ap9il%9XvFMBe+uS~FAT=>~Abdn`rAJ(c7+%V%0DAw4tE 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 Uvw{$vw~P0I0r7(YrJ(SE1T7sdumAu6 literal 0 HcmV?d00001 diff --git a/sketches/lenna.png b/sketches/lenna.png new file mode 100644 index 0000000000000000000000000000000000000000..59ef68aabd033341028ccd2b1f6c5871c02b9d7b GIT binary patch literal 473831 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 z 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

    Q*ie`|Cj&2i?YTA`Sqeun>bF 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 z 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ڵ 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 BNNgjZNXdFl!0Kl(rY|rI9Y%Bo) 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�WjdXh+5y06*ygv9nB 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

    Qi~ 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 z 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 literal 0 HcmV?d00001 diff --git a/sketches/mandrill.png b/sketches/mandrill.png new file mode 100644 index 0000000000000000000000000000000000000000..fc10cd547f5a5f2f5fc5747f7f6cd16dbef2b041 GIT binary patch literal 218694 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

    8V-`XavAkNFA)9y z{yrr<*s_#wy9~OfQ)C4yz?8)$tR>q`8H2?YLIv$VFq=508HKC-r$G7PFH{Y;V*#ttN+gr zzeNmy58$0#NgJpB^1%ny4}*!5LH5a>4~$G1mY;s{`}D;z;|hOjsuh3J{OYGi!<#Ep zw=Vstx@%XXM)eCLzvpD|)cM~VZ;crv8;RlQMDvk8XFRgf`1gVz@OLLRj@09u8-#nJ zV~pRY%eVRJJYUH)z%MOz9WfycslQS zbQK=HtQ2c3hOPbvS7Ci||8U#99fS!fc8YUN}zLl_dZ2}L;+ZLTRr zu$U1gL;;@42`z^r0T3bNEY>{B`&M3g@YGV_?EG%=A*jI0@BTG(#dDqI+Akl5D#D$L znpJtQAKDL9LS?WC^P$CBL8M3F*pf5!TSBgcu9jUeg$gd`qTz5>QqS=2R7eq>V=33! zyyl845#b1nq+ZtBn@aYK(YYy~PrvM2E-{zY!M$#}L%r~d$46?+gWw}5<==~Z|0}n=VALiECVm80q77=iKlXZmsF@1Vw@B4e*6A*k0CaPo0bBvjl$D`@J?jd)$ zw`4btMdG6qVF3K}knFQbZm_4C5B737;STzQk-rgy;AbO<-0a&p&lum^i&s}Z_;uWP z^1}~)5j^>mzyHa}>fXKl<_9OMCm|i%Nbo;ioHhw~u_$pTkyNpHqQa%SZDqr>gW<_QGPL%5rqQHhTlz(z+M~vHrBkF6)eP%v z$?K^6J?rWk0F~3${;YC>VXHt5UKFwvmtt)9goUyz~0 zS+hl{P-x5wmyjE&hgRIUYjq{7dp=zvk^Nsaz# z!u}faO+}=FsBM%fHsxo{dNn^%SDzYNwr#sPe!pVan4YQLYc{4Qhs~4IOyesia{&ol zPuzE8zV$tGf*=3ZDD(A(BcIXrzU~z7WEDVh+svM_YS~lU!FVujyqCsaH^x63um0i} zdp&>uVLW&8e>sVg{ZBsV;jjFHC)?cPgY8Y1#AaVdetae$-lP*&0h7tT^a0ucp7dI8 z?N#@X(fwj-+{nL&(1Gf2+!!CSGU<~{t6=!nt0Uh%IE3m-Ft`A5g3J*f>$Wm`r`4J2 z9fJELaukJVOrYOoLWvc%KSr4B32F)JU_Y;acxIZO%VwY7X(t3$rRZE?Z9V58B?%?V zS$4Jz-0wR!7?QR1WR{&wF5K2-*Jdp`ooem;rPT(V$5N~5gog#)7V0*y4GqWT!uh2; z0upOh-mhW%lcZQYe_}qs0R;?+XQc>Xuw0@A8vGnZKry7gPYqJmj<@pk^&5jHq=XJ+ zf8Xh88%@mv{6QY#~koG7?^C&K@EDLyt{vO|&eEnOA| zEn`Pah|hJ}{9+S?z;oTx`V22J1X9-@9&PU4&fQuGcF(miTgO-a?MZ2t-E;CY*>2oA z5#JcE#;gDD?>CXne`=I%?8bw^TzX7wj;10le%;xPy}b|raxoa;fAr(vFZPh$A(a1k zs<-1OKlwKE!B2i~9M4sQ#_ez}o{p3v^imkP0vF5@;jinAl{S1G_lzj>2I=9Pv3E4V zKlzHgkvFaw6MTp~j!J}Cwo8x7I9&Q1_i>*83n;{-GJUSP!Qe8m(hOv)j#!l5V(*?X z=cXPLF-^kGb0y(uw$`IlVc!=jW4%E zSJhsI+@xWgxL=ePE2jEl@dohTd_Y2SB&^CnaXz#|z8%FL>fi_IsLiVL3X~apdwfF~vs?S+8KC z=Tc8c#F(~nPc`RPemNc)*5{8DwthJ;KIag$znX#1eYN~#V~W3W&zcCX+-lvsM{f>( zzxV2hfAXW?in03R@3}MaAa-KVH)MA(qug|QGShSNCnv}Ad%Q&O$5kY9|I@wr$q(Ye zsULqZwRiHQ(fGm1&6CwxJ+qk}1A!GW)2$rekfO7*PEr?@1^L~+e9-tf!eq*V#%{VD z6(pY&WH7SKC_!iHjp^+u(;ABj!c4Vm6Iw&uH=EUF!aYp5?a`RPYBo1VWRo;|j&BtR z9HTRk!U$T14LQ01WV2P!a7sKnmAxof8DqGn2AYqp4vE zFdfAw+1YBaTgKU*l=~eV$FLd2c!A?~?{xe3aVz%vz4)uK8MgFt97b0C=(7!AJ9K&c zq}5@6b|dCk@DWoiE2ulK6|Q}yJJe*DqBso($PZ8y~BxkFUM~;OU?QShvNu>( zs9eDXU#V5ZwA{h|iQAJ_lPGz$F>22AzdU0ulF259S8icv#7qksfm*a0&!gWQ7n0{{ z2-I|?uBS-^l6dX>U00!2STB6ibWZddN}&Bm{f+FUhf7PpdED66Wmk$sqW*A26J-cb z%*(+8!{1aY6;i|430Zb_6mp9$<1&+Oa;sv}M1^5G%L(9bv6S01DH_96*#aG0NtHz; zN1qWnQsPESsHU$RmhB9oE7fVTxVqeqK@BNjIP46Q(_)RX4huPvIKLs2I%a9Z?6_Vh zO=cUoL+V&vom`(R3EcYZV`ijdlP-@0iZWU~TxqJ1h_qKJod6Ecl znRF(q1KU=30f9J}Zl`K>gW zWnE&z&TSDZ8|kKg_2VKlr(0WTmWu~TWtUrl6z}|EvVBV^F^dN^cEMm**Fn-yeq=aY zTT~U251Sh9p6b$_+d8}}KK~jhIu?Xgk8B_YqXp2bGf6D1PVu^6aJ&9+ymFz zDUrue?Wf~GTpCzY$E5YuWbXUFOpfzAK7&hmGWKnJ<@=tVAKwER&|$=#sfm?e%s94X za+{ojT6SagHbSx4?*~i!suT~LBkWG9a9|N~=XEHVex-P|~#Rz7K$B%Hu zbU(tEzKPKawsZs3u20Z6*7Y`cVgTsL4lfxxrbtcnAPEzM+s8Eo#l-R z%=z6?%3(D#t=uAqWTGJLQRjVTyMs_5BD664rp+U5R7(;J^l26aR);qF(pNStjoP$r zcb;@VCfo`o+Ijk~EIvGUQ>tMoEuL~hET&lPpShC-fZX zoVB$z!W1XEOD1Gw2z`+%H$Ht!48p@{WW73 zREJj;5?4a0I~F(kg~BUQnHOaDqH8FP!$x)!U-9!IUqK?uw{g>-7!!qa=hrS}T$Nj4ly4{7h>LSFmdx z+~EIZa-;WR_vG^O_C;`SD?jJ&ZP3Sq-(ovYb^QIwcyAn)-qMgGRs#08hstyC(|C6; zFBs>?rN(>H?3G`9hPIEBQ*q-iFFt8)PJ^QmU|TY|+@o!EK5vboLLE&p>4X`*d)7(8 zQN$M*SrmzwcnmTd`dUc~+ zFd)td9T}R#mCW8bxApa-E9;o$ z)%s1Elvu8i3mYaH&!IC2x-L?}+Sx&m5DTqE-Xd$T&ReOeWGs`#5^}bQg?)PHzyLW^ z&>1v200Ar^5r-pm>4hej7z`0Q61QA!?F>t~iwj7&o^*vgRt21YN~}lfkINuIahnv~ ziaJEYG_EMmb?KI^v1OCGM8DZhi{--kNq>Noh;a1=WpKAuHsQ;Ze03Zj)5=iq>U|L} zSLQeCd2~T!IhHc>N?e)ED_7L{NxSdJ8`H{VT&DEs)v~Qly>aAt@>snY-|I#2UHHsl ztbX>{W_9Ic{MW&z-&en_RzHpB_`Gx~*KM_f)dw3G=k0wPjE~3Tw|auRM&qcJvG@I0 ze9AbsA&5k1VW!>8h5W~EE=A3BL8n52a+5tQWztiT@m-qQ_o{n?Ha@EM_4;yP@`2q@ z#g8iLBvA*75n95|WNPUGhe8qPjB%`7X)f3tCAg&2M-Xngo8gyBI&Jmd+g$KuL)JQp zJ0^FTB?>QOOH9z65&~6fg}If+oi=kkGXggu*QhgwvQE^_Xg78JU@D(V`8J!kyV|>u zj2#p%feKp0A}y{hE?ybAC@^a^*K}C8#X@0Cg;t@(r}J%Bv0{~enPxUKEr^PRClqcu zx;p7 zUlUD$0EEooQOf0#D}*MsL#8a3D`HDU&LRax_uEF@!VyttgPY@;onmobOlUbS8CRU= zCD_~g&70sk++0VvM9j(cyl~0QwPPd2&`H4QJ-?YJA)`$vmp|#8-^BFMbi<8@u!KSNtFS zFF~j~a=}Qd1(1GpBj!U5WaK9|}P<$>#>mP1{z5o92!(wG4%% zMb2tdwh-JC({y?wEwjrUf~dkR*+)-%qTF4kFC+#g}xx#Dn5^he5 z9F(>rN^rV-_)@@DFL(RRI{x^~gfu4&5Qqf&lok5Tc7fR}m%KG{d`|T6s!%u(&Di$bWsU2Oyiq(b3!g)xspaN#$0fn6Eee}Htq z1k{J@6MTOS@Sp-L0hXzT1W|7&sM!4|J%jp{n>h0v6q&sWxm<2B1UCq|tENiJU3poQ zE*O%Ku4Svl>k8wFni)h4wcB>)kiblrc{z3gR{*JxAeDa=sF&c6O(G}#TEgunY0*wO zLqTZ#0 zgJna5q$KcG;dP=7#05#0=$HvEaKG@hGC;C`ASwgyit`Z+tWZlX^*i?upNd?SGWx*H z<}Oh=SvxE&f*L3rEXXA-rcSvx#qmSE6)?r*0yoxP7ojsOA{jc0&E>V{+5oqmODIUG zL+&N%);iK5Q^;k0uRCUwZ~zw_X18f@!$GD9uf*o9m-u4=lB;kFY!X~Ktrmo(nH+@s zw4sirP+(h`-5N+dY;K4{qOwT=8g}fFUS@idll#^>JkvcrmQMKoRGKakZvFF>>d9(6 zJ;9BUUauSi2uX~|Lsw{8z@;70BPa|lTenM0(oSp9H%n=-D~E&RKwzf9LMx)AUfN~0 za~S5Z+re#-xz!Oh*9u`dSHkfF79(_%aAQFFQo9xYfF@%O+U*W_0Il4uHKX1FX);G4 z;V|G9xB)jta!6uYLozYR%j|(MD=)KMO1%6wPUD!4Q5LEwfM+{5`kDV&q6=R zgGa8dtqQC$bGX>1&LmuArwL?%$?^a$p(bKk3=_f%1V;>ir`MF1QTcntVnKRLun=_& zK0=`=wrEMAQf?z{Hm}5uX(d{@U9V<{?NFS{iyUnf_=xFaMmY*FUS5YIDwkuE*UJ@A z1+~}fJ0t1-+_56Z!ElgnE!Rq#2HTl-0W&I4Lt-S4a=cKMDJ1@A%xeavXBEJX&5$ld z3N*fW?FL@5nIhiDdI^}T-GRQS5wWKar)dPqKXNC`rR zukWWINOHND99P+};Nw6Nw7MaYXoM^*s^7stf*|4$W;js<25@O4VzxuB#U_wP?KZC# zx-I;X3!-*)hKbbKE2-zY;T9#5Itg~EKj7v_6!Ln7qTWVm?GAz6?zWR|Iee$LNV?r# z5ajjs-cAKB7#S7YK@GkNevd-my}b_14jHqXV`v>2c5g7Lc8(z$*T<_y%qDJBE~$$V z;q)t5N$>Z(bYz-q6`LLHZU;j^mouygVPq5^a_oPsEF3zwJ6s2D!U3E) zN%#8kiUTo@Hvpv}0r$?eg8xDD8PFgDTm@PW8ThJW+dQ~UN;q1%*PW7!Iq0C^YMC@Q zDM5@6;Qh$m1P92^R!7(fJ57Ks;wH3;7NRIx)7htKt+UNDjl(V47J(a4S>#!m?Z>M3 zwds`u`nJPb+jW7R<*e0IE|H}>AjnLuYeXU%0c&+l(vJY|Z89A6AH2xnlEIW`9kd@lC zGbT$-XD40B0}-l+kbXo7Hzo;*Tr>J><=5pd(+)<3AXURAwP9zN2)EEA%Ov~?j(rFV z?nXE*$`x?oaho2l~m`Mj13^&KF zM$+&0L3oNF5u-c+tPx8K3`)oYF^c7&aUn*6-N?ZJGq@U=AO6H$q`Zn;E(yT;f$(yq zw*@H--W@|y?5qb#MZHa!Ghx#bEr@pt8wdlpK&}yXF%a(v0f$uJH}@NK*`?&-d4&7B zE(krq+_s(3H0rx7&c*#g68Hc)A3}C^R72`T$;=t1`HUX>_qEt9#tLdkcYtMrUbxwP zLL(`roCEa=i~~YhXr4tXT$X{pT8LqjyAJo02WN!kwXZ7-H#T+ou#e?BMBgZ;M3^eN zh5&EO!|5t@M}#I^ZFC?_?_CHQT)b zzs*}JrHy-^f(__)$eN{kB<~!D!plImLMlji)T`h`aZ|vfo45ip#^AW!fNkhlK(31C zCKOm{1tUO`RJ4+iT)cdW{DE&5xczR0!)J8|2sb{(`~r9d3D6>5poGGJV0#1#uUsC* z+rnF-N-_$6G0L_1DKz6o5R3+F5(4i_i+Kay(TG)0LKkt~kTfKdJ;}SX=R8-hY6klo z8a)Lc=+V@Og7cDF!oo*-S3mle=zrqZddix+``!nluiUnB{Ug3r$gV zrtL)Wt?Q6wX+iEU0S#nAFxcAJsVGB-&lC(6#NMx2=mi(0=|!>g012e4_Mi+=u~Ree zq(%lEis0ZLQX)F$>g8Sr~! z%&1!*tmb;9Q2C5vW{#ZXVAh30AqOR=CFODojR1hl<#y6eI>aVBS3of|OpKvmTA5VQ zP5@3qi?D_wvBWQl`n3wbq`s5FCw`kGwvAnZbwvr;fhPZq8vTe42RIALcHk#s$cdxe zfDLFgAI4j;$??jy3a%zf6sd4PS6GKy!nq|r&*Vd+?81`jr>l1{GGx8yR=cc~9B@L0 z=_;=$Jxy0dpnw()7S$=cXz_}whUG_zFw0(ATU)#3AQ%~E`A|2D<{crc5s9Lu4VqD8 zkgbdpHq!C{?Vhf(!dApa9#Hg!O!J`&$O1grVwKR-kVQ!$L%kV8f+`_20zN=lpsY-p z@sP#y>x+v|E5foxj7E`TpWbz^Ttf=ClzJhRwqb$6e~=Cm z^QrubBHUogto0V%?`>UT>x4eBQwu-N3AbP&71VA=eXIyqflCU`JwVz3s9_dvY%%Oc zcmO#7APmRmCau_9R1pnJ6+!iBEwJ6Fm(b+pWMr#VwyxA#rpe(337N84h89b%zLvG z$g{-^H{ye%MQ(OLzbjD`iD4~cY;%Fne*XOOsU|j`uTm{^=`bm#!C-*U>tNO+I#?_$ z!sieQ9<>sKD08%cs4TI16MsSJWb!ID>^pNC=ULQ#+9YIKz$ z6yr3Wu)R%%=3Q@gEXQcQLj$N5LmgZLtYYOwA4&#H4Xf=q^wa{CXr`UvEDI~4zKYXX z(H+dHO*Iu@VtK32B_{_oQ31`BT!$>psa^(kE==4OjV!2C1`V!|1n$}FCh7tHZA876 zKo%e;w9yt|doBDeiM}){x>H*pP5^5zF%4ra{WiD=3AT#FkLDiSugAj?B^B-{ep=uL zEQH(8V#`RVghES5P#xdU)@;%=l@Ca<#k)}OJ(`^ z=~K)4`C6^%ri1h-?Xt#P@?hcN8;|G;JisCnMcS69a6SvYxJZ|omA0Wp*yOraX{#01 z+T^&JCpa2;XovOM*;n3@SA+^}(d4XzE)>b)ms)UxTgtv!2+#{}`YYu^&ak+ztjx|aR0bOqx~*3xG9z8)E<45sSO!@4@3WMmYph0GFQI8zpm0oB(ZEwjaKub3XC1bq z-$pr0EydiCRIG$>6jwzNb>M$2cvK$1?j^vCQQ-g=Ou_JDZvr37>%B0JB4Q^21E4}P zw4w0vjutoqLL0M1qbN8C2vSY}5RyuEvser%87a40tpY-~!oNMdfp{wh%#8Zwu_yx& z-wWR>mz!ns0FreQd8kD0AlyEt9Uh7UbA?EnG6Ai;69%F6Vt5{;sMytWARMv&bN(S{ z!~JuRrlI42g`$d3gKNN2Xh2+1)*GmULHnU(!Yh~HzD?dji=tS-api#bBpfC=Y>mpJ zuneFCH;KzZMjcwbhA6Bg=AMf&Ht5COlACUI&-ojDu0P)%xpGC-^l+rnu8?>+LUD2a z^J~YdPkwrS{ikbdJ-5t59(mA^O`(||kONs_dx8;wgI37GgaC_= z^}|&K*P(EyhyZ+JivwPk(I}v#7Kje0g2G=CxIPMr!e;B#5^$hER^ZDZ3ywh&jxb__ovdQZ^G4bVhP7INA8Kiziy@WLNZ_ht? zP=Nldp%TKJ5d&RIxx;xSv zNta@&bVLFH5n;tUTiBJi5E6PMEWRE^x;q&~We2Vg867Gj+JM}zaOh>zeq?_N?2JH6 zLACh+u~Sb74+4uqAxHsd4bX_~DS_vR5_R%Az%L*`0(Aih#u4hh5`i1mhLjmrATYs< zYz&|a4#^c;i4&1)tcd!6z&9V4@_}3eMzzzRUc5q|2;-dDV!gbSam03KmYHB!j^^65ox;GcT{+i`+wIQ5q7(y{7 z!eB<d2it|7vW z0RRK@A=G`=7j+PfU@{mr7&2sdR9-s;El`<#n-PVYY)f2JP#+2g9DCgyQ8(0^N~jEF z&-J;wM0O<7jrU!2GlZV&G0H_t=YZV&?o^J}?ojxnumJ}VkkrYMr-K?r?hSN>9qz~S zyOH4`R3dGML#@ZOD8yMppgV=w?} z6LQ#^fE4%Bk)V?p7Dr-c1j2v>BrZyEF-2!U;7`$})%JD=l2#Z$=xi#MyV0jkXK&;% z#8Bo-V-8JSU~Y~m?S%*CvHUk)uvlMGTmBFK`mb1g>hB+Jyqo{##vk6@_;UVje(x_s z-ax$<@KXXkA19SU;_oL(smv`;Y|CvJs6&M+)C;6`Dz@1NWzrT(brQw!>lT{SuH?_i zZpXK`cV{*_HfLvMG7}S%gD41f9k+qv8969?a!r?oAawnFL6jSo(u8ftkDgvdpN0#~ zf4Y9X*&=ml+;*0$f55|D)veBK>oItmqUKz&;@cDRMa+m%X!;t_9w-!61VF!)!+j?f z{GhAvQ6^NlJ1M{rs8fwd0uDp_$1Y3}>uYm!wuGVAu7g?zQ(+1tnOnM~>h5=?-R=@? z2;SO!h9ET8)$Mkyp*eA#AO^+yhv()1pS37)!zIHb)?r?QjR1Be+z71hm^KDt!0mvS z2cw`s;g#@nz#_(g=<4dw6^=-PP5IuFQp1e#!=30CruxOYKr6Epa62OKQ& zjUw=uBnG(=>fTIY2{|S&$xY=k_fbb(hotA?0 za&hx@fmp4(HTDF@kBtmKr~!acw-2-Fh<&AK(QPufpRPjzD6}@@u6}H z8`K~|+9w1AZ1gmRuih;bl1a=5Jgn8u*~Q{BCjub(sCLjk#sK<5D?3FAi=NbK#V0@8f3pwKPCK`#VX#hUKPFiz;XG#m zVgPi0@326)fC558xa$UVg8TbhJHLBy2+w~w&k z;v$fnT{29Qb2p-n{up*FGA+XDAp9TK`8%P%pChozJE`TZ$07rL!x}!O{4&z)di;{Q zI-qdsH{cGkGdz$(1Ojzb{wS%}T5a_)KL&x|0q_V=RLJ3g+)O*&Dom`D?4v&4m?>Ay z@u-D0+f$JJbKNmam7;zDRt!1F+mY)(oM9~Rc^y18zX#%kfFJJ&V=98dfgAU!wSV!~ zC4cdP1v9t-8+dO4FoG8p5O{%<@9!cXcj86E0{j3>!!A@GxejpHF+!eFkIK|yHJ2d3 zI%^pyBtjJl2HH(f$&DSPzjQ+Sgm%46mAm=4?00t(e{- zxHNE=sP;-~t5=a!d|Gcq(^7K>V&?d>9T_&iwGzf1La3de?YvI(TLq4$a7w z5Ob8N(W`OR{EZjb`2S=5-xlA#wY`1&do&9I`sNjhw2+6lptG{^peEi$Yb zGC6)*zX3x)UXntO%Tiltc=_;Wm;_+RvPGhO`2I(=8rA(%6S*2I&evai3}9>z4HJV% zsK`MvTK!Qz(TG_>2I)GXuMf1h;|P$7S5qXF_R3a^$7XJ8Xi59|vaoKj+JDdtyW3_1Fdcc4tTzzVOfHg#<~1QPRzfG9Rf zsUVKq9HIe}iBwRcAHott$we)`KM>`1+PGZ8)_L0I55(x$-lyyE(V5?4D&DeQV3WOg z_szR^|M`bM{O2G3^RJPW3cJ+Tz8NSEkfm;LF@CNirk4!`P6IBWbHk7FFxVFa0|g4K zo!HAUTZ}}lF(5H3FdM|}h&dwkqh5OEY)4|#2U&;S?3iH6>`{LdFjN8}!Yh~Lf4KkO z{$t==3q#s*o7Zg0v%_4D7siG+6X5MlBmM*Vy}JR>kJmUbK;;b}yS{|$fA0kFU3h>S zEZv9yWjPR__`y1YRt@K>Vf}5WL-eDlD1gwmdt;0!!SDwdTof`#Wie%9Sl@g{Am;~< zVq3Y634y>(aNXA7Edx3|RE7cyLAS*ALHl)-?J4!AVRqWw;wCXfto8Or|H0ZP>zE|7 zrYekdJoF|bxu-u;V(?(VWtpPAVwz3bcLAAnb1OlC?!h%w5 zM5EALxOQQy?OEN>_`-Eg?ui+@6l0u-*{&9w_woA;4>#XA3Me#0a1(?Td)P0B&qf>% zbmoUnQy$(wS0CH^)ctk<80-D&zx&U>u0B5b1}l%-TigT4`sPdhr*rrf5*#>#maMq| zo(7np^E8z&AR9nvg?0$f2vbl*2mQzr{C;sBer}~>lyJme3bBqF_Fo4eBUKf@5Qwbks0`KO(MBEUHxL`Hk z{w)en-+nhgKTpMg&eM2TU=N9eemgTef$4WXnVKOZNgQhsCB62rgLI^rddw?1q7jgj zl_r@oHb2`@;+|@NLLNCRDLj58dZ+@$U&sv8QsGQem3)Mv-=WT<+-e*a)1E9=;GPQ+f#LQ>3CUaP@um zW)Uk{(izNi^;m=`?LzqHtYBI+CQ;NZFEMOR?y>~j1K9T=&ru8d#6dNv3?jqTibXUd z6wWdOCeURHlP+Q{4Y!E%s*&qJc^Gsu`Z>r@KNKC1Y}!Boz*S4gn>PBS0EazB#a@4xyDKEs`FUffRwm+Rm% z>Wr6v%AZ9)D|l4Od5@~$Hz z6@!%n+lUml4ic26nd`TIxURYSwV=PfVP;mU@3-rr{D$OTFf=s8saA!Q0Z@RC%J*)t z=B)`9#fik(c3N^;g500$RqxVqdXW^Nz8R zE9W86Y8VzwM<+Jde)>}siKqtgvdEI$YN}dd42d7*7*MR!;gp$0 zgPP?MqL^DgAr`wFtkC|!md1Jb^n%h=Zbd7Hs%aMeJ%jG?8JYk9AOJ~3K~xtiCf&5X zQo8~-Gom&zI29E2-E#5gun2g9``^6#@9*9XU|#qfK%$l#WczZnU9pw`XZSQA zBW{okLTI4?%L8p0ZV*;-^urt*l7AAEi#ZVBa2+W#N_4|AM~aRwLHX(T`a2cTmh0dB zX6xGXyDhXfv2S)$s@G#A@p~xYpTku6>RubQ!znLMc>%=w+4GHy=Rd*ZBD}u$hJk+p z5nsG;RsVi31``dql9!I`KF@?t+2xyQ%|mm_Wir)c$Wx~ZV4O34gIFulTnuNxO`11K7$gYR9Ap1t9E7NT6qyO zgEA!yJu8xyz6z2(i&7kxieEnbZ@*Q2@x{yIk!zS9rOKNc9_`l-3K{W*s}*Nq5m5xRlL_Nt%C1C0ZP~wa*SS?Wz7{Hr zJO{@MdN+f?a@CTzyS6-)0Z%JhR|VG@*kVBaEk)ZLY95i>b#V8bd{<)v}i(!C?s((}^xj0w%-v_GF4L2++sVPnv(eu;C~ zFbc$zfOyhUgFGO+botb^e}D4{YH>h-OPj-tOqd7)X=)(sG^6 zclL>`6M2>tbe$J^&bmQsz*nN;9~ZLgqZp>Lho`asJ1GnR3IIK$15}Ww4B)Tm?@P)y z>b;~b@b*i}1inEC_yat^Hfgd{@w#CE_yA9+|M2gEu{z*ex<9hf zFJ*7q8^)U13k#e5U0?s??!SMhEn<)m$L3eewU|_eLalZpQ}9qldgoIXO^$J~2mkzbKJ*lFz)sx~avGHLXQYOC+fgBK|h!yRCqMAUtHJP z?iatF{SQt5)h1ELrb(Ce#h~l}_biDbyqxw{_qvb+{tpj;JK)nO?ig4Pi6B-VMnI*3 zFK%4OSO2~nM^{lyRa9-@-JTFPtSzio$GW81NS9Ub5X+|3%-i|==&(K)_D#AY=?yFM z%+2vL{UU>oeX)+19KL%gyFnAsu0LkB&>H)p2hcSc*je4k7vG82*9vP*BHg)$JNK`* zu-cv-tR6vbQ|Y&eEZ0(vuB%VlA7P=^9&QLAr^FGFtSyg;>r##+4-OuUG>x2SD~B*e z$i|w-AtC4k2#KBrFdC)|CCG~b4Es2U3_3#@=Tl6gJv=PH1`c&fml6*+gJa_k(1T>K zpuIpfGO{(BaVd3Z9a9h0D^k~su2#rrV_cAMvg-n-Howu>NqFs2@Hu{SiQ+<;4sc*R zt2M^)=`q(2grTJF^y$+SRK)G$V3jfe++I*?{fBo0HeB{P+rWeKi?;f=fP%1zZ-4~; z^H=Y#RX+tV2SXIA6PxosdjcwIO$stoRCll~DI@?^7wx1HQY(S{fJ8qeRAd|^dLV;w z)<^*JZqbzub%4YR1(&(?)XkOw;lRk1-+ZS~ey2{&CiDpzM;?GPK`IAg2_8yUO;c$g zMfp*Pk6P;aq5^g9;+O9c0F@cOH-iiFxxf2+dS?LHqb-I$_RZ|Sk2htr4R`t*q&lg7 zf=MgUHcHbMnYoQ&b#U9UNzd`8?d&7_O^l3f&(j761;VD=4QE$2o8z+5hJ8CV8 zJ)Ubq9K87GoETk<+P5cMJFgG>`k)tt{=bhU*EpRXbOi0}{LnZ!G%XAjYHgVBaINiW z$P@Y^Hj)H1pRE@T3=5kgQK+or-|En}-@3bjCS@B6^<=UNsrAQY z{7)(le1l5$$Jj+L{^gsGZ4}$`Hv_{ zPRKCOK?tn{_;*ebJg+xk=Aah~DmCB=)B^B0ju|;VB0NdIIV@-qw+#I3w|~A)*hSB$ zXSWkMx}3`Y;7#x^^{YBvAM#j~0Z>fPd(e+?|Ki;Xd=0PcuO>l37=XY^@PmHe$R_FTGqmd%e$n3{3oz_#qMR50m~PBW#GzKMn4j38e%>TwWN!)5j4X!}vi z)rV{6mp1u#c6FD|{|Fx#7tGGEli69JC<7+$dY7{8_*`aTqyN8Nlhz)1VxMdTFHF z-nJGYol4XaCEogv0V2(~EilB!VP|(jvnt{6KU6 zaHiNu8~Bew_ZiXVT9Zq!G@ApE1mIVHT>mkM20%_uFgS<>$KtB-fC=nR(>OVy1#hk;mElsXPmXNQgooI)vj6$`&SGHPMHQPjA210hT?<- zet%vpzR-4D!Rey|xF~K$#VORT%=kAmkL)v zM=mB^DWzGE3LUh$bY)Lsq8$lLcosm!h5WLaX*V&Hls4$m*s;Y&LVfpc5%J|6}+QtpCR#Dt+&1 zN^0f7QvTm=@B?2Kzxl(vU%e3K{;s+l05m{3B35!AEj*7mBriShVrN_R(u@N$6x6qS zt+I_H`fh$~n{U-|V=H_0cB}vD;}$__;dz%vnzvtNW=^&E1u6ECKE2%u z5mkv&Y#g=d6F64w$U$S;Q_aglw^?jAqZmw9+FWk<*iKh9Nd7hYQ!Ehm@$MZ-p)9H_ z@P6_C#t7bcq5Cj$8bllD1N@P2b-50%i+xf2=A5?zl!rCL_mE+t7z=$DheOroQTPo6 zNUt)?F{M(FhPmaPumA}6AUo2ww*BxQ^FT{Qt@!#dPA4~;IVr4vEP%9vT1W%|+&IBc z#Rx?2lYsx*>QnqMEPx7O|HpkH8~~z5Jzk-#cR1Q~_SDkS>fMHspReXtbD0J8_>q-4 z9Tmt1hnsN-1MHm_W7iBc#=>yEj4}Ds-_LnTG8ln_2qZ! zt156i>uWzS?SrPWhYRhl;Y>=2Lj#ljCYe6tbGYx|}IB>0)wV}UFe zgQC&Z1$p3!8}rUz)!Q%|=Fw~F*l}k?ZmaAd3S=5ngru%mdF)oIO?_WO27*CQ$ubKQ z$51VP@Xr;scvyIU-gD>i~;GW){2|V^0u4TqCU}HM90FE^pMlrZEz%keRy#RroscKOE9t6JM=+qv= zoi9;q`4S8NU;h*6kNU=cefNL9o3HN8A#C&Cyc0+A-qD6D2<=T}`zJ7WAC~v4C8*?2l8d51!zszMZWJC@9T~e_- z1tK7cdfs85(BA0!?y6|!rkK&_!TCOGcQ8Z}L_rNx!l3mgit`u#X(!ZX*$)XTXmCLB zcYnX%fyO8Whav2LTNI|wVJzG%+CY@Z5a0YuC{)HtbkC&MVGN?XUqAil{Wt&o^{+l} zL*e0^>ng#}%xsIFNCmmCqV#O`3#($h=izd^M3DN2{uTw@OcmlsY1Zy><@kgzk*hZ6 z*y+|pv%fP{Lcz|9tlrOISLyFT0JYNpNmT;gv%%Q>xUTOPAOHOKci-H2r>q*^?|;|; zu5!KGJSf%gwk1~Q%xyD@D677nh+*04InZ|0WA$;!CAtx(IaeEmVL2I4;9x7YL}5;G zpjoH7QQvB`1H}u{76;M#!^_$AEPso~g@zQ*{=QO4EkE^iz^S=-BVZtG;Q!wNP=-n2 zK>YLK|G01ZhYup1{?k-(nzJ1v-O|>LUkFKArg1-GT6ys1}mQBP@F z8ooSf#o_4Nf+IoyTF?0K?9X>yswFm?om*G{{jXcd^f!vzu5)CK?iP%0yRx|c$r3fW zLsctebUZ2CJsSU9O0}>ZEkU^56_v{cov9V-4`oH!rF1m5UA|KSQ-}5t;o;$l0h}A? z{AY#`=Z5TrF7)l}xGLz%KugH};wn?Fz~~oroTtz#y01c0qCscCkuy4jNA&1TEz~xf z>B{wEXkf;-{S38CF*<>T;+CPw<;Y4la#foC?e*N zn5}UQlZ9FXVd@`0ECv!U48FOaP`p zu|V%$us>V|EW@(AXMa!EqlqgsrZ?Ojmsc_bfzE=;tenCExPj*>2I`9(MiC8VZWF`D zL0g<0^q>~*s{Io!-vVR2WAxiI)c$a5{i`lbL6n zr_zAG-Y7G`{l8|0??0iGLaE?~e*&nb7%4B`h{KOpcrRy{mhNOTXLGY1n?9UfEge5% z_|iwyvf0hG%Qz^GzB}6SxCu+%9PRH}QKvAX=K2V_K`t$Q_0?}iHd`wuJ0`POq++y$ zIggds(Fo}kTW82#!q{n5LDUdwY*PKe`g5EPb@2Tc&5>>uw1_n0c6Re83S*(D6e@UQS>pNf{&#b{?MVrNdrG|E55zskOQR|W1-wfN@sYs@AxsLucN^CrBM*FStmyE$gSz@p8U za)K!tS~(Ryb$fDhjx@)8zHCXUPY;=W6Gy&C^`i*;R`Ovux7iA%QBaTd?}ThS*6D?Z zbyXvB3hcuI-UnA|+5bnJrPls$H{;&W`wBAF|MbTnqv+D9AbkrLt)!~?zI=5;uC2FS zZvlsZj1U?T2tB|A1Mh(j!i)jj!M4ZW6uuTf?}3e!3}|g{fs)Z^%U*LWgj47$?X;|M zkp!Z2L_t6#15`@jJq;KT9)K$7e|P}|1DL{lR6r%L^8;qyKYTjZ2|XAzO(q7C^ULQJviz0tQwzS1nfxtZdl!zP+kVBgc3@yMh6pl8n`gGSuNsoR$8(BpBX6cO zeQoSJ$_ud3)UR}Tpvq?_S6xC&CMi<(9a~<$v|x&BP1oS@9M`UVqMFr1s{ioe!&Be& zZ|PQB(awvWg`Gan@ykY*Qq2JKH($YU2eg7YPCUiQA6K>Y)bY^$a<@qhGXQzyY!Y@U zfesFyzCLs@I*aqgffs%AEKAZbdlOjkQDgb=K@H7;i)&znn>?b0hBndC!waovp8o93 zx#p&1+t;68IEMlC%f60PX2*BIFS_($LRNCDCVXQ@y@M$^c) zQrDDWcXoma1aPO4`c6(J7<&)+vF?-wfDZ!ndv6QW+W+_W`|TUgUN7bTsl^8Xm@ho+ zgq$eD=06`+oqbY|p%Z9OuD2E8z9|=ubwiU5nvehlNm9>+yCH2HQiI(sK__THqj)QS zTNJ<5wzoE)$+SOnjHpvVH~?1p>yPWS_0EF2Q%+d`p5$XM>eoKr?f};Me^5cx`oI4R zpz`I50Wk)W$MEV<{*-Wfj4`g=KKoVj(b}b7E}UZH9D>b6^V0an#<;#YCT*5&*z?Bc z;j5b~d(-d@`FMA}al%tR;UVQqnWtUvNBoa`&1sy^@QD%6@&!GQ9we`N=# zJNHd|1OP0qLPD)?Ju7q#KUv=?nh~p4ziYAC8a>dS!UEn436Tj>+&^?-hys{Tf#{Fk zc-C7COs7o38{o)`w!v#Z{8`|h_)e)yvYBQFoDv7XV7}N1z59dnDufXb#}tJK5kqHZ zil--`3ICfH_}72>Ckh2nRp9w~G8O!XKgBqmogd4Q{cQ;7cSk}_N+4`)pQD`E?sbOLGges3@BJsmiW zs1^wK4sl|1{Q`d0ay4YwOp+nTO^j0VyzsS0ao1W0Bkj@%~QrVi7hv8XuIp;4^C>5WuP z5ZS<*u5H_Nrg>E3pbvIN-S&;i>EXv`zFtFfh|85p>Xo-#7TpOP4tYak(jZM1G8oQz zoCEM;PCJj;@DG0Xy9Z@ci>3&L05wK7@d!}k{Mtk6Ah>5;&cg#k^7+Ed%#7;MF>K^n zY943WbkQ2S07pQ$zofZE)#^w?qT{O{MmMur{@usRb95Yl5ntIX`7?Kzqs;7#AimJu zZ{2P8Mf&xaiPo_+j+QoVF1So3+gN-`5`e4Q=?c>SO8dOG0BXy_2T=FlJA-%Md^tNd zM5(u_b$@@O5T4<#7DvnFN(_ej6dg%Fwf(7&j|14dK!b9!4Ls0WGYcRU5+? z%{O2LUwlI)g}|*Z28x_?@YBBx{q_5uF&+PMoj1y!VzXCP8!vy(KF{u7m^f0e@-~NO zF4AuyO@17cCajo-hm%39gG(L!p0SHx^kkdc49N-8X3n#OB;Y(W_e-l72uCr%>+8RL zbbyL1`b5zh_^@F%RIcf2233ZwGJqDiqPlzP$%Lo2Unt|8FB2wMiCy}Pe!}PTWj6C3 z%j&^_0WM>o9X^4nzw?;)W$CIHv$R?kEZ|vx<*oGEm#p%>^L>w4vG^r9@Fij{#-n!j-0`W7AT>BYk;pwa{}J^PNvk zE)Vj?gfo2J#UTiQ`em_vcUsnMEbYeG@uQ}(%TT*sU7T>S7yOvufW1W_0SX74PGusJ zzv2Ka`TOwy-V~_&u!a{e$L6SlFIE>z*GXmh+F~&@Li5kXh9k6zW`RP?btC>$+n)*% zl&7Eygy=aV8{G`CSylw!M>VIy6y)gFw7u182fqI8<1eI3+025^4s00Xs<*T)_n%%k zc&w3Y#OP`1^izon!WD+nP#hmlTmh4ev)A6fz5mVq7jIcbjxYU}bcx~%(Z=BQ;W&AY zpF7OYwyOTPI`X`Uzmf$7upPPkMA~sN%CMr*kVqKQ`9Yiv5LE}mnWf0NHNN%n!=IkL zSxEAIgIh;G%%b1#lZT(E9vv7Ckn`6bCX)@biL0KGrbb7X`e02()qGb+s8d4sC$U7K?=;9vaII3oMhUT(eYK%`G(Xg)XB&g2u921BK1qM^^;kC7-o4y(>5sH-!A5s! z^fEUeyekXd+T>OF&O8-4(6%I~90g8@Pi|A6sje6I1;`J+ry7Zycijb=$vf;12}$^^jv2eAI& zw@6b{*Qr)?u%c#+kbtBB<68!bMa}*H>(4DCr`B#Ivb$#RLoU^jO#@s18IDydVzL2* zODGB=X8=14T8T0NG!LTE1nr?#D}Re_Lvy5i2zn%Big*XIk`Jm5B) zdM;|7>AF25IC^{(&GG2@Wr7pt=h&m{?DKYh&r*gxZSTJurcXTi1oGayx0*E>PeIpp z&7&MJ4SfFe(E-km?edfl)GQ6J;u`bdlSR{Aw zWgXaI9Y#7W#=FD}kM+uURo<;C|8j?2w>o+% zHmpXfAm=D!xTg5yrLNy;PCiZV1OxoO@P_S=4ooT(y!b|Q-;S^kjE%LIpjil2CNz8l z>!L3IgIDVpCN5jqx5&m8FLD4xfqEOVe0T{ofg#?_KVv=mr2jspbjFW?9`bU$rnVo* zx5$vb6t^yz7Ib? zjPSMblxXD+ZK?N^tlr?v3=duy{=*;+? z(T1_dM55=pvOh8BAO=r8nYsJLQcsST5lyhZe)y)QQsIP^)`$!PM-#^f22a^?28T?D zXQ9Y|BQC6Gb1oepsKGUR`{Bcpk*od6t>ZQ~vNjMnII0N;I%QDl((7t7;v&@-iE^;( zL}*^~7Keja=1n_W0aHa>44}IgbDQ)iAtN<>f&B2nKZinBUccB<;)FQeuHLhmF{lcM zuRmw?^$pB6h}PF1u8y2KrK6nC`W3e7T1NGo)}y=Z&Fm*5FPoN@{;xm7sMjuyYyFfVbetBo6b`^mfgeH$ zpys#8O>bG(ib#YoZw`XzdJf4_ef0z5E!v0PzSNX2@y2B`95D^GN)9bf#RrSO`d?pv zPN)^6YzTuRBq$3}$^bZk0JZ#`0HE)062GnPeMU;*gSnwtq>8g-dO6;Nk9})Z{qWp1 z)%ov^S1;Y{Z`frD6tmBdn1q+fbu|cxi>3V?I@3DLe5q0;S26xS ztLw7Qz8ul5E?qjCWwVp)Tm3pw(}GW+*7q9{cCq5GF=2}tVlt`vu~W9+8> zjE-9VeGA!DaWxLR1u5VJHHPhAUW<2rz*RU=#wrfXSMIY!7(c#+;V*7U1&!kjhZc38 zk=N)1ngY$OKXxY*lJY{WTvv4eADD9&7-GU^-=FP`1?#=?q&VzzMO^r z!@;IHS_i+{l?eKz473taH(Rl9ma-Q7g}>%-Og4Ey1BGb4mfX7X_18aWC@;<$oVH(I z=iiRxzwO28rm4LDv`v2f{?FDQ{>pS;A_u3BaSs&apcEx|k?%DJ)U$($g3ZEY>p%9% zsC%c?m^RwOFM&(Uu%|{7t4rs;d;Z5kU3RKV@7qLY5R*G>rEz)9u_kMDh?rnsnu#Wt zmPd!8&A!nEcCcfOon5<>ZD_iC_qVD`OABn?^O?zorL*rVZ)?dnk7^>E!0Z;0!n?OL+TgvC@W2aOc8KXy=-^kHvVVyk-euR7|<8T=rNj!eO+P zuuwag2Wx(T(jN4=oKKzQ*La@HDH=KR)w9M1Yh(WI`uVT^+&y#Dt@R}@{f9gE)vTW1 zAuB~?_qvh5_@v_#xv!e<{%cs4mUd3}N3!TjQK z?$+Jl9lKuK;1f6!xhN;b=p-hI-BTlf+#J1=@Qur)*-iaz)yhh9!*lkj+n9&LB>NB8 zJq?>Pn`r$@BJZEQ+NCrJEvhCD{6o(ge7>(#hL%h09-L1! zG-M95eY&ye!&^gVW;&j4+Evx+M1OxnX`8!!)i1WQjU}j4%%qrZj~-u|iddU2on4(+ z=u*o@n>X5l5BQt;O&{}z+c%HlM@9;ZZ_1}!T~_!1m#Ke&Yx>N#24Ieu5z#YI@-tN!E~zG@t!c=CY62ml za%mzl5QWAB8kFV0Vx^(0YZ6x_LZG&WvS+WhI4=m zr#faPyRX#+gJE4`5!G{v_g}sG`InRwe-HJdsP@Up47sj2*@N0l7vAKl)z+|GUO|q^ z)Smc!l3Q*$+9_h|wx(vf#iZa^IwV@9O0V^Dx2Bq{7U+Y%JN^g%16u%R?Oh&^2#%dW zEdA1{TiOs<5K4!+F-jD5;mYM!Om|>>J4qMD)kmI)G&khqzC-kYXb)~}r1F?9N$Mg} zM)%$R;D!cHPP$aLVtPR#+3MZZ<(lHoZesAnB=jXf9sx-Kl_1HBWQDCre5wAd*FoE_ z+pD~=DREh03K6|t-1mU5m)MNkK|bGJMLMfDSyFAJ^zEfe0jBybI_JhCevZb!#C<`f zw0v2o$kB%==wXDi{6PgJKY4}H06XBSDM8x0h-h;2W^j)}1Y+JPPPi~|&+s#7q+3LB9Bu7;pvrc06s1f^xwy+tav zIyw_H0Z7c!JMV*6g10mK(FKrzVqotLmbu)*$Y|yaC45ZG^L0M5d_PVCZ z;f`pK){I)U#`Gk;)Dl*f^(1UO%9L7d-iuU9qt#fe@X{{jSj0vkvTd|#t+k%;{POsC80cgaD_+8B=l&I5Nw)wjA@tH&Q^Z$0fC z8t4?t95f$FMcRSFfS4!p$Tf*m!>n;MGdx98ZDK2B6^SvGo=&o*dzBKc9)fg8{1hJ~ z#p`X)wP(*77(-38s^snIUh+0^eS@JR%%}c)KVd~JV@K1eZ9Q)J)V6$Yg>9F6h&93K zppxXg^Re6 zl&HB@SvduLfQuI;RH>-RIAcFE)7j4EgCz$2#u=eqSgzqi={$JQg>McX<705}A{~-n z8P$l~2^jx@aJWNE%(p-;Km*Q(ZVby+6YBo5ENFf9SSG|c3GCL-|lWB=}XW;qh3q z>53uJdd{nS!h@H})6ptPwdJa~f*P@fX2KjcOyQ z(ma(4wXo7iIGs+>UfR;rO{UbLshz1Cc1EUdM0ifM(ny$vuiCDQv{J$%EAzv08Y>pP zzc}aCv|~q;<%eAb#nQ^u`0WV?Jsf%Nj<6hw;!xAk!VE#0FZUN&%Sn7=T~*YAG%V74 zBtO3+Y#4!_ViAQ|D2L)GMvIwF9m{IT#wd<`rgKr4Z476-`Q2=$vvas~!-#BAXy+$J z7iE~!a@2_shpCsU)n<5o&s-|t$efiRL14tME2_o?uHT6C4x=%U3W63Gbb?v-(Hc-f zJ^KA&81pLJz~^w-vrV(nAvNE2$@<+7s+1nR_WA5tVk{UNtOaZ&0FTX;zADiyW>O6n zic#1kQgdq-g%?|PWE&|xr2KrO9@*I!o;WFOsc~U#V7Iu~2B{xgMH~({{MJabOSQR zidRH34uLiQM@C#j2By24WZRwE9P{=fVyS~6s!DCidkeN}^3esW=BVQiaU7z9YeS|pT7$n$s zqzSzM;>t%zJEc99GxH#OCYvw}L3e;sE3`BjwH%jdJBZ_0mi8G{h6w&(9KhUJvtHQ4$-P;fkUrzwG2AzI3H;JVWa@^&;Hf$g@b>1QHpO@uVnTC zz-8Ei5QspOM;As1M`J$E93A~f=Fk85M`n9xvvC+;MdecUiG4Az=0ih%Hj6K%Tp*dk znrbgpoSUH5h1KDQ54Y`>7oXxudQ1$3iQ;3bkLA^9tzJPUGp&qg>8NQL;T|FFX4MGH zR!?qhOJN{_E zCcx9OBbA%jbFeri$o>Y1ewlzvwfq|@PvRLY9k#eVmHU^Joj2p5gAJpN-PF-)wr&$`};37y8 z>vY?zuvd{BCPR`sy{_rVP+Z)$;ggo(ZZ~biaDA9?_{&_*NCjDuoGjlWpKyva99d9C znu65ET5)QAhIf8)p)3RwYVtxVrG3XCMz>Rx4=>H{#y@M_Ixp^MLMP5x+nCj8EU$4@ zqfWcocQgAUaR_k{Kq5*aoHers#RBPIbSKjF9W5eg0kETI)l!JU6xrvAK26ME_{@X$ zSFbQJEOUv%D1_1-NuY0FwQ8hm1x^5qpQFm`oR5j>O5q?a_;$c!d1$cx6`Bel1t+3j zM2L@JRrkLlcZM9P))7~bsp<#C7wx4mSND`X&@#1w9hz_fq~Xrw^Kq}r!iVr;#*7` z-o^BCcdsc;Dvc^VxZS@rX?MsL|ALGHig8CAqm8HZ^3JtVC_B%>6woUw7aK)~tQD(H z@R)E{Z7)rScWjiXVYu?*A8RYxG{Z+ude=7prJ{*pXu6Z^QJx>QP)I5+oRF8EN>*CE z9rMWkeid5dmnM0!w=T6@o2%7uN3tq!hBs3p^>RfJuab6-(pU?PzecKoUT?BeH5zG# z4;ud91ZP)kD$x#_DS~J)Q36E!bfrLVtqamUG0>QJK=_o-kB*KG7L7SiP6jdsX$#3V z+L3duVOvY2!;R7ko+Xv$t;?rY#52h!gK4#zbScj!*0RNBiGh zyF0ePb}z5=sC<1}*+S#`LooezkdsGln^U3fAW5#I z-SP167;z+X#&g|j%jAmGAG`}{n;O}|1$bUKF==68+NjFLW;XqbMlETlob}l%QrqKfntMH-Rkf$C=&p#E<&{(4ic)E^KFL$%e+(EliM=jK4c_rjV ziON;R1|7*pGzF8~y@HT&pWs;=B2#HoLoocarZ$;V%e>QaX<==S%O_GBKF-%S(uQ}$ z86<8>fuz~bd7*$uLKrVZ5=raE+J8V?<+ZP*rO>8S1KIYsUczcIXR*A2gxBMV!|x#%lqB%U~O@?iO){3-~7jaV2Ha`O>GNBbdMihlCKG%saAg||gSsZ=9-tR2P_MVL3Q zzP|CF7W8%@4v5e%k(6^G(3E|#T}WjKLReyPxk$jKRF;dVHQHjSptj{ocq1E>G2HCv z5BIW+wLyZ)pvq{-%&Npu{_g#D2fQ|5Lb6l>7pVZt9V21ECj3gs=zaUVIoOZGO6cdi zCT5?>2EhdS1IR9#RibumiR}9@0y3Mm=}ca}kU$?7``PUeKnF%~l4Yla?{=#}kBams~)RvOEEkrv~D99!0NY)yg)>>Ciu^P0FzJVUI zC%ptTim*J_EY=|jMERHGo}M1KP;ND8ty(KBUg>3E?8?)P4A)I~ckCL9Ych;51)_$y z23trF{5usehrq$al!*I(99)7Cw@f1Pk6jpJPNEtZ82GJvvK2mhlc58baRFf1wEEU` z(W5!nC#RI>Y^d(NZ154GAq&`EnpC)j6;|s#qVI^;duLFZfXzknNF=gr7VVUn+NiP6 zD&uV-+Qte-K}KYL{jOcqL)+X=(haq>J-MgUS3Yz*a^u`CYP0tvC>9p-OeFY}>hrx9 zNEMj+p}8d&2zOYl$O+se9b`E@h$+nyTBDc{P?T4A3wIoX1~kpDr_JpOWFROsGi@TH zr^62iy9KO|Y`og#RErvAHns%HLHzY5tGLp@&_;_S(Pnc^O-+<4roWfpFR&x$Gv`Rz zXLf8OMn>(Z529r-I&&b}BoGJ?Yl5Qh$FQRl`=AD?8WmOYd;23)BK4_~!J;C8diLVX zXy0PY7`4d$3i4Aied=Hr9*6LtaZ%l$jfv@7Omq>eZvvCpaq(3jU1}-bQe&vio|ROZ zvcqYTygZ+rj_w7ZIMgWSudOAYz=Ljn=L3I-A3}VX-QlpRgO{gup{1;bhXk& zQDI{lI#R<7T2ZrDYu!#Ts{AogBKC^%a<3`i9rOr-3cs^F<5XM5DT`Yh$(NQ|VXifF zZwa#LXcMsM@hCN%#r07Lx-YTGSFD%>=I;^ggA`yl0zXLmW0!7>KOs0Ag9DS*w_E3? z2XCH!)Kj-Dmu5?{F|4AdLqodKQZLAxWKigrGLCGEi)#oAJDa019%>4skziV^bYgmC zIC8BPgIkA&G~!oTUy#x5UEjF%(4iw0=X?yc;TQkXT>Hf(H*({+BXhYElbl|mFRMf1 zXfQY}Co2~W9Y35E%*0uACbEB!V^ty7QLAqYDu@p17%vxRn4VM1f2RDwYf?;4K`KZuUt;%~<;09(vhZmtY6o2@E5EFT$*jqnVYKUh4MYxAt+ zM%J|HM9&>Jw;a<5d*s<(-CUQxy&le{WPnVtms#=N@pw2`KB#<&wbrdUl!!!ULOc>Vej zM=x2J#fzEjA=Q&JMkaRYYcKBj`{^fj9|HbBRr;v?LjyH~T9I*Ti+^!CI^kty6S}sF zs4NO(&BAPs6OPFOQBwzVUh~!f03ZNKL_t(7ve+3Ypj-h>$`Nj4#|T(Mk-3Hb!LF{< zv9u>SSyx1}Ewx5{GYDcTF-N9!k<~ar1!mx2%=`s^I0UL#iFOHG>0O`~5Iu`< z05$C3#6)!yzJr>T88ga~xx=kWg}WXPYCdd3QTYfdLB)<4ji`>W|2&KRl6}9wHK~6w zs8#9~K4>26Z94Qh{mK)0u3LqHvF%2UI%Gs&@1q;0G}7CcGFu&q7H%uo8B9D?>I5l@ zO9*A0kh>TvJc1x;kycaQG|W?|bl`_B)L8SSVrvJ@=54dUvza!LO50Pw9d`5W?$*_A zYtCVy;P26nr;|uQUOJr~H2`3I(!mcLcgvbjg?6=0fBt>AFHj)pMs;Be47AQ645WnO z0;sMYn7cJMK3CE+J-+P+Q(0=fPHamrtg)u1uSf$hk*Q~q8XDOuag9fmzyXpm_98e1+53W>fdW^LBE|0%sr!0a zqt(G(oYLJM3ch+2GEraw%xHt0`&qz>5?T94|M7o+K^4$f#AipFo1@Fw@F_jhTzjT{ zHaeQGLRYEWY{@OG%-~WRCH;%_YDaQV(~gUc%rrT#X={)zGOXkO5jpNdiqA4$kDQv+clCEp&XEzi~KEHsgkVanqzc#9bg9St~pLztFpx^&8w zSL{owfDe3gnr=*9RlJbbd?c)%Z0c|XPM@BxBg#f#06tjwfw>ajqMMhn0Wc$U@St;b z#Dz!W1LM;vDJ3bBDJ8)r)4skBpDehgp0Er>YE8EEQj#^*s;8xc0gle1mPQ+4I)#?( zdej!4Roj^6l$Gb$qU z93|TrmJY6fs-At-PA^un00LVYEmR{01k{oiquQ*Jsz#({N|u}E0Wl?vV~)&#Vr^6? zd)Z4T6n6qjf|fWD{5@u8QJ>EUToM#fY+*~I;Us_rGli{DI|S=ISeen71dC{eWHg6Y z*wsJ!^M9fN)X(C_%ql}Y3cF;iUh$LO=qw2ed??VG!4Q|SVxprpAu<^o!Z5u>G2jMv z&SH-|U@xkC_~kISO@u(PsN5bc%)Zd2Yno#wlfa0sFVY!|wOglo+m6U2>)geQbU%mAkNzOHv{Qj4Bwmf(%>1bgBxWGZ?8&bUBHa zp>uS!d_mRJ9%`z{&@U)C7us8DDRm-=#mr_{Dh)=%gkLaBA2m`w&NA_|2%9g=ZUs!( z6h~=+Qq;v)uV&d05N}S(VODN^dq>cWEoo zsuDsaAV#2R%wcCs8k>n9>5PPGHP(iwL`x>U%7sssX9UrOIgVpGI=gmGaklAnm6yh^ z#OqwRZkVpGt1I)4wK6)ujMmr7cw>b$gRR3yMd=WPa|Cr6f{L^RWl)XM(IY4WgH8eu z7n!_EY2#SKe8gE>uiW%A?s7W&Yh7ey2ZQm0O&2yIrkQA@_$rvXTH?SkMc)ueQ0TzT z#_^Ks*4D1w16?T*uw@EO8}AwKYQ6Oo0(7?qZb!VHn;V}l8Gm%-MBc7=6Di2rbXJ>7 zv(`|oH3ZI6qi0yGS{`f#0^JGdx8vzgz$Q<^PU< zf8@xG?;DH4OS-z!pgG#+1>xtiviLHSjaiY;Q)&yO60o_b=}y5SQEga|BQq$CT$-%) zPNV##$tVi*&X24ZaqPKLOFxyPan212$!kjs7b3}&TF4SB)5fA_vxy$j89PhBiPCXp zRF$)g$C`<-P zjJ4T(qy}Jy1N{AE^nT`iXY?Y>Oj3I7Xd1(NG%*;K24kV=yOh=|k~yWBPP_8NDT=3- zxOwN&8cy4exWz7(ZeKnX&Srb1N{YL4}T`xp4E)XcmeyY&rb#ao;Xqrz&}I{10Catr-TpGsW%?RZ8QMxDj@IO1HO0%*ot@K5J#_W;_*n}}rk`XzdNSVp{fAq> z7~j=4{-k^Oi{THycbo8q>!Ff0SxBx5_Ryy<C0JUiPwpc?lWFfNt z88)O`gF^Ubb$HelBS8)c%20yIVULkU`TIKyFhdMc-}!ctz(dBW2~B{ow16e%`4mA# zS{1FTVYwf47mJ}5e$W@x4i}h728a6NsQUzC6ny?Bo9_XF+$5_Hg&(j$V9Rg<5J5iH zE|c|ZP*X~x*;)L=qL`vywmAo*B{HUb#HSx4XTdDKCLetvwQpdOB}*a7?@bWcTNvp&ZZn0^QuW~Oy06%hzPxaY?~{_bxtrJkNc?Xj1w6g$A##9Q59XfUdi(HJ>)SbH zO4{zpufD7k16oo`H7|-mP8O-}wWm0;Frn0DW``|O8V5`iVY`|> zo}oQ)?p)KCTPKDa3%J^f$cj{5c|JFG+qfdELmZj9V58Nzr#M3A_h3yd=KFw{sac=xc;}N%A;~`HvYqK7m+x6s8ch;f5Y;E3gW7`+?-HyDvTxN3jS*I$+ zgo%_4bdFaBE7*KJk4H|H?^Z-3n%F3eezz+mpTnx27+D|9?&c0xr3Adp}fX zZ_Tx~&Xpu5I9@t&B6X)8_An-s)kHg+d;VXSv)+)(Y6gPV}ykbW2nJkvUcRP zrTFwPp;TW2XDsHlZ|kWih4>v*s^y@fJCh&~p6q3dk0%G|Q_D>GWwf29viM?>$wa2z zQSvM&Vv{q58AeJu14=PWf)IP zee*@A0-E`nEc^YR3C$4==H~%A&)jEgL=>Sht2G5ygp1LADkKgPXvT@`E>Tvyq%tGN z*WB{TDC`c^58r6swqxrBSGVcpcxE~+ZcNd$5TYDzR8!mBczUWSH7}h6CSMJJxZPX4 zmb)lL<;}ZvMOWP1E*&|7zH?p=4-#BI5df9cZB*PI@>=k})PVOYR zO-IghnZ(m>jec<+G z-`l^67~S#p&&6q z+DWA_B25z&@p-?-$H&IXZL#w7Vkd9!@CrycJNc8VmiL_A9WM(k(oGcxu^6UM)BNs>{j%Zsv94V!u%3Siv31&uHZY7<9#$S8;p&c#5 zvls=`ln-|VLm{viVCRKLY`P{dmx2&XAm+a)b* zO}WNwRb!@yT??wPu(_O5G;^js^6bGHkU~=+mynQ<0zyZ0fv-}9`adQyqPoAvA2b?O zIm;!%U(?waoz`3JQa$=$QGz6*T|yn}H5T2GTG+X(V@p40RNnx@UtoM3r)3(#Qi`&xUE9yH0Ua9A_b>&- z$Kqnp#hZW@#m4K(Ox{6yZe-XG4JW=h_vp$OM~--3y3*}4?F)}vh@vg8D&*<%+i;7N zMYg5pd658n>r#Ipxz0A#Y3nQHBSCfbkkD2-FGvfhezJ@<+AU5r~5_;0}}N;T%Hv zgjKuuC%Ur|3sYR-AS1Epyb8B(ajxda^syHO(fIGRv_mrzlg8|7kFG%S$!ctzn8e<( zURP)H>~uMr0+IqCyuW}p6z$=y?Jm{@Zc>7VCukh2lCkObg$>Alg$h3++R~yci_Lew>o=S72 zKYBDCLO;@$#*}v#=L>0!J7=qy@_O&cNRy3hvLz>NuPR-^@i>?67=Gl^^xVUg)};n; z{kZSI_3ys>?)QPo)4l^wgKyo&v;SeMtIweCmhQT|uzh76`5g=`Lu>N}oaDY73if9a z$$x$M{P5nxFJJCFe0cA>=kVd3FL%B)J&)I)1bz?CA}Hd+DUhHtL((o8KzFItu~a7q zuPw{Vhc+m)d?ACb3CY!rc$tUVU{%08$y5o1W{oz85RPV+%o799e<6!pg;n4~N6gVD*ow79SAiz3sKl!$%kd2zYrQ#%qEhv$}hIj6b5=dQGAvn&mu9Pm{ z6c;oCfd0Z>BzlG~8z(fR@vWe|B6Eh{o~)}d817-16v+I?Xdjfs#R*;ybEBZZ#d5oe^+ zNnw_JJ*vS3d7;tR_p7xgSW<~owj&g8b(WxMA7POq=RHI(qM4#L9#sl`OCvE zcP=ga*L%NSdOmsgiTKC8dw0J4^?5u9;Z^7h6EiDY+t!gOXyc1sfo2n6eQ+pxx5j-d~O z*{r5e1VL7orrd}-RwIZO^tu$Oi`0@Cw2BMpNVL!eC}*k5ea!F=2TUtjEV^Q>1sXIv z^J+H69?tB=Z-|s0N}m`VVB1+W&gcfh4Sr6rb((gyF5L%Y6Yiicd}Fcr3&gl?=aI+9zB^%SrORUm9pD+;P%$P|NZs; z%dc<$_Vo7tTaY7q@%`MuIJ3%Md1O!6iH{k`LEUq6At!OLG`)(H9{>FC;jh2OlJEV0 ztN+cr=j(62`PV+c*NA`+KN5cy!j+|g%S)4&D{VHfE$-g744#b{G$NN5F4R)()Rse1 zlPR57Zb)Suxs$;w7*UWJaRzQZM`@NY;=S5p<@8G(=7u5axrr>0f!w6!2CKfHGK^Br z4GA(^%Ng*6!E&J-w*YpbD8|9hMYG7*Bryn^E7h}Hip3(q zEy33E`F1t?3i<>=$sP`&-~&$Xc6UjP!9;LoOf<}aZq*1h^?Z#_a8!{%B3$ef*rNsP zHaQf8zwKv1D)v4&X0O`kXV4_-#f1@5loFaI=4bH*8dbSEdgeljt->HOW=m>oXX!?| zy3+Vy_6bka{tx1}W@qhGYPsP=n0H65NC{fw$P&Qos0QmdGgFlSA8vF6gpJdz%5V)j1GQV#5fS$L zGi-gDI~KgZrYgyWy+}2L8E-U!uV`uZGgsDGa0N-41*{O6I>;EP6+wwXaSr}k3|Ux#qi~&h`t{r zZ})dsCi~ZTSCvMQ^lfyp@Sk}ZzE23K2SWjnbr0=YJ~{dJ^5utj2cAM~5L#4Fclf`r zr(4}l`}#T!rWNe^fiba=R6c=5!t&+mzdnDt^LW4~Yd3G+{K+?)Klys|H(!5(y|8!L zyY+v!1+WdU72fTDsl7X&$EJfB=p_e(*ai=X$g=!4veG+tp`t=t;aEp<%;ilKd*rag zZ*((xR)eF{LR)?%!@!ej%%Zl60&zt-iu8q3S6U1PYk6uDjaC3Jb`hmHObDfj9h6kH z&MdK1J~3WAbErWR#$c53LJA0503-#F4xu#9qFHybrO8Y$XZNdEHIR^nQN6pO2Cg1v zmDwESEXXgfNsw_I`V(*MUeSLm36)?(zh8gMD}FG<(^#^Y*&KBHXBz2Hi#sEkxp;_b zf57e)h0CHPLbgRDY{4aSW`1V2k3Z%rB^aT?E9HiBa8~n^flC%8bH+rJNVuqJ+Htd$ zZ~VS!kQC;Yr70>9UU8J?K4)w_No#7}Ra~4fGTc+e^CI!}wzDKh?|5!3*LF@`Sm8|~ z<2o&{sByYcEe7Fpnvb)ezxi?la!v;Q(RnpHnuqS*I%DMe~Gm0*Z5y!&*B2! zPAK!Q*zW&<*KRrJdHxfZmdo?P!;g#*+28N@5Ih;WWed|O?e^vG{{H*JZ(lq`4S4I@ z(chjPc>8)TrD!~*FruW{l$vVe<(5LW8e8o7iM zYykY`8zKrI2z>I*vaj)_PrmsCf9V>o0#kf^F^Yy5y(UZxV=HlG80*h8+AS+lZ3t1jQX%2zxUtNb7nv!S|qz-vT(rPgagb>ig z1`x!pyRnqwwV?SIA}+UD%n*tJjS3lokWLqYFaR2mmaT@3Xgd%AnU{NTh?oz_e^iGC zv&d>}iL(?)RXPWZ2UY(^pv&ZLV8GRx5)6ZnYI2hyv)~fFIG7l7A#tpzFZ1S=zWMnJ zZ5kh90>mBxQ(7p<@mY!N@SL&yMvNp8Jn=KHw&LW^*g+GD#wKf`SkNMr2*(1ea&pd| z^`Z^)eZt2?H<=_J<1e4LQMUCs>gw*8E_JVPQCMdcrL-@)OCy_en=9@t@OahP(yrh z&}(^;?QD=Oo~a0GYB;B9zTrC-jzX_Bv?~Q(@XVgM>C3OT{{7+8?=HW-^>A+g{)hW- zy|_Hr%5PLUE%)GdjMSM(>9CuHKMeENspHoI)^6S#fDZv!0E0k$zkVz@-abJ@_y#** z*(M?o;14z}BbI*iCwl|-23)&#`0=khkH6e`?_T5{Q{Jyixt7>PtX5tb(Hk$V&t zFq8W<+JZ*1x20}`bh09h;bv$auFEedDBxD;lo^t(+DZxo)v<-zQCnNv)WB$HXh6j$ z5@Gz)2>)1dP`9S2aj6rGMBq?+OB3A)%2tc8#kds<0{REAJCy!xnKQ>+Ua5kV*BMC` zU88|&i~thSP!5J-FxtWW-?|_Z+?~|_--K0Mc<<7@4H1rA-vG!5GiSV7m)S?L4$IPo}Gs`11$tj6@ zuE204g;~O3UAoYdYxwX2uTE1^oa|?5((Nk#AlYiT$<&s)mBt_GrZo3xEe0FY7OPVR zos^e4!P7OJF(jCwcUw-ju(6F+O+{I_kO+e<@22{ zU!H}kJ80y~SLFBjPb`q{$a{`_vCHkzlZV;AKfTquo6rkE7x?s(f1bYl`t;?uPv`c( zJ$)NH;J3?{FFz>>QR2Vt*cLTn^Yg;IA6&2xU2a2%(9>hLE4pKQiOu(Sg{S@y}Y zwaYec+O)I-unDmKpL`v#`Ri)|pI{3d4tR{8?B2b{W%uGu#f4sN^7J-dfyr{>9Lbwp zqb(!B-nzd|=Ue5g@Ux8M@YsJJ7UYPU;yR=m3SNblSIDi%$hE|wqhCt}vx?HhphSid zT7f%|=|M2o3^$P;nOc(NmIe7Qg7g87h_F#@ho7IMQY8{L=D4!iYzi)MjPoyTh*>j; z|FiIkk(i+$5X`D^4K8%(a_{nR=>l)EOE&s*HLie}N-5zs5)BW4m?9r$#OTjI&z6H? z=pX6|RXB_ik7DshL7{+V+~{cH{_0*=4lu`8KgaO-vU2DYBlVoEJ=89Oa#d3cR4M%` z^2^P}D=EPv5Otk@001BWNkl6~FOoK0?p3USf2b1_d0_oS7{oduzyp%6syd5vUVOGnp4%3r9jWl1II-{A z%9X2DZCZ9bVDs9YJD+15fEdp%y%U>!r?e+;x#5d1PoLX0eQW&f?b|5;J|G==diwLr zuPu?*t~Y_vTv|85c#j|+<7j7Uj(yDK9U;a_4GOCknkX!dr00Yuj5O zeWG$1S?RN*+uxU5#rECynDAIDb+t}R>oGbQ)=teBtAG%t>|s*B9*ph*`M z8zO_>#w5a*B3MV}6gbPkE-(4wshS{hRnM=S?)_Zaie(nd&lAvr{(%1)a6N9ofk>XBo&y$ zZ3U>g7RU=cU#5IFY{s1ANbo;cTK3pqV`GUc|5v~<@usrp&*NX3;$w>!^ro^C`_}yJ zr)$SodT!q284&O?-75*>V;^`Gen6^WW2kCnHHwQEzj{~u56dHML|V}044)c8C41#AJQ zLRzFnUsjgOt~F>GC)(ux_S8Zzs6i-46bh$86o{(YI;B2-!sO`aNEPmYIs}7Z;pUIj zqt#--(o+smsEv(udR9w|$QUP~Sj=G-Lqm(jP-jFch$D_A1}INyymIAxD6+KRx!7VZ zpy?FsS2LE3K$!Nzp1rpZtszW_LP<(3lL=T3&hF8(m9k)$u3%Qg&-1en2)memXiD%( z`eWEi7F*&?@|US9Q8?^Z0pjB%j?TZjKM#&D>cE@K!Vp&~oo!qsC@8OHGf{;=Gap@P=d*`=>F)+c4KFC6iW^HYO(?x7{`fxUtQc*pRBjZvfGmzk!sXjDs)%g=?Ac$j@Ob+b*FACH6NMHo{cHHJ6VFS0d^xpp<-V2s zupp~8c)pA;J&2%I1vsYdhfBO+w>^)hUq8f&M;i#NK>Ql;ogA1x{oUN${@1q#TED#u zDEQX(x2KX?h+jRQeT(aJ@5L=wFFtI>V$mPZILZHX_x%X(asSrmJ$)@Ed zmD8OHMPUX3h3@54>c5MW%&GUkGr`kF>P-{!oFlacbOjmOlc&770;5Pxoe^pz$n)rS z#B)gfwIdE7&8J$MhqWm9aO}_!f?^1*QEP&#jD#*gBWQ=+*n-*dAk}@ls(+?j03|ec zrgN|h1i)0l6LAwb)bN8`dLxT zZkbDk^f0AlbE*&g2Z?p?cgDcL%F_}WfH+?|JaUOVA=eBVke&Z;5Low0-w zdGbU$FSWt@639D`9$mP(b?)|UVk|Ip06V~UvgFFvzrURW4geiGI1zu_`tbJjt?w>B zY%R%$<1AU{C?`}2c26$vmd9h4d9FpU|8&)-8`m$b{L;ryH?7=^O|j|tzI{_usgaRo z1tB3CT}VhqhNA*buukrUWCa->w#yxzcqSb!FV~b>X9}w#|RmL~coy8E1hhjWdI=kfzlwl0R^eo&B z5C$>|mtdibwMIh|wW7l;q+lpSz{&_IQE*ha3k)^R9y1a_f4|Hhg>*960&mG0)N1~y z_Z*UB{V6U$0-+Y}kMY3KOcfjMssg@tfyBW`X**qbrv2ipm`ZoPCP9&q#_ohH1k%G- zv!d1ng~G764U!i#|#j6Eiqkf9>EbRzW}w{uLJN7AR(c@K&CaT#L&s!vy~|Ks}g#67UmbLFO$8&-NwP2HDNW3%Fb^#%DMgI&K=7 zS%~K#6fXn)!!Q-8geR~q10banSx3{;c--95402(qIy**_qvQej@gh5sz0yP%TTbL< zh-%HbWHC!5F;gf<3S790**NYf@Qs!HaI}Rk5^|qN{DdMHM~cjXAlDEdOn%%)f^d-- z89|4LqABOIaVjs0bWuvJK-Cdky4zoEqyR_2kg`lAW2scZHBk;LwgjuB{jz>YhD7n? zfgbh?Sz!FwW7KMOkfRH0)P7Tf3j-8zhy!uh<*p&>EXdB|w4bpT@zwUkK~^817Uh(1iOe)?R$IDAm&M^ZP_C*^_d^hgSltc6&v3@MxCi?z6P8NE-dJ zzjuzcsZn0a`5?J8O^&0oy;N@74qv(D2dkK+RdO3jeFT1N0OIt&TYtc@sJT&be~qON zz(&~obwB{Z!nJ+-u3bY2ShXf@s3Ff08{ptsCthTovf&Hg2dC%eEqRbRIRi-sfEa=FE$Xnr5 zlavq6mp=(}p9dAOa;BSOUYkpHoim3Ay@QUGYgJ3v(gtXjMj36wwO+D=?FtXwFQmDbWNm)rqR{ z66Ys$ut;Y+V`X6DQT$PmwGX8u<%Ke1neQvcP@|2g_?Okby@Rx&&PpPAKTGSy<= z=&clIH#IXM%2cK$_e4v8MD;CR7-P>?8ZYj@r9ZTFEMdj=Dlw^|kQbJfyAwL;?ae*Q z^^tKmd5epaRcE)C7bmBi#0Bw%I&xI0Qx^dQkw~$`2KW_Sn8ROV1MDTR_@xlA_v>$n zl6&7;q~4#bB|dHrI1KzP!1MTq4GllI?dq0qSy4E#z2b*mCx6)G`*7ga>zm&VJiH7k zc#H^PG-T3u`t;wwpPQb%l>%1avGdRF{`M4M;`(<-Uwr=vX2aXvcnWAx25v_VaQ4@! zwaEB4twIKXyet+Z0Te9Ba#EGN zCS6|$y+~`ANgr>L%e_Puj^yz^VM|@QS0PhJca$nRCD9!wN41C!ElDkUkr0K8GgPE4 z5}XbId+jLBqYKPZU695{Dwc{*a#d7H6Tsq@xDJM)zTQogjUpYn*bKXzuF1KHeE`W2 z{ChLT7%+sWg;BvunV-}=+y3(_iOLl^fcE)lm4i#Qi^m`zE#UjTzx4Opqs2E%5&{D` zDJ=el#G<0n|Ni;R#VZ&35cSn?T1@b8@0ImOk8yitvg%+K8_Pc10;<}Xc1s6URN3zl z=#(TzlZl=sp8dQik#7*rwzOwI2+xu{$jUfdXhY!B`fe}v@wc7`kD~7KO(rpF$Gvlk zx}xY6V(SI}^2UB$9&$iPELA1o{!E7}^jW}txCMyi--|l?T_X-V;S*G4SoXD_1bBXf zt?&(Mu+4z#BBwl8Z9r?j2cofoOgL2J9yv1ps5j#D>9=n`FPSEmo>+g-fFEAo`UQHy zp_9M8Id%+hw|=|+_VSw-FJ7F!Bwv0oN#Rc@QzR88`#V1NT^HSM1j0Ko@97x!7aMqZ4CZ zeePP)?ULd_Y;ps!bMFRM~LmZGu?AMEcP z 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 + +
    + + +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/docs/shortcodes/p5/index.xml b/docs/shortcodes/p5/index.xml index 151d3dfe..6a5c4c7a 100644 --- a/docs/shortcodes/p5/index.xml +++ b/docs/shortcodes/p5/index.xml @@ -1,7 +1,7 @@ -Visual Computinghttps://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/Recent content on Visual ComputingHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. +<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Visual Computinghttps://visualcomputing.github.io/vc/docs/shortcodes/p5/Recent content on Visual ComputingHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{&lt; p5-div ver=&#34;1.4.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. -p5-div markdown {{&lt; p5-div sketch=&#34;/hugo-vc/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. +p5-div markdown {{&lt; p5-div sketch=&#34;/vc/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. -p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/hugo-vc/sketches/colors.</description></item></channel></rss> \ No newline at end of file +p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/vc/sketches/colors.</description></item></channel></rss> \ No newline at end of file diff --git a/docs/shortcodes/tabs/index.html b/docs/shortcodes/tabs/index.html index bf004a25..67d594ef 100644 --- a/docs/shortcodes/tabs/index.html +++ b/docs/shortcodes/tabs/index.html @@ -1,29 +1,186 @@ -<!doctype html><html lang=en dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +<!doctype html><html lang=en dir=ltr> +<head> +<meta charset=utf-8> +<meta name=viewport content="width=device-width,initial-scale=1"> +<meta name=description content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. {{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS This is tab MacOS content. -Lorem markdownum insigne. Olympo signis Delphis!"><meta name=theme-color content="#FFFFFF"><meta property="og:title" content><meta property="og:description" content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +Lorem markdownum insigne. Olympo signis Delphis!"> +<meta name=theme-color content="#FFFFFF"><meta property="og:title" content> +<meta property="og:description" content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. {{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS This is tab MacOS content. -Lorem markdownum insigne. Olympo signis Delphis!"><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/hugo-vc/docs/shortcodes/tabs/"><meta property="article:section" content="docs"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Tabs | Visual Computing -
    +Lorem markdownum insigne. Olympo signis Delphis!"> + + + +Tabs | Visual Computing + + + + + + + + + +
    + +
    +
    +
    + Tabs -

    Tabs -#

    Tabs let you organize content by context, for example installation instructions for each supported platform.

    {{< tabs "uniqueid" >}}
    +
    +
    + +
    +

    +Tabs +# +

    +

    Tabs let you organize content by context, for example installation instructions for each supported platform.

    +
    {{< tabs "uniqueid" >}}
     {{< tab "MacOS" >}} # MacOS Content {{< /tab >}}
     {{< tab "Linux" >}} # Linux Content {{< /tab >}}
     {{< tab "Windows" >}} # Windows Content {{< /tab >}}
     {{< /tabs >}}
    -

    Example -#

    -

    MacOS

    This is tab MacOS content.

    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat +

    +Example +# +

    +
    + +

    MacOS

    +

    This is tab MacOS content.

    +

    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. -Miseratus fonte Ditis conubia.

    -

    Linux

    This is tab Linux content.

    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat +Miseratus fonte Ditis conubia.

    +
    + +

    Linux

    +

    This is tab Linux content.

    +

    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. -Miseratus fonte Ditis conubia.

    -

    Windows

    This is tab Windows content.

    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat +Miseratus fonte Ditis conubia.

    +
    + +

    Windows

    +

    This is tab Windows content.

    +

    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. -Miseratus fonte Ditis conubia.

    \ No newline at end of file +Miseratus fonte Ditis conubia.

    + + +
    + + +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/en.search-data.min.9f0b9afbe99dd5dc60375df05f812efca236ec7d224500826bb63c9b715c506e.json b/en.search-data.min.9f0b9afbe99dd5dc60375df05f812efca236ec7d224500826bb63c9b715c506e.json deleted file mode 100644 index 32aafd6d..00000000 --- a/en.search-data.min.9f0b9afbe99dd5dc60375df05f812efca236ec7d224500826bb63c9b715c506e.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":0,"href":"/hugo-vc/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":"Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026quot;2014-09-28\u0026quot; title = \u0026quot;creating a new theme\u0026quot; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026quot;2014-09-28\u0026quot; title = \u0026quot;creating a new theme\u0026quot; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026quot;michael d henderson\u0026quot; description = \u0026quot;a minimal working template\u0026quot; license = \u0026quot;MIT\u0026quot; name = \u0026quot;zafta\u0026quot; source_repo = \u0026quot;\u0026quot; tags = [\u0026quot;tags\u0026quot;, \u0026quot;categories\u0026quot;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026quot;YOUR_NAME_HERE\u0026quot; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026quot;zafta\u0026quot; baseurl = \u0026quot;\u0026quot; languageCode = \u0026quot;en-us\u0026quot; title = \u0026quot;zafta - totally refreshing\u0026quot; MetaDataFormat = \u0026quot;toml\u0026quot; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\n Hugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\n Purge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026quot;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026quot;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\n index.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write('\u0026lt;script src=\u0026quot;http://' + (location.host || 'localhost').split(':')[0] + ':1313/livereload.js?mindelay=10\u0026quot;\u0026gt;\u0026lt;/' + 'script\u0026gt;')\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026quot;\u0026quot; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026quot;\u0026quot; Tags = [] date = \u0026quot;2014-09-29T21:54:53-05:00\u0026quot; title = \u0026quot;first\u0026quot; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026quot;\u0026quot; Tags = [] date = \u0026quot;2014-09-29T21:57:09-05:00\u0026quot; title = \u0026quot;second\u0026quot; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026quot;category\u0026quot;:\u0026quot;categories\u0026quot;, \u0026quot;tag\u0026quot;:\u0026quot;tags\u0026quot;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\n range .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026quot;tag\u0026quot;:\u0026quot;tags\u0026quot;, \u0026quot;category\u0026quot;:\u0026quot;categories\u0026quot;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026quot;tag\u0026quot;:\u0026quot;tags\u0026quot;, \u0026quot;category\u0026quot;:\u0026quot;categories\u0026quot;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026quot;tag\u0026quot;:\u0026quot;tags\u0026quot;, \u0026quot;category\u0026quot;:\u0026quot;categories\u0026quot;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;/post/second/\u0026quot;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;/post/first/\u0026quot;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026quot;about\u0026quot; description = \u0026quot;about this site\u0026quot; date = \u0026quot;2014-09-27\u0026quot; slug = \u0026quot;about time\u0026quot; +++ ## about us i'm speechless :wq Generate the web site and verify the results.\n$ find public -name '*.html' | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;http://localhost:1313/post/theme/\u0026quot;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;http://localhost:1313/about-time/\u0026quot;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;http://localhost:1313/post/second-post/\u0026quot;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;http://localhost:1313/post/first-post/\u0026quot;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write('\u0026lt;script src=\u0026quot;http://' + (location.host || 'localhost').split(':')[0] + ':1313/livereload.js?mindelay=10\u0026quot;\u0026gt;\u0026lt;/' + 'script\u0026gt;')\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026quot;post\u0026quot;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026quot;page\u0026quot; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name '*.html' | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026quot;/:title/\u0026quot; about = \u0026quot;/:filename/\u0026quot; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026quot;theme/partials/header.html\u0026quot; . }} versus\n{{ partial \u0026quot;header.html\u0026quot; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026quot;post\u0026quot;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026quot;page\u0026quot;) (eq .Type \u0026quot;about\u0026quot;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026quot;Mon, Jan 2, 2006\u0026quot; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026quot;Mon, Jan 2, 2006\u0026quot; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026quot;Mon, Jan 2, 2006\u0026quot; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":1,"href":"/hugo-vc/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":"Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\n Change your submodule to point to map gh-pages to public instead of _site (recommended).\n git submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n { .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":2,"href":"/hugo-vc/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\n false 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n {{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026quot;Permalinks\u0026quot; date: \u0026quot;2013-11-18\u0026quot; aliases: - \u0026quot;/doc/permalinks/\u0026quot; groups: [\u0026quot;extras\u0026quot;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n {{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026quot;text-center\u0026quot;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026quot;twitter\u0026quot;\u0026gt; \u0026lt;a href=\u0026quot;https://twitter.com/{{.}}\u0026quot; rel=\u0026quot;author\u0026quot;\u0026gt; \u0026lt;img src=\u0026quot;/images/twitter.png\u0026quot; width=\u0026quot;48\u0026quot; height=\u0026quot;48\u0026quot; title=\u0026quot;Twitter: {{.}}\u0026quot; alt=\u0026quot;Twitter\u0026quot;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026quot;recent\u0026quot;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;{{.RelPermalink}}\u0026quot;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":3,"href":"/hugo-vc/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":"Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\n Clone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":4,"href":"/hugo-vc/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":"Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":5,"href":"/hugo-vc/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":"Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":6,"href":"/hugo-vc/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":"Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} {{\u0026lt; details title=\u0026#34;Title\u0026#34; open=true \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content Lorem markdownum insigne\u0026hellip; "},{"id":7,"href":"/hugo-vc/docs/shortcodes/expand/","title":"Expand","section":"Shortcodes","content":"Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.\nExample # Default # {{\u0026lt; expand \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Expand ↕ Markdown content Lorem markdownum insigne\u0026hellip; With Custom Label # {{\u0026lt; expand \u0026#34;Custom Label\u0026#34; \u0026#34;...\u0026#34; \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Custom Label ... Markdown content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/hugo-vc/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":"Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":9,"href":"/hugo-vc/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":"KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":10,"href":"/hugo-vc/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":"Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\n Example # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} mermaid.initialize({ \"flowchart\": { \"useMaxWidth\":true }, \"theme\": \"default\" } ) stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 -- State2 note left of State2 : This is the note to the left. "},{"id":11,"href":"/hugo-vc/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":"p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/hugo-vc/sketches/scintillating. Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/hugo-vc/sketches/colors. "},{"id":12,"href":"/hugo-vc/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/hugo-vc/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(380, 380); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i 0; i-=1.5) { if (opc "},{"id":13,"href":"/hugo-vc/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/hugo-vc/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} \" Everything is ॐ # ॐ\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/hugo-vc/sketches/photomosaic.js\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} \" Depth map # Look for some depthmap usecases.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/hugo-vc/sketches/depthmap.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} \" p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle \u0026#43;= speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } \" "},{"id":14,"href":"/hugo-vc/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":"Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n "}] \ No newline at end of file diff --git a/en.search-data.min.de21adb9142ae815e7ec7b21d648fb177098fd5ac541b18ca4e10c7a23678595.json b/en.search-data.min.de21adb9142ae815e7ec7b21d648fb177098fd5ac541b18ca4e10c7a23678595.json new file mode 100644 index 00000000..e6650375 --- /dev/null +++ b/en.search-data.min.de21adb9142ae815e7ec7b21d648fb177098fd5ac541b18ca4e10c7a23678595.json @@ -0,0 +1 @@ +[{"id":0,"href":"/vc/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":"Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026quot;2014-09-28\u0026quot; title = \u0026quot;creating a new theme\u0026quot; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026quot;2014-09-28\u0026quot; title = \u0026quot;creating a new theme\u0026quot; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026quot;michael d henderson\u0026quot; description = \u0026quot;a minimal working template\u0026quot; license = \u0026quot;MIT\u0026quot; name = \u0026quot;zafta\u0026quot; source_repo = \u0026quot;\u0026quot; tags = [\u0026quot;tags\u0026quot;, \u0026quot;categories\u0026quot;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026quot;YOUR_NAME_HERE\u0026quot; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026quot;zafta\u0026quot; baseurl = \u0026quot;\u0026quot; languageCode = \u0026quot;en-us\u0026quot; title = \u0026quot;zafta - totally refreshing\u0026quot; MetaDataFormat = \u0026quot;toml\u0026quot; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\n Hugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\n Purge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026quot;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026quot;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\n index.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write('\u0026lt;script src=\u0026quot;http://' + (location.host || 'localhost').split(':')[0] + ':1313/livereload.js?mindelay=10\u0026quot;\u0026gt;\u0026lt;/' + 'script\u0026gt;')\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026quot;\u0026quot; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026quot;\u0026quot; Tags = [] date = \u0026quot;2014-09-29T21:54:53-05:00\u0026quot; title = \u0026quot;first\u0026quot; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026quot;\u0026quot; Tags = [] date = \u0026quot;2014-09-29T21:57:09-05:00\u0026quot; title = \u0026quot;second\u0026quot; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026quot;category\u0026quot;:\u0026quot;categories\u0026quot;, \u0026quot;tag\u0026quot;:\u0026quot;tags\u0026quot;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\n range .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026quot;tag\u0026quot;:\u0026quot;tags\u0026quot;, \u0026quot;category\u0026quot;:\u0026quot;categories\u0026quot;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026quot;tag\u0026quot;:\u0026quot;tags\u0026quot;, \u0026quot;category\u0026quot;:\u0026quot;categories\u0026quot;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026quot;tag\u0026quot;:\u0026quot;tags\u0026quot;, \u0026quot;category\u0026quot;:\u0026quot;categories\u0026quot;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name '*.html' | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;/post/second/\u0026quot;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;/post/first/\u0026quot;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026quot;about\u0026quot; description = \u0026quot;about this site\u0026quot; date = \u0026quot;2014-09-27\u0026quot; slug = \u0026quot;about time\u0026quot; +++ ## about us i'm speechless :wq Generate the web site and verify the results.\n$ find public -name '*.html' | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;http://localhost:1313/post/theme/\u0026quot;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;http://localhost:1313/about-time/\u0026quot;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;http://localhost:1313/post/second-post/\u0026quot;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026quot;http://localhost:1313/post/first-post/\u0026quot;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write('\u0026lt;script src=\u0026quot;http://' + (location.host || 'localhost').split(':')[0] + ':1313/livereload.js?mindelay=10\u0026quot;\u0026gt;\u0026lt;/' + 'script\u0026gt;')\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026quot;post\u0026quot;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026quot;page\u0026quot; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name '*.html' | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026quot;/:title/\u0026quot; about = \u0026quot;/:filename/\u0026quot; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026quot;theme/partials/header.html\u0026quot; . }} versus\n{{ partial \u0026quot;header.html\u0026quot; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026quot;post\u0026quot;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026quot;page\u0026quot;) (eq .Type \u0026quot;about\u0026quot;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026quot;{{ .Permalink }}\u0026quot;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026quot;Mon, Jan 2, 2006\u0026quot; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026quot;Mon, Jan 2, 2006\u0026quot; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026quot;header.html\u0026quot; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026quot;Mon, Jan 2, 2006\u0026quot; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026quot;footer.html\u0026quot; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":1,"href":"/vc/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":"Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\n Change your submodule to point to map gh-pages to public instead of _site (recommended).\n git submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n { .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":2,"href":"/vc/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\n false 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n {{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026quot;Permalinks\u0026quot; date: \u0026quot;2013-11-18\u0026quot; aliases: - \u0026quot;/doc/permalinks/\u0026quot; groups: [\u0026quot;extras\u0026quot;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n {{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026quot;text-center\u0026quot;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026quot;twitter\u0026quot;\u0026gt; \u0026lt;a href=\u0026quot;https://twitter.com/{{.}}\u0026quot; rel=\u0026quot;author\u0026quot;\u0026gt; \u0026lt;img src=\u0026quot;/images/twitter.png\u0026quot; width=\u0026quot;48\u0026quot; height=\u0026quot;48\u0026quot; title=\u0026quot;Twitter: {{.}}\u0026quot; alt=\u0026quot;Twitter\u0026quot;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026quot;recent\u0026quot;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026quot;{{.RelPermalink}}\u0026quot;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":3,"href":"/vc/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":"Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\n Clone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":4,"href":"/vc/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":"Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":5,"href":"/vc/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":"Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":6,"href":"/vc/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":"Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} {{\u0026lt; details title=\u0026#34;Title\u0026#34; open=true \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content Lorem markdownum insigne\u0026hellip; "},{"id":7,"href":"/vc/docs/shortcodes/expand/","title":"Expand","section":"Shortcodes","content":"Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.\nExample # Default # {{\u0026lt; expand \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Expand ↕ Markdown content Lorem markdownum insigne\u0026hellip; With Custom Label # {{\u0026lt; expand \u0026#34;Custom Label\u0026#34; \u0026#34;...\u0026#34; \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Custom Label ... Markdown content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/vc/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":"Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":9,"href":"/vc/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":"KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":10,"href":"/vc/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":"Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\n Example # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} mermaid.initialize({ \"flowchart\": { \"useMaxWidth\":true }, \"theme\": \"default\" } ) stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 -- State2 note left of State2 : This is the note to the left. "},{"id":11,"href":"/vc/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":"p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/vc/sketches/scintillating. Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/colors. "},{"id":12,"href":"/vc/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/vc/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(380, 380); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i 0; i-=1.5) { if (opc "},{"id":13,"href":"/vc/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} \" Depth map # Look for some depthmap usecases.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/depthmap.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} \" p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle \u0026#43;= speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } \" "},{"id":14,"href":"/vc/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":"Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n "}] \ No newline at end of file diff --git a/en.search.min.86c04ee16d3918b9a3a5e123cd974aa0c7723c6a7b094c0ecb7bf95727cce64a.js b/en.search.min.86c04ee16d3918b9a3a5e123cd974aa0c7723c6a7b094c0ecb7bf95727cce64a.js deleted file mode 100644 index dd5dda64..00000000 --- a/en.search.min.86c04ee16d3918b9a3a5e123cd974aa0c7723c6a7b094c0ecb7bf95727cce64a.js +++ /dev/null @@ -1 +0,0 @@ -'use strict';(function(){const g='/hugo-vc/en.search-data.min.9f0b9afbe99dd5dc60375df05f812efca236ec7d224500826bb63c9b715c506e.json',h=Object.assign({cache:!0},{doc:{id:'id',field:['title','content'],store:['title','href','section']}}),a=document.querySelector('#book-search-input'),b=document.querySelector('#book-search-results');if(!a)return;a.addEventListener('focus',c),a.addEventListener('keyup',d),document.addEventListener('keypress',e);function e(b){if(a===document.activeElement)return;const c=String.fromCharCode(b.charCode);if(!f(c))return;a.focus(),b.preventDefault()}function f(b){const c=a.getAttribute('data-hotkeys')||'';return c.indexOf(b)>=0}function c(){a.removeEventListener('focus',c),a.required=!0,fetch(g).then(a=>a.json()).then(a=>{window.bookSearchIndex=FlexSearch.create('balance',h),window.bookSearchIndex.add(a)}).then(()=>a.required=!1).then(d)}function d(){while(b.firstChild)b.removeChild(b.firstChild);if(!a.value)return;const c=window.bookSearchIndex.search(a.value,10);c.forEach(function(a){const c=i('
  • '),d=c.querySelector('a'),e=c.querySelector('small');d.href=a.href,d.textContent=a.title,e.textContent=a.section,b.appendChild(c)})}function i(b){const a=document.createElement('div');return a.innerHTML=b,a.firstChild}})() \ No newline at end of file diff --git a/en.search.min.ec4be9c6e2186242371d65e3f3afaf48111e240553cc9ac8e02cbff6232cd33e.js b/en.search.min.ec4be9c6e2186242371d65e3f3afaf48111e240553cc9ac8e02cbff6232cd33e.js new file mode 100644 index 00000000..705b669b --- /dev/null +++ b/en.search.min.ec4be9c6e2186242371d65e3f3afaf48111e240553cc9ac8e02cbff6232cd33e.js @@ -0,0 +1 @@ +'use strict';(function(){const g='/vc/en.search-data.min.de21adb9142ae815e7ec7b21d648fb177098fd5ac541b18ca4e10c7a23678595.json',h=Object.assign({cache:!0},{doc:{id:'id',field:['title','content'],store:['title','href','section']}}),a=document.querySelector('#book-search-input'),b=document.querySelector('#book-search-results');if(!a)return;a.addEventListener('focus',c),a.addEventListener('keyup',d),document.addEventListener('keypress',e);function e(b){if(a===document.activeElement)return;const c=String.fromCharCode(b.charCode);if(!f(c))return;a.focus(),b.preventDefault()}function f(b){const c=a.getAttribute('data-hotkeys')||'';return c.indexOf(b)>=0}function c(){a.removeEventListener('focus',c),a.required=!0,fetch(g).then(a=>a.json()).then(a=>{window.bookSearchIndex=FlexSearch.create('balance',h),window.bookSearchIndex.add(a)}).then(()=>a.required=!1).then(d)}function d(){while(b.firstChild)b.removeChild(b.firstChild);if(!a.value)return;const c=window.bookSearchIndex.search(a.value,10);c.forEach(function(a){const c=i('
  • '),d=c.querySelector('a'),e=c.querySelector('small');d.href=a.href,d.textContent=a.title,e.textContent=a.section,b.appendChild(c)})}function i(b){const a=document.createElement('div');return a.innerHTML=b,a.firstChild}})() \ No newline at end of file diff --git a/index.html b/index.html index 8b571359..c645cdaa 100644 --- a/index.html +++ b/index.html @@ -1,22 +1,184 @@ -Introduction | Visual Computing -
    + + + + + + + + + + +Introduction | Visual Computing + + + + + + + + + + +
    + +
    +
    +
    + Introduction -
    +

    +Acerbo datus maxime +# +

    +
    +
    +

    Astris ipse furtiva

    +

    Est in vagis et Pittheus tu arge accipiter regia iram vocatur nurus. Omnes ut olivae sensit arma sorori deducit, inesset crudus, ego vetuere aliis, -modo arsit? Utinam rapta fiducia valuere litora adicit cursu, ad facies

    Suis quot vota

    Ea furtique risere fratres edidit terrae magis. Colla tam mihi tenebat: +modo arsit? Utinam rapta fiducia valuere litora adicit cursu, ad facies +

    +
    +

    Suis quot vota

    +

    Ea furtique risere fratres edidit terrae magis. Colla tam mihi tenebat: miseram excita suadent es pecudes iam. Concilio quam velatus posset ait quod -nunc! Fragosis suae dextra geruntur functus vulgata.

    Tempora nisi nunc -#

    Lorem markdownum emicat gestu. Cannis sol pressit ducta. Est Idaei, +nunc! Fragosis suae dextra geruntur functus vulgata. +

    + +

    +Tempora nisi nunc +# +

    +

    Lorem markdownum emicat gestu. Cannis sol pressit ducta. Est Idaei, tremens ausim se tutaeque, illi ulnis hausit, sed, lumina cutem. Quae avis -sequens!

    var panel = ram_design;
    +sequens!

    +
    var panel = ram_design;
     if (backup + system) {
         file.readPoint = network_native;
         sidebar_engine_device(cell_tftp_raster,
                 dual_login_paper.adf_vci.application_reader_design(
                 graphicsNvramCdma, lpi_footer_snmp, integer_model));
     }
    -

    Locis suis novi cum suoque decidit eadem -#

    Idmoniae ripis, at aves, ali missa adest, ut et autem, et ab?

    \ No newline at end of file + +

    +Locis suis novi cum suoque decidit eadem +# +

    +

    Idmoniae ripis, at aves, ali missa adest, ut et autem, et ab?

    + +
    + + +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/index.xml b/index.xml index 056cbede..30306464 100644 --- a/index.xml +++ b/index.xml @@ -1,28 +1,28 @@ -Introduction on Visual Computinghttps://visualcomputing.github.io/hugo-vc/Recent content in Introduction on Visual ComputingHugo -- gohugo.ioen-usCreating a New Themehttps://visualcomputing.github.io/hugo-vc/posts/creating-a-new-theme/Sun, 28 Sep 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/creating-a-new-theme/Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme. -We&rsquo;ll start with creating a new site with a very basic template.Migrate to Hugo from Jekyllhttps://visualcomputing.github.io/hugo-vc/posts/migrate-from-jekyll/Mon, 10 Mar 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/migrate-from-jekyll/Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like +Introduction on Visual Computinghttps://visualcomputing.github.io/vc/Recent content in Introduction on Visual ComputingHugo -- gohugo.ioen-usCreating a New Themehttps://visualcomputing.github.io/vc/posts/creating-a-new-theme/Sun, 28 Sep 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/creating-a-new-theme/Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme. +We&rsquo;ll start with creating a new site with a very basic template.Migrate to Hugo from Jekyllhttps://visualcomputing.github.io/vc/posts/migrate-from-jekyll/Mon, 10 Mar 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/migrate-from-jekyll/Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like ▾ &lt;root&gt;/ ▾ images/ logo.png should become -▾ &lt;root&gt;/ ▾ static/ ▾ images/ logo.png Additionally, you&rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.(Hu)go Template Primerhttps://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. -This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +▾ &lt;root&gt;/ ▾ static/ ▾ images/ logo.png Additionally, you&rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. -Follow the following steps:<link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/buttons/</guid><description>Buttons # Buttons are styled links that can lead to local page or external link. -Example # {{&lt; button relref=&#34;/&#34; [class=&#34;...&#34;] &gt;}}Get Home{{&lt; /button &gt;}} {{&lt; button href=&#34;https://github.com/alex-shpak/hugo-book&#34; &gt;}}Contribute{{&lt; /button &gt;}} Get Home Contribute</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/columns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/columns/</guid><description>Columns # Columns help organize shorter pieces of content horizontally for readability. -{{&lt; columns &gt;}} &lt;!-- begin columns block --&gt; # Left Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Mid Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Right Content Lorem markdownum insigne... {{&lt; /columns &gt;}} Example # Left Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter!</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/details/</guid><description>Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode. -Example # {{&lt; details &#34;Title&#34; [open] &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} {{&lt; details title=&#34;Title&#34; open=true &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} Title Markdown content Lorem markdownum insigne&hellip;</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/expand/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/expand/</guid><description>Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it. -Example # Default # {{&lt; expand &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /expand &gt;}} Expand ↕ Markdown content Lorem markdownum insigne&hellip; With Custom Label # {{&lt; expand &#34;Custom Label&#34; &#34;...&#34; &gt;}} ## Markdown content Lorem markdownum insigne.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/hints/</guid><description>Hints # Hint shortcode can be used as hint/alerts/notification block. +Follow the following steps:</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/buttons/</guid><description>Buttons # Buttons are styled links that can lead to local page or external link. +Example # {{&lt; button relref=&#34;/&#34; [class=&#34;...&#34;] &gt;}}Get Home{{&lt; /button &gt;}} {{&lt; button href=&#34;https://github.com/alex-shpak/hugo-book&#34; &gt;}}Contribute{{&lt; /button &gt;}} Get Home Contribute</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/columns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/columns/</guid><description>Columns # Columns help organize shorter pieces of content horizontally for readability. +{{&lt; columns &gt;}} &lt;!-- begin columns block --&gt; # Left Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Mid Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Right Content Lorem markdownum insigne... {{&lt; /columns &gt;}} Example # Left Content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter!</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/details/</guid><description>Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode. +Example # {{&lt; details &#34;Title&#34; [open] &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} {{&lt; details title=&#34;Title&#34; open=true &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} Title Markdown content Lorem markdownum insigne&hellip;</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/expand/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/expand/</guid><description>Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it. +Example # Default # {{&lt; expand &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /expand &gt;}} Expand ↕ Markdown content Lorem markdownum insigne&hellip; With Custom Label # {{&lt; expand &#34;Custom Label&#34; &#34;...&#34; &gt;}} ## Markdown content Lorem markdownum insigne.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/hints/</guid><description>Hints # Hint shortcode can be used as hint/alerts/notification block. There are 3 colors to choose: info, warning and danger. {{&lt; hint [info|warning|danger] &gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{&lt; /hint &gt;}} Example # Markdown content -Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/katex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/katex/</guid><description>KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX -Example # {{&lt; katex [display] [class=&#34;text-center&#34;] &gt;}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{&lt; /katex &gt;}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/mermaid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/mermaid/</guid><description>Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text. +Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/katex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/katex/</guid><description>KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX +Example # {{&lt; katex [display] [class=&#34;text-center&#34;] &gt;}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{&lt; /katex &gt;}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/mermaid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/mermaid/</guid><description>Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text. Override Mermaid Initialization Config To override the initialization config for Mermaid, create a mermaid.json file in your assets folder! -Example # {{&lt; mermaid [class=&#34;text-center&#34;]&gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --&gt; State2 note left of State2 : This is the note to the left.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. +Example # {{&lt; mermaid [class=&#34;text-center&#34;]&gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --&gt; State2 note left of State2 : This is the note to the left.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{&lt; p5-div ver=&#34;1.4.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. -p5-div markdown {{&lt; p5-div sketch=&#34;/hugo-vc/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. +p5-div markdown {{&lt; p5-div sketch=&#34;/vc/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. -p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/hugo-vc/sketches/colors.</description></item><item><title/><link>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/hugo-vc/docs/shortcodes/tabs/</guid><description>Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/vc/sketches/colors.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/tabs/</guid><description>Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. {{&lt; tabs &#34;uniqueid&#34; &gt;}} {{&lt; tab &#34;MacOS&#34; &gt;}} # MacOS Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Linux&#34; &gt;}} # Linux Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Windows&#34; &gt;}} # Windows Content {{&lt; /tab &gt;}} {{&lt; /tabs &gt;}} Example # MacOS MacOS This is tab MacOS content. Lorem markdownum insigne. Olympo signis Delphis!</description></item></channel></rss> \ No newline at end of file diff --git a/manifest.json b/manifest.json index be6baaf0..3c502fb1 100644 --- a/manifest.json +++ b/manifest.json @@ -1,14 +1,14 @@ { "name": "Visual Computing", "short_name": "Visual Computing", - "start_url": "/hugo-vc/", - "scope": "/hugo-vc/", + "start_url": "/vc/", + "scope": "/vc/", "display": "standalone", "background_color": "#000000", "theme_color": "#000000", "icons": [ { - "src": "/hugo-vc/favicon.svg", + "src": "/vc/favicon.svg", "sizes": "512x512" } ] diff --git a/posts/creating-a-new-theme/index.html b/posts/creating-a-new-theme/index.html index 0d88de09..ef8e58b3 100644 --- a/posts/creating-a-new-theme/index.html +++ b/posts/creating-a-new-theme/index.html @@ -1,11 +1,187 @@ -<!doctype html><html lang=en dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template."><meta name=theme-color content="#FFFFFF"><meta property="og:title" content="Creating a New Theme"><meta property="og:description" content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template."><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/hugo-vc/posts/creating-a-new-theme/"><meta property="article:section" content="posts"><meta property="article:published_time" content="2014-09-28T00:00:00+00:00"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Creating a New Theme | Visual Computing -
    + + + + + + + + + + + +Creating a New Theme | Visual Computing + + + + + + + + + +
    + +
    +
    +
    + Creating a New Theme -

    Creating a New Theme

    September 28, 2014

    Introduction -#

    This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme.

    We’ll start with creating a new site with a very basic template. Then we’ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.

    In this tutorial, commands that you enter will start with the “$” prompt. The output will follow. Lines that start with “#” are comments that I’ve added to explain a point. When I show updates to a file, the “:wq” on the last line means to save the file.

    Here’s an example:

    ## this is a comment
    +
    +
    + +
    +
    +

    +Creating a New Theme +

    +
    September 28, 2014
    +

    +Introduction +# +

    +

    This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme.

    +

    We’ll start with creating a new site with a very basic template. Then we’ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.

    +

    In this tutorial, commands that you enter will start with the “$” prompt. The output will follow. Lines that start with “#” are comments that I’ve added to explain a point. When I show updates to a file, the “:wq” on the last line means to save the file.

    +

    Here’s an example:

    +
    ## this is a comment
     $ echo this is a command
     this is a command
     
    @@ -28,19 +204,79 @@
     
     bah and humbug
     $
    -

    Some Definitions -#

    There are a few concepts that you need to understand before creating a theme.

    Skins -#

    Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.

    You have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.

    Your second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?

    The difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.

    The rest of this tutorial will call a skin created in the themes/ directory a theme.

    Note that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.

    The Home Page -#

    The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.

    Site Configuration File -#

    When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.

    Hugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.

    Content -#

    Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.

    Front Matter -#

    The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.

    The information in the front matter is passed into the template before the content is rendered into HTML.

    Markdown -#

    Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.

    Template Files -#

    Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it’s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.

    There are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.

    Hugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.

    Please note that you can use the front matter to influence Hugo’s choice of templates.

    Single Template -#

    A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.

    List Template -#

    A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.

    The homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.

    Partial Template -#

    A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.

    Create a New Site -#

    Let’s use Hugo to create a new web site. I’m a Mac user, so I’ll create mine in my home directory, in the Sites folder. If you’re using Linux, you might have to create the folder first.

    The “new site” command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.

    $ hugo new site ~/Sites/zafta
    +

    +Some Definitions +# +

    +

    There are a few concepts that you need to understand before creating a theme.

    +

    +Skins +# +

    +

    Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.

    +

    You have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.

    +

    Your second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?

    +

    The difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.

    +

    The rest of this tutorial will call a skin created in the themes/ directory a theme.

    +

    Note that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.

    +

    +The Home Page +# +

    +

    The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.

    +

    +Site Configuration File +# +

    +

    When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.

    +

    Hugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.

    +

    +Content +# +

    +

    Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.

    +

    +Front Matter +# +

    +

    The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.

    +

    The information in the front matter is passed into the template before the content is rendered into HTML.

    +

    +Markdown +# +

    +

    Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.

    +

    +Template Files +# +

    +

    Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it’s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.

    +

    There are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.

    +

    Hugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.

    +

    Please note that you can use the front matter to influence Hugo’s choice of templates.

    +

    +Single Template +# +

    +

    A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.

    +

    +List Template +# +

    +

    A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.

    +

    The homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.

    +

    +Partial Template +# +

    +

    A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.

    +

    +Create a New Site +# +

    +

    Let’s use Hugo to create a new web site. I’m a Mac user, so I’ll create mine in my home directory, in the Sites folder. If you’re using Linux, you might have to create the folder first.

    +

    The “new site” command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.

    +
    $ hugo new site ~/Sites/zafta
     $ cd ~/Sites/zafta
     $ ls -l
     total 8
    @@ -52,8 +288,14 @@
     drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 layouts
     drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
     $
    -

    Take a look in the content/ directory to confirm that it is empty.

    The other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That’s a topic for a different tutorial, so please ignore them for now.

    Generate the HTML For the New Site -#

    Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that’s everything that’s not content). Since we have an empty site, it won’t do much, but it will do it very quickly.

    $ hugo --verbose
    +

    Take a look in the content/ directory to confirm that it is empty.

    +

    The other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That’s a topic for a different tutorial, so please ignore them for now.

    +

    +Generate the HTML For the New Site +# +

    +

    Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that’s everything that’s not content). Since we have an empty site, it won’t do much, but it will do it very quickly.

    +
    $ hugo --verbose
     INFO: 2014/09/29 Using config file: config.toml
     INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
     WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    @@ -65,7 +307,9 @@
     0 categories created
     in 2 ms
     $ 
    -

    The “--verbose” flag gives extra information that will be helpful when we build the template. Every line of the output that starts with “INFO:” or “WARN:” is present because we used that flag. The lines that start with “WARN:” are warning messages. We’ll go over them later.

    We can verify that the command worked by looking at the directory again.

    $ ls -l
    +

    The “--verbose” flag gives extra information that will be helpful when we build the template. Every line of the output that starts with “INFO:” or “WARN:” is present because we used that flag. The lines that start with “WARN:” are warning messages. We’ll go over them later.

    +

    We can verify that the command worked by looking at the directory again.

    +
    $ ls -l
     total 8
     drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 archetypes
     -rw-r--r--  1 quoha  staff   82 Sep 29 16:49 config.toml
    @@ -74,13 +318,19 @@
     drwxr-xr-x  4 quoha  staff  136 Sep 29 17:02 public
     drwxr-xr-x  2 quoha  staff   68 Sep 29 16:49 static
     $
    -

    See that new public/ directory? Hugo placed all generated content there. When you’re ready to publish your web site, that’s the place to start. For now, though, let’s just confirm that we have what we’d expect from a site with no content.

    $ ls -l public
    +

    See that new public/ directory? Hugo placed all generated content there. When you’re ready to publish your web site, that’s the place to start. For now, though, let’s just confirm that we have what we’d expect from a site with no content.

    +
    $ ls -l public
     total 16
     -rw-r--r--  1 quoha  staff  416 Sep 29 17:02 index.xml
     -rw-r--r--  1 quoha  staff  262 Sep 29 17:02 sitemap.xml
     $ 
    -

    Hugo created two XML files, which is standard, but there are no HTML files.

    Test the New Site -#

    Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the “server” command. If it is successful, you will see output similar to the following:

    $ hugo server --verbose
    +

    Hugo created two XML files, which is standard, but there are no HTML files.

    +

    +Test the New Site +# +

    +

    Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the “server” command. If it is successful, you will see output similar to the following:

    +
    $ hugo server --verbose
     INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
     INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
     WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    @@ -94,13 +344,30 @@
     Serving pages from /Users/quoha/Sites/zafta/public
     Web Server is available at http://localhost:1313
     Press Ctrl+C to stop
    -

    Connect to the listed URL (it’s on the line that starts with “Web Server”). If everything is working correctly, you should get a page that shows the following:

    index.xml
    +

    Connect to the listed URL (it’s on the line that starts with “Web Server”). If everything is working correctly, you should get a page that shows the following:

    +
    index.xml
     sitemap.xml
    -

    That’s a listing of your public/ directory. Hugo didn’t create a home page because our site has no content. When there’s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.

    Let’s go back and look at those warnings again.

    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    +

    That’s a listing of your public/ directory. Hugo didn’t create a home page because our site has no content. When there’s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.

    +

    Let’s go back and look at those warnings again.

    +
    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
     WARN: 2014/09/29 Unable to locate layout: [404.html]
    -

    That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.

    Now for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.

    I like that the verbose flag causes Hugo to list the files that it’s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we’ll cover later that explain the names and paths. For now, just remember that Hugo couldn’t find a template for the home page and it told you so.

    At this point, you’ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.

    Create a New Theme -#

    Hugo doesn’t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.

    We’re going to create a new theme called “zafta.” Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.

    All themes have opinions on content and layout. For example, Zafta uses “post” over “blog”. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.

    Create a Skeleton -#

    Use the hugo “new” command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.

    $ hugo new theme zafta
    +

    That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.

    +

    Now for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.

    +

    I like that the verbose flag causes Hugo to list the files that it’s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we’ll cover later that explain the names and paths. For now, just remember that Hugo couldn’t find a template for the home page and it told you so.

    +

    At this point, you’ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.

    +

    +Create a New Theme +# +

    +

    Hugo doesn’t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.

    +

    We’re going to create a new theme called “zafta.” Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.

    +

    All themes have opinions on content and layout. For example, Zafta uses “post” over “blog”. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.

    +

    +Create a Skeleton +# +

    +

    Use the hugo “new” command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.

    +
    $ hugo new theme zafta
     
     $ ls -l
     total 8
    @@ -122,7 +389,9 @@
     -rw-r--r--  1 quoha  staff     0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
     -rw-r--r--  1 quoha  staff    93 Sep 29 17:31 themes/zafta/theme.toml
     $ 
    -

    The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.

    Please take a minute to fill out the theme.toml and LICENSE.md files. They’re optional, but if you’re going to be distributing your theme, it tells the world who to praise (or blame). It’s also nice to declare the license so that people will know how they can use the theme.

    $ vi themes/zafta/theme.toml
    +

    The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.

    +

    Please take a minute to fill out the theme.toml and LICENSE.md files. They’re optional, but if you’re going to be distributing your theme, it tells the world who to praise (or blame). It’s also nice to declare the license so that people will know how they can use the theme.

    +
    $ vi themes/zafta/theme.toml
     author = "michael d henderson"
     description = "a minimal working template"
     license = "MIT"
    @@ -133,15 +402,21 @@
     
     ## also edit themes/zafta/LICENSE.md and change
     ## the bit that says "YOUR_NAME_HERE"
    -

    Note that the the skeleton’s template files are empty. Don’t worry, we’ll be changing that shortly.

    $ find themes/zafta -name '*.html' | xargs ls -l
    +

    Note that the the skeleton’s template files are empty. Don’t worry, we’ll be changing that shortly.

    +
    $ find themes/zafta -name '*.html' | xargs ls -l
     -rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
     -rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/single.html
     -rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/index.html
     -rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html
     -rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/partials/header.html
     $
    -

    Update the Configuration File to Use the Theme -#

    Now that we’ve got a theme to work with, it’s a good idea to add the theme name to the configuration file. This is optional, because you can always add “-t zafta” on all your commands. I like to put it the configuration file because I like shorter command lines. If you don’t put it in the configuration file or specify it on the command line, you won’t use the template that you’re expecting to.

    Edit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.

    $ vi config.toml
    +

    +Update the Configuration File to Use the Theme +# +

    +

    Now that we’ve got a theme to work with, it’s a good idea to add the theme name to the configuration file. This is optional, because you can always add “-t zafta” on all your commands. I like to put it the configuration file because I like shorter command lines. If you don’t put it in the configuration file or specify it on the command line, you won’t use the template that you’re expecting to.

    +

    Edit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.

    +
    $ vi config.toml
     theme = "zafta"
     baseurl = ""
     languageCode = "en-us"
    @@ -150,8 +425,12 @@
     :wq
     
     $
    -

    Generate the Site -#

    Now that we have an empty theme, let’s generate the site again.

    $ hugo --verbose
    +

    +Generate the Site +# +

    +

    Now that we have an empty theme, let’s generate the site again.

    +
    $ hugo --verbose
     INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
     INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
     INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    @@ -163,7 +442,9 @@
     0 categories created
     in 2 ms
     $
    -

    Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme’s directory.

    Let’s check the public/ directory to see what Hugo’s created.

    $ ls -l public
    +

    Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme’s directory.

    +

    Let’s check the public/ directory to see what Hugo’s created.

    +
    $ ls -l public
     total 16
     drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 css
     -rw-r--r--  1 quoha  staff    0 Sep 29 17:56 index.html
    @@ -171,14 +452,32 @@
     drwxr-xr-x  2 quoha  staff   68 Sep 29 17:56 js
     -rw-r--r--  1 quoha  staff  243 Sep 29 17:56 sitemap.xml
     $
    -

    Notice four things:

    1. Hugo created a home page. This is the file public/index.html.
    2. Hugo created a css/ directory.
    3. Hugo created a js/ directory.
    4. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn’t create any pages. That’s because it considers a “page” to be a file created directly from a content file. It doesn’t count things like the index.html files that it creates automatically.

    The Home Page -#

    Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo’s warning message shows that it looks for three different templates:

    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    -

    If it can’t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.

    When Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.

    $ find . -name index.html | xargs ls -l
    +

    Notice four things:

    +
      +
    1. Hugo created a home page. This is the file public/index.html.
    2. +
    3. Hugo created a css/ directory.
    4. +
    5. Hugo created a js/ directory.
    6. +
    7. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn’t create any pages. That’s because it considers a “page” to be a file created directly from a content file. It doesn’t count things like the index.html files that it creates automatically.
    8. +
    +

    +The Home Page +# +

    +

    Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo’s warning message shows that it looks for three different templates:

    +
    WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html]
    +

    If it can’t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.

    +

    When Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.

    +
    $ find . -name index.html | xargs ls -l
     -rw-r--r--  1 quoha  staff  0 Sep 29 20:21 ./public/index.html
     -rw-r--r--  1 quoha  staff  0 Sep 29 17:31 ./themes/zafta/layouts/index.html
     $ 
    -

    The Magic of Static -#

    Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.

    Hugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo’s opinion is that you’ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don’t like that, you can change the directory names in your theme directory or even delete them completely. Hugo’s nice enough to offer its opinion, then behave nicely if you disagree.

    $ find themes/zafta -type d | xargs ls -ld
    +

    +The Magic of Static +# +

    +

    Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.

    +

    Hugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo’s opinion is that you’ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don’t like that, you can change the directory names in your theme directory or even delete them completely. Hugo’s nice enough to offer its opinion, then behave nicely if you disagree.

    +
    $ find themes/zafta -type d | xargs ls -ld
     drwxr-xr-x  7 quoha  staff  238 Sep 29 17:38 themes/zafta
     drwxr-xr-x  3 quoha  staff  102 Sep 29 17:31 themes/zafta/archetypes
     drwxr-xr-x  5 quoha  staff  170 Sep 29 17:31 themes/zafta/layouts
    @@ -188,19 +487,51 @@
     drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/css
     drwxr-xr-x  2 quoha  staff   68 Sep 29 17:31 themes/zafta/static/js
     $ 
    -

    The Theme Development Cycle -#

    When you’re working on a theme, you will make changes in the theme’s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:

    1. Purge the public/ directory.
    2. Run the built in web server in watch mode.
    3. Open your site in a browser.
    4. Update the theme.
    5. Glance at your browser window to see changes.
    6. Return to step 4.

    I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.

    Check the main Hugo site for information on using Git with Hugo.

    Purge the public/ Directory -#

    When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.

    Note: If you’re building on an SSD, you should ignore this. Churning on a SSD can be costly.

    Hugo’s Watch Option -#

    Hugo’s “--watch” option will monitor the content/ and your theme directories for changes and rebuild the site automatically.

    Live Reload -#

    Hugo’s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, “Wow, that’s totally amazing.”

    Development Commands -#

    Use the following commands as the basis for your workflow.

    ## purge old files. hugo will recreate the public directory.
    +

    +The Theme Development Cycle +# +

    +

    When you’re working on a theme, you will make changes in the theme’s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:

    +
      +
    1. Purge the public/ directory.
    2. +
    3. Run the built in web server in watch mode.
    4. +
    5. Open your site in a browser.
    6. +
    7. Update the theme.
    8. +
    9. Glance at your browser window to see changes.
    10. +
    11. Return to step 4.
    12. +
    +

    I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.

    +

    Check the main Hugo site for information on using Git with Hugo.

    +

    +Purge the public/ Directory +# +

    +

    When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.

    +

    Note: If you’re building on an SSD, you should ignore this. Churning on a SSD can be costly.

    +

    +Hugo’s Watch Option +# +

    +

    Hugo’s “--watch” option will monitor the content/ and your theme directories for changes and rebuild the site automatically.

    +

    +Live Reload +# +

    +

    Hugo’s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, “Wow, that’s totally amazing.”

    +

    +Development Commands +# +

    +

    Use the following commands as the basis for your workflow.

    +
    ## purge old files. hugo will recreate the public directory.
     ##
     $ rm -rf public
     ##
     ## run hugo in watch mode
     ##
     $ hugo server --watch --verbose
    -

    Here’s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I’ve said this before, it’s amazing.

    $ rm -rf public
    +

    Here’s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I’ve said this before, it’s amazing.

    +
    $ rm -rf public
     $ hugo server --watch --verbose
     INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
     INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    @@ -226,9 +557,23 @@
     0 tags created
     0 categories created
     in 1 ms
    -

    Update the Home Page Template -#

    The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme’s layout/ directory:

    1. index.html
    2. _default/list.html
    3. _default/single.html

    We could update one of the default templates, but a good design decision is to update the most specific template available. That’s not a hard and fast rule (in fact, we’ll break it a few times in this tutorial), but it is a good generalization.

    Make a Static Home Page -#

    Right now, that page is empty because we don’t have any content and we don’t have any logic in the template. Let’s change that by adding some text to the template.

    $ vi themes/zafta/layouts/index.html
    +

    +Update the Home Page Template +# +

    +

    The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme’s layout/ directory:

    +
      +
    1. index.html
    2. +
    3. _default/list.html
    4. +
    5. _default/single.html
    6. +
    +

    We could update one of the default templates, but a good design decision is to update the most specific template available. That’s not a hard and fast rule (in fact, we’ll break it a few times in this tutorial), but it is a good generalization.

    +

    +Make a Static Home Page +# +

    +

    Right now, that page is empty because we don’t have any content and we don’t have any logic in the template. Let’s change that by adding some text to the template.

    +
    $ vi themes/zafta/layouts/index.html
     <!DOCTYPE html> 
     <html> 
     <body> 
    @@ -238,7 +583,8 @@
     :wq
     
     $
    -

    Build the web site and then verify the results.

    $ hugo --verbose
    +

    Build the web site and then verify the results.

    +
    $ hugo --verbose
     INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
     INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
     INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/
    @@ -259,8 +605,12 @@
     <body> 
       <p>hugo says hello!</p> 
     </html>
    -

    Live Reload -#

    Note: If you’re running the server with the --watch option, you’ll see different content in the file:

    $ cat public/index.html 
    +

    +Live Reload +# +

    +

    Note: If you’re running the server with the --watch option, you’ll see different content in the file:

    +
    $ cat public/index.html 
     <!DOCTYPE html> 
     <html> 
     <body> 
    @@ -270,16 +620,28 @@
         + ':1313/livereload.js?mindelay=10"></' 
             + 'script>')</script></body> 
     </html>
    -

    When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.

    Build a “Dynamic” Home Page -#

    “Dynamic home page?” Hugo’s a static web site generator, so this seems an odd thing to say. I mean let’s have the home page automatically reflect the content in the site every time Hugo builds it. We’ll use iteration in the template to do that.

    Create New Posts -#

    Now that we have the home page generating static content, let’s add some content to the site. We’ll display these posts as a list on the home page and on their own page, too.

    Hugo has a command to generate a skeleton post, just like it does for sites and themes.

    $ hugo --verbose new post/first.md
    +

    When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.

    +

    +Build a “Dynamic” Home Page +# +

    +

    “Dynamic home page?” Hugo’s a static web site generator, so this seems an odd thing to say. I mean let’s have the home page automatically reflect the content in the site every time Hugo builds it. We’ll use iteration in the template to do that.

    +

    +Create New Posts +# +

    +

    Now that we have the home page generating static content, let’s add some content to the site. We’ll display these posts as a list on the home page and on their own page, too.

    +

    Hugo has a command to generate a skeleton post, just like it does for sites and themes.

    +
    $ hugo --verbose new post/first.md
     INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
     INFO: 2014/09/29 attempting to create  post/first.md of post
     INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md
     ERROR: 2014/09/29 Unable to Cast <nil> to map[string]interface{}
     
     $ 
    -

    That wasn’t very nice, was it?

    The “new” command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there’s a theme. For me, the workaround was to create an archetypes file specifically for the post type.

    $ vi themes/zafta/archetypes/post.md
    +

    That wasn’t very nice, was it?

    +

    The “new” command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there’s a theme. For me, the workaround was to create an archetypes file specifically for the post type.

    +
    $ vi themes/zafta/archetypes/post.md
     +++
     Description = ""
     Tags = []
    @@ -333,7 +695,8 @@
     my second post
     
     $ 
    -

    Build the web site and then verify the results.

    $ rm -rf public
    +

    Build the web site and then verify the results.

    +
    $ rm -rf public
     $ hugo --verbose
     INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
     INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    @@ -347,15 +710,27 @@
     0 categories created
     in 4 ms
     $
    -

    The output says that it created 2 pages. Those are our new posts:

    $ find public -type f -name '*.html' | xargs ls -l
    +

    The output says that it created 2 pages. Those are our new posts:

    +
    $ find public -type f -name '*.html' | xargs ls -l
     -rw-r--r--  1 quoha  staff  78 Sep 29 22:13 public/index.html
     -rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/first/index.html
     -rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/index.html
     -rw-r--r--  1 quoha  staff   0 Sep 29 22:13 public/post/second/index.html
     $
    -

    The new files are empty because because the templates used to generate the content are empty. The homepage doesn’t show the new content, either. We have to update the templates to add the posts.

    List and Single Templates -#

    In Hugo, we have three major kinds of templates. There’s the home page template that we updated previously. It is used only by the home page. We also have “single” templates which are used to generate output for a single content file. We also have “list” templates that are used to group multiple pieces of content before generating output.

    Generally speaking, list templates are named “list.html” and single templates are named “single.html.”

    There are three other types of templates: partials, content views, and terms. We will not go into much detail on these.

    Add Content to the Homepage -#

    The home page will contain a list of posts. Let’s update its template to add the posts that we just created. The logic in the template will run every time we build the site.

    $ vi themes/zafta/layouts/index.html 
    +

    The new files are empty because because the templates used to generate the content are empty. The homepage doesn’t show the new content, either. We have to update the templates to add the posts.

    +

    +List and Single Templates +# +

    +

    In Hugo, we have three major kinds of templates. There’s the home page template that we updated previously. It is used only by the home page. We also have “single” templates which are used to generate output for a single content file. We also have “list” templates that are used to group multiple pieces of content before generating output.

    +

    Generally speaking, list templates are named “list.html” and single templates are named “single.html.”

    +

    There are three other types of templates: partials, content views, and terms. We will not go into much detail on these.

    +

    +Add Content to the Homepage +# +

    +

    The home page will contain a list of posts. Let’s update its template to add the posts that we just created. The logic in the template will run every time we build the site.

    +
    $ vi themes/zafta/layouts/index.html 
     <!DOCTYPE html>
     <html>
     <body>
    @@ -367,7 +742,18 @@
     :wq
     
     $
    -

    Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between “{{” and “}}”. In our template, the commands are:

    1. range
    2. .Title
    3. end

    The “range” command is an iterator. We’re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.

    The “.Title” command prints the value of the “title” variable. Hugo pulls it from the front matter in the Markdown file.

    The “end” command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds “end.” Everything between the “range” and “end” is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.

    It’s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.

    Build the web site and then verify the results.

    $ rm -rf public
    +

    Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between “{{” and “}}”. In our template, the commands are:

    +
      +
    1. range
    2. +
    3. .Title
    4. +
    5. end
    6. +
    +

    The “range” command is an iterator. We’re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.

    +

    The “.Title” command prints the value of the “title” variable. Hugo pulls it from the front matter in the Markdown file.

    +

    The “end” command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds “end.” Everything between the “range” and “end” is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.

    +

    It’s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.

    +

    Build the web site and then verify the results.

    +
    $ rm -rf public
     $ hugo --verbose
     INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
     INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    @@ -397,11 +783,25 @@
     </body>
     </html>
     $
    -

    Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let’s take a moment to appreciate what we’ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you’ve learned everything you need to know to build a theme. All that’s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.

    And, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don’t worry, though, that’s all to come.

    Add Content to the Posts -#

    We’re working with posts, which are in the content/post/ directory. That means that their section is “post” (and if we don’t do something weird, their type is also “post”).

    Hugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can’t find one, then it will look in the _default/ directory. There are some twists that we’ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.

    Now that we know the search rule, let’s see what we actually have available:

    $ find themes/zafta -name single.html | xargs ls -l
    +

    Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let’s take a moment to appreciate what we’ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you’ve learned everything you need to know to build a theme. All that’s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.

    +

    And, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don’t worry, though, that’s all to come.

    +

    +Add Content to the Posts +# +

    +

    We’re working with posts, which are in the content/post/ directory. That means that their section is “post” (and if we don’t do something weird, their type is also “post”).

    +

    Hugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can’t find one, then it will look in the _default/ directory. There are some twists that we’ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.

    +

    Now that we know the search rule, let’s see what we actually have available:

    +
    $ find themes/zafta -name single.html | xargs ls -l
     -rw-r--r--  1 quoha  staff  132 Sep 29 17:31 themes/zafta/layouts/_default/single.html
    -

    We could create a new template, post/single.html, or change the default. Since we don’t know of any other content types, let’s start with updating the default.

    Remember, any content that we haven’t created a template for will end up using this template. That can be good or bad. Bad because I know that we’re going to be adding different types of content and we’re going to end up undoing some of the changes we’ve made. It’s good because we’ll be able to see immediate results. It’s also good to start here because we can start to build the basic layout for the site. As we add more content types, we’ll refactor this file and move logic around. Hugo makes that fairly painless, so we’ll accept the cost and proceed.

    Please see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you’re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That’s a refreshing amount of joy right there.

    Update the Template File -#

    $ vi themes/zafta/layouts/_default/single.html 
    +

    We could create a new template, post/single.html, or change the default. Since we don’t know of any other content types, let’s start with updating the default.

    +

    Remember, any content that we haven’t created a template for will end up using this template. That can be good or bad. Bad because I know that we’re going to be adding different types of content and we’re going to end up undoing some of the changes we’ve made. It’s good because we’ll be able to see immediate results. It’s also good to start here because we can start to build the basic layout for the site. As we add more content types, we’ll refactor this file and move logic around. Hugo makes that fairly painless, so we’ll accept the cost and proceed.

    +

    Please see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you’re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That’s a refreshing amount of joy right there.

    +

    +Update the Template File +# +

    +
    $ vi themes/zafta/layouts/_default/single.html 
     <!DOCTYPE html>
     <html>
     <head>
    @@ -415,7 +815,8 @@
     :wq
     
     $
    -

    Build the web site and verify the results.

    $ rm -rf public
    +

    Build the web site and verify the results.

    +
    $ rm -rf public
     $ hugo --verbose
     INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
     INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    @@ -461,8 +862,13 @@
     </body>
     </html>
     $
    -

    Notice that the posts now have content. You can go to localhost:1313/post/first to verify.

    Linking to Content -#

    The posts are on the home page. Let’s add a link from there to the post. Since this is the home page, we’ll update its template.

    $ vi themes/zafta/layouts/index.html
    +

    Notice that the posts now have content. You can go to localhost:1313/post/first to verify.

    +

    +Linking to Content +# +

    +

    The posts are on the home page. Let’s add a link from there to the post. Since this is the home page, we’ll update its template.

    +
    $ vi themes/zafta/layouts/index.html
     <!DOCTYPE html>
     <html>
     <body>
    @@ -471,7 +877,8 @@
       {{ end }}
     </body>
     </html>
    -

    Build the web site and verify the results.

    $ rm -rf public
    +

    Build the web site and verify the results.

    +
    $ rm -rf public
     $ hugo --verbose
     INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml
     INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/
    @@ -504,11 +911,22 @@
     </html>
     
     $
    -

    Create a Post Listing -#

    We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let’s make it show a list of all posts (not just the first ten).

    We need to decide which template to update. This will be a listing, so it should be a list template. Let’s take a quick look and see which list templates are available.

    $ find themes/zafta -name list.html | xargs ls -l
    +

    +Create a Post Listing +# +

    +

    We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let’s make it show a list of all posts (not just the first ten).

    +

    We need to decide which template to update. This will be a listing, so it should be a list template. Let’s take a quick look and see which list templates are available.

    +
    $ find themes/zafta -name list.html | xargs ls -l
     -rw-r--r--  1 quoha  staff  0 Sep 29 17:31 themes/zafta/layouts/_default/list.html
    -

    As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don’t have multiple content types, so let’s stay consistent and update the default list template.

    Creating Top Level Pages -#

    Let’s add an “about” page and display it at the top level (as opposed to a sub-level like we did with posts).

    The default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let’s verify that by creating an “about” page at the top level:

    $ vi content/about.md 
    +

    As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don’t have multiple content types, so let’s stay consistent and update the default list template.

    +

    +Creating Top Level Pages +# +

    +

    Let’s add an “about” page and display it at the top level (as opposed to a sub-level like we did with posts).

    +

    The default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let’s verify that by creating an “about” page at the top level:

    +
    $ vi content/about.md 
     +++
     title = "about"
     description = "about this site"
    @@ -520,13 +938,16 @@
     
     i'm speechless
     :wq
    -

    Generate the web site and verify the results.

    $ find public -name '*.html' | xargs ls -l
    +

    Generate the web site and verify the results.

    +
    $ find public -name '*.html' | xargs ls -l
     -rw-rw-r--  1 mdhender  staff   334 Sep 27 15:08 public/about-time/index.html
     -rw-rw-r--  1 mdhender  staff   527 Sep 27 15:08 public/index.html
     -rw-rw-r--  1 mdhender  staff   358 Sep 27 15:08 public/post/first-post/index.html
     -rw-rw-r--  1 mdhender  staff     0 Sep 27 15:08 public/post/index.html
     -rw-rw-r--  1 mdhender  staff   342 Sep 27 15:08 public/post/second-post/index.html
    -

    Notice that the page wasn’t created at the top level. It was created in a sub-directory named ‘about-time/’. That name came from our slug. Hugo will use the slug to name the generated content. It’s a reasonable default, by the way, but we can learn a few things by fighting it for this file.

    One other thing. Take a look at the home page.

    $ cat public/index.html
    +

    Notice that the page wasn’t created at the top level. It was created in a sub-directory named ‘about-time/’. That name came from our slug. Hugo will use the slug to name the generated content. It’s a reasonable default, by the way, but we can learn a few things by fighting it for this file.

    +

    One other thing. Take a look at the home page.

    +
    $ cat public/index.html
     <!DOCTYPE html>
     <html>
     <body>
    @@ -539,7 +960,8 @@
     		+ ':1313/livereload.js?mindelay=10"></'
             + 'script>')</script></body>
     </html>
    -

    Notice that the “about” link is listed with the posts? That’s not desirable, so let’s change that first.

    $ vi themes/zafta/layouts/index.html
    +

    Notice that the “about” link is listed with the posts? That’s not desirable, so let’s change that first.

    +
    $ vi themes/zafta/layouts/index.html
     <!DOCTYPE html>
     <html>
     <body>
    @@ -559,19 +981,32 @@
     </body>
     </html>
     :wq
    -

    Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.

    But, that about page still renders to about-time/index.html.

    $ find public -name '*.html' | xargs ls -l
    +

    Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.

    +

    But, that about page still renders to about-time/index.html.

    +
    $ find public -name '*.html' | xargs ls -l
     -rw-rw-r--  1 mdhender  staff    334 Sep 27 15:33 public/about-time/index.html
     -rw-rw-r--  1 mdhender  staff    645 Sep 27 15:33 public/index.html
     -rw-rw-r--  1 mdhender  staff    358 Sep 27 15:33 public/post/first-post/index.html
     -rw-rw-r--  1 mdhender  staff      0 Sep 27 15:33 public/post/index.html
     -rw-rw-r--  1 mdhender  staff    342 Sep 27 15:33 public/post/second-post/index.html
    -

    Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let’s do it the hard way and change the permalink in the configuration file.

    $ vi config.toml
    +

    Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let’s do it the hard way and change the permalink in the configuration file.

    +
    $ vi config.toml
     [permalinks]
     	page = "/:title/"
     	about = "/:filename/"
    -

    Generate the web site and verify that this didn’t work. Hugo lets “slug” or “URL” override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.

    Sharing Templates -#

    If you’ve been following along, you probably noticed that posts have titles in the browser and the home page doesn’t. That’s because we didn’t put the title in the home page’s template (layouts/index.html). That’s an easy thing to do, but let’s look at a different option.

    We can put the common bits into a shared template that’s stored in the themes/zafta/layouts/partials/ directory.

    In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme’s presentation.

    $ vi themes/zafta/layouts/partials/header.html
    +

    Generate the web site and verify that this didn’t work. Hugo lets “slug” or “URL” override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.

    +

    +Sharing Templates +# +

    +

    If you’ve been following along, you probably noticed that posts have titles in the browser and the home page doesn’t. That’s because we didn’t put the title in the home page’s template (layouts/index.html). That’s an easy thing to do, but let’s look at a different option.

    +

    We can put the common bits into a shared template that’s stored in the themes/zafta/layouts/partials/ directory.

    + +

    In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme’s presentation.

    +
    $ vi themes/zafta/layouts/partials/header.html
     <!DOCTYPE html>
     <html>
     <head>
    @@ -584,10 +1019,17 @@
     </body>
     </html>
     :wq
    -

    Update the Home Page Template to Use the Partials -#

    The most noticeable difference between a template call and a partials call is the lack of path:

    {{ template "theme/partials/header.html" . }}
    -

    versus

    {{ partial "header.html" . }}
    -

    Both pass in the context.

    Let’s change the home page template to use these new partials.

    $ vi themes/zafta/layouts/index.html
    +

    +Update the Home Page Template to Use the Partials +# +

    +

    The most noticeable difference between a template call and a partials call is the lack of path:

    +
    {{ template "theme/partials/header.html" . }}
    +

    versus

    +
    {{ partial "header.html" . }}
    +

    Both pass in the context.

    +

    Let’s change the home page template to use these new partials.

    +
    $ vi themes/zafta/layouts/index.html
     {{ partial "header.html" . }}
     
       <h1>posts</h1>
    @@ -606,8 +1048,12 @@
     
     {{ partial "footer.html" . }}
     :wq
    -

    Generate the web site and verify the results. The title on the home page is now “your title here”, which comes from the “title” variable in the config.toml file.

    Update the Default Single Template to Use the Partials -#

    $ vi themes/zafta/layouts/_default/single.html
    +

    Generate the web site and verify the results. The title on the home page is now “your title here”, which comes from the “title” variable in the config.toml file.

    +

    +Update the Default Single Template to Use the Partials +# +

    +
    $ vi themes/zafta/layouts/_default/single.html
     {{ partial "header.html" . }}
     
       <h1>{{ .Title }}</h1>
    @@ -615,10 +1061,20 @@
     
     {{ partial "footer.html" . }}
     :wq
    -

    Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.

    Add “Date Published” to Posts -#

    It’s common to have posts display the date that they were written or published, so let’s add that. The front matter of our posts has a variable named “date.” It’s usually the date the content was created, but let’s pretend that’s the value we want to display.

    Add “Date Published” to the Template -#

    We’ll start by updating the template used to render the posts. The template code will look like:

    {{ .Date.Format "Mon, Jan 2, 2006" }}
    -

    Posts use the default single template, so we’ll change that file.

    $ vi themes/zafta/layouts/_default/single.html
    +

    Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.

    +

    +Add “Date Published” to Posts +# +

    +

    It’s common to have posts display the date that they were written or published, so let’s add that. The front matter of our posts has a variable named “date.” It’s usually the date the content was created, but let’s pretend that’s the value we want to display.

    +

    +Add “Date Published” to the Template +# +

    +

    We’ll start by updating the template used to render the posts. The template code will look like:

    +
    {{ .Date.Format "Mon, Jan 2, 2006" }}
    +

    Posts use the default single template, so we’ll change that file.

    +
    $ vi themes/zafta/layouts/_default/single.html
     {{ partial "header.html" . }}
     
       <h1>{{ .Title }}</h1>
    @@ -627,7 +1083,12 @@
     
     {{ partial "footer.html" . }}
     :wq
    -

    Generate the web site and verify the results. The posts now have the date displayed in them. There’s a problem, though. The “about” page also has the date displayed.

    As usual, there are a couple of ways to make the date display only on posts. We could do an “if” statement like we did on the home page. Another way would be to create a separate template for posts.

    The “if” solution works for sites that have just a couple of content types. It aligns with the principle of “code for today,” too.

    Let’s assume, though, that we’ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we’re going to create a section template.

    Let’s restore the default single template before we forget.

    $ mkdir themes/zafta/layouts/post
    +

    Generate the web site and verify the results. The posts now have the date displayed in them. There’s a problem, though. The “about” page also has the date displayed.

    +

    As usual, there are a couple of ways to make the date display only on posts. We could do an “if” statement like we did on the home page. Another way would be to create a separate template for posts.

    +

    The “if” solution works for sites that have just a couple of content types. It aligns with the principle of “code for today,” too.

    +

    Let’s assume, though, that we’ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we’re going to create a section template.

    +

    Let’s restore the default single template before we forget.

    +
    $ mkdir themes/zafta/layouts/post
     $ vi themes/zafta/layouts/_default/single.html
     {{ partial "header.html" . }}
     
    @@ -636,7 +1097,8 @@
     
     {{ partial "footer.html" . }}
     :wq
    -

    Now we’ll update the post’s version of the single template. If you remember Hugo’s rules, the template engine will use this version over the default.

    $ vi themes/zafta/layouts/post/single.html
    +

    Now we’ll update the post’s version of the single template. If you remember Hugo’s rules, the template engine will use this version over the default.

    +
    $ vi themes/zafta/layouts/post/single.html
     {{ partial "header.html" . }}
     
       <h1>{{ .Title }}</h1>
    @@ -646,6 +1108,95 @@
     {{ partial "footer.html" . }}
     :wq
     
    -

    Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn’t.

    Don’t Repeat Yourself -#

    DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you’re figuring that out, accept that you’ll be doing some refactoring. Hugo makes that easy and fast, so it’s okay to delay splitting up a template.

    \ No newline at end of file +

    Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn’t.

    +

    +Don’t Repeat Yourself +# +

    +

    DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you’re figuring that out, accept that you’ll be doing some refactoring. Hugo makes that easy and fast, so it’s okay to delay splitting up a template.

    + +
    + + +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/posts/goisforlovers/index.html b/posts/goisforlovers/index.html index 67199226..eed2c6af 100644 --- a/posts/goisforlovers/index.html +++ b/posts/goisforlovers/index.html @@ -1,123 +1,374 @@ -(Hu)go Template Primer | Visual Computing -
    + + + + + + + + + + + +(Hu)go Template Primer | Visual Computing + + + + + + + + + +
    + + + +
    +
    +

    +(Hu)go Template Primer +

    +
    April 2, 2014
    + + +

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of -similarities in Go templates.

    This document is a brief primer on using Go templates. The Go docs -provide more details.

    Introduction to Go Templates -#

    Go templates provide an extremely simple template language. It adheres to the +similarities in Go templates.

    +

    This document is a brief primer on using Go templates. The Go docs +provide more details.

    +

    +Introduction to Go Templates +# +

    +

    Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. -One consequence of this simplicity is that Go templates parse very quickly.

    A unique characteristic of Go templates is they are content aware. Variables and +One consequence of this simplicity is that Go templates parse very quickly.

    +

    A unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More -details can be found in the Go docs.

    Basic Syntax -#

    Golang templates are HTML files with the addition of variables and -functions.

    Go variables and functions are accessible within {{ }}

    Accessing a predefined variable “foo”:

    {{ foo }}
    -

    Parameters are separated using spaces

    Calling the add function with input of 1, 2:

    {{ add 1 2 }}
    -

    Methods and fields are accessed via dot notation

    Accessing the Page Parameter “bar”

    {{ .Params.bar }}
    -

    Parentheses can be used to group items together

    {{ if or (isset .Params "alt") (isset .Params "caption") }} Caption {{ end }}
    -

    Variables -#

    Each Go template has a struct (object) made available to it. In hugo each +details can be found in the Go docs.

    +

    +Basic Syntax +# +

    +

    Golang templates are HTML files with the addition of variables and +functions.

    +

    Go variables and functions are accessible within {{ }}

    +

    Accessing a predefined variable “foo”:

    +
    {{ foo }}
    +
    +

    Parameters are separated using spaces

    +

    Calling the add function with input of 1, 2:

    +
    {{ add 1 2 }}
    +
    +

    Methods and fields are accessed via dot notation

    +

    Accessing the Page Parameter “bar”

    +
    {{ .Params.bar }}
    +
    +

    Parentheses can be used to group items together

    +
    {{ if or (isset .Params "alt") (isset .Params "caption") }} Caption {{ end }}
    +
    +

    +Variables +# +

    +

    Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the -variables page.

    A variable is accessed by referencing the variable name.

    <title>{{ .Title }}</title>
    -

    Variables can also be defined and referenced.

    {{ $address := "123 Main St."}}
    +variables page.

    +

    A variable is accessed by referencing the variable name.

    +
    <title>{{ .Title }}</title>
    +
    +

    Variables can also be defined and referenced.

    +
    {{ $address := "123 Main St."}}
     {{ $address }}
    -

    Functions -#

    Go template ship with a few functions which provide basic functionality. The Go +

    +

    +Functions +# +

    +

    Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template -functions cannot be added without recompiling hugo.

    Example:

    {{ add 1 2 }}
    -

    Includes -#

    When including another template you will pass to it the data it will be +functions cannot be added without recompiling hugo.

    +

    Example:

    +
    {{ add 1 2 }}
    +
    +

    +Includes +# +

    +

    When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at -the /layout/ directory within Hugo.

    Example:

    {{ template "chrome/header.html" . }}
    -

    Logic -#

    Go templates provide the most basic iteration and conditional logic.

    Iteration -#

    Just like in Go, the Go templates make heavy use of range to iterate over +the /layout/ directory within Hugo.

    +

    Example:

    +
    {{ template "chrome/header.html" . }}
    +
    +

    +Logic +# +

    +

    Go templates provide the most basic iteration and conditional logic.

    +

    +Iteration +# +

    +

    Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use -range.

    Example 1: Using Context

    {{ range array }}
    +range.

    +

    Example 1: Using Context

    +
    {{ range array }}
         {{ . }}
     {{ end }}
    -

    Example 2: Declaring value variable name

    {{range $element := array}}
    +
    +

    Example 2: Declaring value variable name

    +
    {{range $element := array}}
         {{ $element }}
     {{ end }}
    -

    Example 2: Declaring key and value variable name

    {{range $index, $element := array}}
    +
    +

    Example 2: Declaring key and value variable name

    +
    {{range $index, $element := array}}
         {{ $index }}
         {{ $element }}
     {{ end }}
    -

    Conditionals -#

    If, else, with, or, & and provide the framework for handling conditional -logic in Go Templates. Like range, each statement is closed with end.

    Go Templates treat the following values as false:

    • false
    • 0
    • any array, slice, map, or string of length zero

    Example 1: If

    {{ if isset .Params "title" }}<h4>{{ index .Params "title" }}</h4>{{ end }}
    -

    Example 2: If -> Else

    {{ if isset .Params "alt" }}
    +
    +

    +Conditionals +# +

    +

    If, else, with, or, & and provide the framework for handling conditional +logic in Go Templates. Like range, each statement is closed with end.

    +

    Go Templates treat the following values as false:

    +
      +
    • false
    • +
    • 0
    • +
    • any array, slice, map, or string of length zero
    • +
    +

    Example 1: If

    +
    {{ if isset .Params "title" }}<h4>{{ index .Params "title" }}</h4>{{ end }}
    +
    +

    Example 2: If -> Else

    +
    {{ if isset .Params "alt" }}
         {{ index .Params "alt" }}
     {{else}}
         {{ index .Params "caption" }}
     {{ end }}
    -

    Example 3: And & Or

    {{ if and (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
    -

    Example 4: With

    An alternative way of writing “if” and then referencing the same value +

    +

    Example 3: And & Or

    +
    {{ if and (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
    +
    +

    Example 4: With

    +

    An alternative way of writing “if” and then referencing the same value is to use “with” instead. With rebinds the context . within its scope, -and skips the block if the variable is absent.

    The first example above could be simplified as:

    {{ with .Params.title }}<h4>{{ . }}</h4>{{ end }}
    -

    Example 5: If -> Else If

    {{ if isset .Params "alt" }}
    +and skips the block if the variable is absent.

    +

    The first example above could be simplified as:

    +
    {{ with .Params.title }}<h4>{{ . }}</h4>{{ end }}
    +
    +

    Example 5: If -> Else If

    +
    {{ if isset .Params "alt" }}
         {{ index .Params "alt" }}
     {{ else if isset .Params "caption" }}
         {{ index .Params "caption" }}
     {{ end }}
    -

    Pipes -#

    One of the most powerful components of Go templates is the ability to +

    +

    +Pipes +# +

    +

    One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline’s output becomes the -input of the following pipe.

    Because of the very simple syntax of Go templates, the pipe is essential +input of the following pipe.

    +

    Because of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value -becomes the last parameter of the next pipeline.

    A few simple examples should help convey how to use the pipe.

    Example 1 :

    {{ if eq 1 1 }} Same {{ end }}
    -

    is the same as

    {{ eq 1 1 | if }} Same {{ end }}
    -

    It does look odd to place the if at the end, but it does provide a good -illustration of how to use the pipes.

    Example 2 :

    {{ index .Params "disqus_url" | html }}
    -

    Access the page parameter called “disqus_url” and escape the HTML.

    Example 3 :

    {{ if or (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
    +becomes the last parameter of the next pipeline.

    +

    A few simple examples should help convey how to use the pipe.

    +

    Example 1 :

    +
    {{ if eq 1 1 }} Same {{ end }}
    +
    +

    is the same as

    +
    {{ eq 1 1 | if }} Same {{ end }}
    +
    +

    It does look odd to place the if at the end, but it does provide a good +illustration of how to use the pipes.

    +

    Example 2 :

    +
    {{ index .Params "disqus_url" | html }}
    +
    +

    Access the page parameter called “disqus_url” and escape the HTML.

    +

    Example 3 :

    +
    {{ if or (or (isset .Params "title") (isset .Params "caption")) (isset .Params "attr")}}
     Stuff Here
     {{ end }}
    -

    Could be rewritten as

    {{  isset .Params "caption" | or isset .Params "title" | or isset .Params "attr" | if }}
    +
    +

    Could be rewritten as

    +
    {{  isset .Params "caption" | or isset .Params "title" | or isset .Params "attr" | if }}
     Stuff Here
     {{ end }}
    -

    Context (aka. the dot) -#

    The most easily overlooked concept to understand about Go templates is that {{ . }} +

    +

    +Context (aka. the dot) +# +

    +

    The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable -instead of depending on the context.

    Example:

      {{ $title := .Site.Title }}
    +instead of depending on the context.

    +

    Example:

    +
      {{ $title := .Site.Title }}
       {{ range .Params.tags }}
         <li> <a href="{{ $baseurl }}/tags/{{ . | urlize }}">{{ . }}</a> - {{ $title }} </li>
       {{ end }}
    -

    Notice how once we have entered the loop the value of {{ . }} has changed. We +

    +

    Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within -the loop.

    Hugo Parameters -#

    Hugo provides the option of passing values to the template language +the loop.

    +

    +Hugo Parameters +# +

    +

    Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however -you want to inside of your templates.

    Using Content (page) Parameters -#

    In each piece of content you can provide variables to be used by the -templates. This happens in the front matter.

    An example of this is used in this documentation site. Most of the pages +you want to inside of your templates.

    +

    +Using Content (page) Parameters +# +

    +

    In each piece of content you can provide variables to be used by the +templates. This happens in the front matter.

    +

    An example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn’t make a lot of sense. We’ve defined a variable in our front matter -of some pages to turn off the TOC from being displayed.

    Here is the example front matter:

    ---
    +of some pages to turn off the TOC from being displayed.

    +

    Here is the example front matter:

    +
    ---
     title: "Permalinks"
     date: "2013-11-18"
     aliases:
    @@ -126,14 +377,21 @@
     groups_weight: 30
     notoc: true
     ---
    -

    Here is the corresponding code inside of the template:

      {{ if not .Params.notoc }}
    +

    Here is the corresponding code inside of the template:

    +
      {{ if not .Params.notoc }}
         <div id="toc" class="well col-md-4 col-sm-6">
         {{ .TableOfContents }}
         </div>
       {{ end }}
    -

    Using Site (config) Parameters -#

    In your top-level configuration file (eg, config.yaml) you can define site -parameters, which are values which will be available to you in chrome.

    For instance, you might declare:

    params:
    +
    +

    +Using Site (config) Parameters +# +

    +

    In your top-level configuration file (eg, config.yaml) you can define site +parameters, which are values which will be available to you in chrome.

    +

    For instance, you might declare:

    +
    params:
       CopyrightHTML: "Copyright &#xA9; 2013 John Doe. All Rights Reserved."
       TwitterUser: "spf13"
       SidebarRecentLimit: 5
    @@ -141,22 +399,72 @@
     provided if the CopyrightHTML parameter is provided, and if it is given,
     you would declare it to be HTML-safe, so that the HTML entity is not escaped
     again. This would let you easily update just your top-level config file each
    -January 1st, instead of hunting through your templates.

    {{if .Site.Params.CopyrightHTML}}<footer>
    +January 1st, instead of hunting through your templates.

    +
    {{if .Site.Params.CopyrightHTML}}<footer>
     <div class="text-center">{{.Site.Params.CopyrightHTML | safeHtml}}</div>
     </footer>{{end}}
     

    An alternative way of writing the “if” and then referencing the same value is to use “with” instead. With rebinds the context . within its scope, -and skips the block if the variable is absent:

    {{with .Site.Params.TwitterUser}}<span class="twitter">
    +and skips the block if the variable is absent:

    +
    {{with .Site.Params.TwitterUser}}<span class="twitter">
     <a href="https://twitter.com/{{.}}" rel="author">
     <img src="/images/twitter.png" width="48" height="48" title="Twitter: {{.}}"
      alt="Twitter"></a>
     </span>{{end}}
     

    Finally, if you want to pull “magic constants” out of your layouts, you can do -so, such as in this example:

    <nav class="recent">
    +so, such as in this example:

    +
    <nav class="recent">
       <h1>Recent Posts</h1>
       <ul>{{range first .Site.Params.SidebarRecentLimit .Site.Recent}}
         <li><a href="{{.RelPermalink}}">{{.Title}}</a></li>
       {{end}}</ul>
     </nav>
    -
    \ No newline at end of file + +
    + + +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/posts/hugoisforlovers/index.html b/posts/hugoisforlovers/index.html index d2d18c06..8ac571f9 100644 --- a/posts/hugoisforlovers/index.html +++ b/posts/hugoisforlovers/index.html @@ -1,24 +1,165 @@ - + + +Getting Started with Hugo | Visual Computing -
    +Follow the following steps:"> + + + + +Getting Started with Hugo | Visual Computing + + + + + + + + + +
    + +
    +
    +
    + Getting Started with Hugo -

    Getting Started with Hugo

    April 2, 2014

    Step 1. Install Hugo -#

    Go to Hugo releases and download the -appropriate version for your OS and architecture.

    Save it somewhere specific as we will be using it in the next step.

    More complete instructions are available at Install Hugo

    Step 2. Build the Docs -#

    Hugo has its own example site which happens to also be the documentation site -you are reading right now.

    Follow the following steps:

    1. Clone the Hugo repository
    2. Go into the repo
    3. Run hugo in server mode and build the docs
    4. Open your browser to http://localhost:1313

    Corresponding pseudo commands:

    git clone https://github.com/spf13/hugo
    +
    +
    + +
    +
    +

    +Getting Started with Hugo +

    +
    April 2, 2014
    + + +

    +Step 1. Install Hugo +# +

    +

    Go to Hugo releases and download the +appropriate version for your OS and architecture.

    +

    Save it somewhere specific as we will be using it in the next step.

    +

    More complete instructions are available at Install Hugo

    +

    +Step 2. Build the Docs +# +

    +

    Hugo has its own example site which happens to also be the documentation site +you are reading right now.

    +

    Follow the following steps:

    +
      +
    1. Clone the Hugo repository
    2. +
    3. Go into the repo
    4. +
    5. Run hugo in server mode and build the docs
    6. +
    7. Open your browser to http://localhost:1313
    8. +
    +

    Corresponding pseudo commands:

    +
    git clone https://github.com/spf13/hugo
     cd hugo
     /path/to/where/you/installed/hugo server --source=./docs
     > 29 pages created
    @@ -26,23 +167,73 @@
     > in 27 ms
     > Web Server is available at http://localhost:1313
     > Press ctrl+c to stop
    -

    Once you’ve gotten here, follow along the rest of this page on your local build.

    Step 3. Change the docs site -#

    Stop the Hugo process by hitting Ctrl+C.

    Now we are going to run hugo again, but this time with hugo in watch mode.

    /path/to/hugo/from/step/1/hugo server --source=./docs --watch
    +
    +

    Once you’ve gotten here, follow along the rest of this page on your local build.

    +

    +Step 3. Change the docs site +# +

    +

    Stop the Hugo process by hitting Ctrl+C.

    +

    Now we are going to run hugo again, but this time with hugo in watch mode.

    +
    /path/to/hugo/from/step/1/hugo server --source=./docs --watch
     > 29 pages created
     > 0 tags index created
     > in 27 ms
     > Web Server is available at http://localhost:1313
     > Watching for changes in /Users/spf13/Code/hugo/docs/content
     > Press ctrl+c to stop
    -

    Open your favorite editor and change one of the source -content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.

    Content files are found in docs/content/. Unless otherwise specified, files + +

    Open your favorite editor and change one of the source +content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.

    +

    Content files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case -docs/content/overview/quickstart.md.

    Change and save this file.. Notice what happened in your terminal.

    > Change detected, rebuilding site
    +docs/content/overview/quickstart.md.

    +

    Change and save this file.. Notice what happened in your terminal.

    +
    > Change detected, rebuilding site
     
     > 29 pages created
     > 0 tags index created
     > in 26 ms
    -

    Refresh the browser and observe that the typo is now fixed.

    Notice how quick that was. Try to refresh the site before it’s finished building. I double dare you. -Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.

    Step 4. Have fun -#

    The best way to learn something is to play with it.

    \ No newline at end of file + +

    Refresh the browser and observe that the typo is now fixed.

    +

    Notice how quick that was. Try to refresh the site before it’s finished building. I double dare you. +Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.

    +

    +Step 4. Have fun +# +

    +

    The best way to learn something is to play with it.

    + +
    + + +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/posts/index.html b/posts/index.html index bdaa07d3..39f87986 100644 --- a/posts/index.html +++ b/posts/index.html @@ -1,43 +1,279 @@ -Blog | Visual Computing -
    + + + + + + + + + +Blog | Visual Computing + + + + + + + + + + +
    + +
    +
    +
    + Blog -

    Creating a New Theme

    September 28, 2014

    Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. + +

    + +
    +
    +

    +Creating a New Theme +

    +
    September 28, 2014
    +

    Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. We’ll start with creating a new site with a very basic template. -...

    Migrate to Hugo from Jekyll

    March 10, 2014

    Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like +... +

    +
    +
    +

    +Migrate to Hugo from Jekyll +

    +
    March 10, 2014
    +

    Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like ▾ <root>/ ▾ images/ logo.png should become ▾ <root>/ ▾ static/ ▾ images/ logo.png Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static. -...

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +... +

    +
    +
    +

    +(Hu)go Template Primer +

    +
    April 2, 2014
    + + +

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    +
    +

    +Getting Started with Hugo +

    +
    April 2, 2014
    + + +

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file +... +

    + +
    + + +
    + + + + + + \ No newline at end of file diff --git a/posts/index.xml b/posts/index.xml index b41d84e2..4c8b9d2a 100644 --- a/posts/index.xml +++ b/posts/index.xml @@ -1,8 +1,8 @@ -Blog on Visual Computinghttps://visualcomputing.github.io/hugo-vc/posts/Recent content in Blog on Visual ComputingHugo -- gohugo.ioen-usCreating a New Themehttps://visualcomputing.github.io/hugo-vc/posts/creating-a-new-theme/Sun, 28 Sep 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/creating-a-new-theme/Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme. -We&rsquo;ll start with creating a new site with a very basic template.Migrate to Hugo from Jekyllhttps://visualcomputing.github.io/hugo-vc/posts/migrate-from-jekyll/Mon, 10 Mar 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/migrate-from-jekyll/Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like +Blog on Visual Computinghttps://visualcomputing.github.io/vc/posts/Recent content in Blog on Visual ComputingHugo -- gohugo.ioen-usCreating a New Themehttps://visualcomputing.github.io/vc/posts/creating-a-new-theme/Sun, 28 Sep 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/creating-a-new-theme/Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme. +We&rsquo;ll start with creating a new site with a very basic template.Migrate to Hugo from Jekyllhttps://visualcomputing.github.io/vc/posts/migrate-from-jekyll/Mon, 10 Mar 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/migrate-from-jekyll/Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like ▾ &lt;root&gt;/ ▾ images/ logo.png should become -▾ &lt;root&gt;/ ▾ static/ ▾ images/ logo.png Additionally, you&rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.(Hu)go Template Primerhttps://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. -This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +▾ &lt;root&gt;/ ▾ static/ ▾ images/ logo.png Additionally, you&rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. diff --git a/posts/migrate-from-jekyll/index.html b/posts/migrate-from-jekyll/index.html index 115f35e6..dc03d2e1 100644 --- a/posts/migrate-from-jekyll/index.html +++ b/posts/migrate-from-jekyll/index.html @@ -1,34 +1,204 @@ - + + +Migrate to Hugo from Jekyll | Visual Computing -
    +▾ / ▾ static/ ▾ images/ logo.png Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static."> + + + + +Migrate to Hugo from Jekyll | Visual Computing + + + + + + + + + +
    + +
    +
    +
    + Migrate to Hugo from Jekyll -

    Migrate to Hugo from Jekyll

    March 10, 2014

    Move static content to static -#

    Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. -With Jekyll, something that looked like

    ▾ <root>/
    +
    +
    + +
    +
    +

    +Migrate to Hugo from Jekyll +

    +
    March 10, 2014
    +

    +Move static content to static +# +

    +

    Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. +With Jekyll, something that looked like

    +
    ▾ <root>/
         ▾ images/
             logo.png
    -

    should become

    ▾ <root>/
    +
    +

    should become

    +
    ▾ <root>/
         ▾ static/
             ▾ images/
                 logo.png
    -

    Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static.

    Create your Hugo configuration file -#

    Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.

    Set your configuration publish folder to _site -#

    The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you’ll want to do one of two alternatives:

    1. Change your submodule to point to map gh-pages to public instead of _site (recommended).

       git submodule deinit _site
      +
      +

      Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static.

      +

      +Create your Hugo configuration file +# +

      +

      Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.

      +

      +Set your configuration publish folder to _site +# +

      +

      The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you’ll want to do one of two alternatives:

      +
        +
      1. +

        Change your submodule to point to map gh-pages to public instead of _site (recommended).

        +
         git submodule deinit _site
          git rm _site
          git submodule add -b gh-pages git@github.com:your-username/your-repo.git public
        -
      2. Or, change the Hugo configuration to use _site instead of public.

         {
        +
        +
      3. +
      4. +

        Or, change the Hugo configuration to use _site instead of public.

        +
         {
              ..
              "publishdir": "_site",
              ..
          }
        -

      Convert Jekyll templates to Hugo templates -#

      That’s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll’s template documentation if you need to refresh your memory on how you built your blog and Hugo’s template to learn Hugo’s way.

      As a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.

      Convert Jekyll plugins to Hugo shortcodes -#

      Jekyll has plugins; Hugo has shortcodes. It’s fairly trivial to do a port.

      Implementation -#

      As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.

      Jekyll’s plugin:

      module Jekyll
      +
      +
    2. +
    +

    +Convert Jekyll templates to Hugo templates +# +

    +

    That’s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll’s template documentation if you need to refresh your memory on how you built your blog and Hugo’s template to learn Hugo’s way.

    +

    As a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.

    +

    +Convert Jekyll plugins to Hugo shortcodes +# +

    +

    Jekyll has plugins; Hugo has shortcodes. It’s fairly trivial to do a port.

    +

    +Implementation +# +

    +

    As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.

    +

    Jekyll’s plugin:

    +
    module Jekyll
       class ImageTag < Liquid::Tag
         @url = nil
         @caption = nil
    @@ -81,7 +251,9 @@
       end
     end
     Liquid::Template.register_tag('image', Jekyll::ImageTag)
    -

    is written as this Hugo shortcode:

    <!-- image -->
    +
    +

    is written as this Hugo shortcode:

    +
    <!-- image -->
     <figure {{ with .Get "class" }}class="{{.}}"{{ end }}>
         {{ with .Get "link"}}<a href="{{.}}">{{ end }}
             <img src="{{ .Get "src" }}" {{ if or (.Get "alt") (.Get "caption") }}alt="{{ with .Get "alt"}}{{.}}{{else}}{{ .Get "caption" }}{{ end }}"{{ end }} />
    @@ -99,12 +271,81 @@
         {{ end }}
     </figure>
     <!-- image -->
    -

    Usage -#

    I simply changed:

    {% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg "One of my favorite touristy-type photos. I secretly waited for the good light while we were "having fun" and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing." ->http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %}
    -

    to this (this example uses a slightly extended version named fig, different than the built-in figure):

    {{% fig class="full" src="http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg" title="One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing." link="http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/" %}}
    -

    As a bonus, the shortcode named parameters are, arguably, more readable.

    Finishing touches -#

    Fix content -#

    Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.

    Clean up -#

    You’ll want to remove the Jekyll configuration at this point. If you have anything else that isn’t used, delete it.

    A practical example in a diff -#

    Hey, it’s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.

    \ No newline at end of file + +

    +Usage +# +

    +

    I simply changed:

    +
    {% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg "One of my favorite touristy-type photos. I secretly waited for the good light while we were "having fun" and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing." ->http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %}
    +
    +

    to this (this example uses a slightly extended version named fig, different than the built-in figure):

    +
    {{% fig class="full" src="http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg" title="One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing." link="http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/" %}}
    +
    +

    As a bonus, the shortcode named parameters are, arguably, more readable.

    +

    +Finishing touches +# +

    +

    +Fix content +# +

    +

    Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.

    +

    +Clean up +# +

    +

    You’ll want to remove the Jekyll configuration at this point. If you have anything else that isn’t used, delete it.

    +

    +A practical example in a diff +# +

    +

    Hey, it’s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.

    + +
    + + +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/posts/page/1/index.html b/posts/page/1/index.html index 93cd7840..774f8c63 100644 --- a/posts/page/1/index.html +++ b/posts/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/hugo-vc/posts/ \ No newline at end of file +https://visualcomputing.github.io/vc/posts/ \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index ebf5d355..ee61e08e 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://visualcomputing.github.io/hugo-vc/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/details/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/expand/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/katex/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/mermaid/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/div/2021-07-18T12:21:09-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/p5/iframe/2021-07-18T12:21:09-05:00https://visualcomputing.github.io/hugo-vc/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/hugo-vc/docs/2021-07-18T12:21:09-05:00https://visualcomputing.github.io/hugo-vc/2021-07-12T07:11:39-05:00 \ No newline at end of file +https://visualcomputing.github.io/vc/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/details/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/expand/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/katex/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/mermaid/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/2021-09-29T19:44:08-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/2021-09-29T19:44:08-05:00https://visualcomputing.github.io/vc/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/2021-09-29T19:44:08-05:00https://visualcomputing.github.io/vc/2021-07-12T07:11:39-05:00 \ No newline at end of file diff --git a/sketches/depthmap.js b/sketches/depthmap.js index 0e9e6823..dcd08b44 100644 --- a/sketches/depthmap.js +++ b/sketches/depthmap.js @@ -5,7 +5,7 @@ var near, far; var easycam; function preload() { - depthShader = loadShader('/hugo-vc/sketches/shader.vert', '/hugo-vc/sketches/depthmap.frag'); + depthShader = loadShader('/vc/sketches/shader.vert', '/vc/sketches/depthmap.frag'); } function setup () { diff --git a/sketches/omkara.png b/sketches/omkara.png deleted file mode 100644 index f8b31f683b6ce95108dbfb883c732a8dd9f7fd4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70379 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 mosaic.setUniform('om_on', om_on.checked())); - om_on.position(10, 10); - video_on = createCheckbox('video', false); - video_on.changed(() => { - if (video_on.checked()) { - mosaic.setUniform('img', video); - video.loop(); - } else { - mosaic.setUniform('img', image); - } - }); - video_on.position(10, 30); - mosaic.setUniform('img', image); - resolution = createSlider(10, 100, 30, 1); - resolution.position(10, 50); - resolution.style('width', '80px'); - resolution.input(() => mosaic.setUniform('resolution', resolution.value())); - mosaic.setUniform('resolution', resolution.value()); -} - -function draw() { - background(33); - cover(true); -} - -function cover(texture = false) { - beginShape(); - if (texture) { - vertex(-width / 2, -height / 2, 0, 0, 0); - vertex(width / 2, -height / 2, 0, 1, 0); - vertex(width / 2, height / 2, 0, 1, 1); - vertex(-width / 2, height / 2, 0, 0, 1); - } - else { - vertex(-width / 2, -height / 2, 0); - vertex(width / 2, -height / 2, 0); - vertex(width / 2, height / 2, 0); - vertex(-width / 2, height / 2, 0); - } - endShape(CLOSE); -} \ No newline at end of file diff --git a/sketches/sound.js b/sketches/sound.js index e40eb10e..3c7a154f 100644 --- a/sketches/sound.js +++ b/sketches/sound.js @@ -42,7 +42,7 @@ function setup() { // Load the sound file. // We have included both an MP3 and an OGG version. soundFormats('mp3', 'ogg'); - dingdong = loadSound('/hugo-vc/sketches/doorbell.mp3'); + dingdong = loadSound('/vc/sketches/doorbell.mp3'); // Create a new doorbell doorbell = new Doorbell(width / 2, height / 2, 32); diff --git a/sketches/video-canvas.js b/sketches/video-canvas.js index 765b9fbc..b25522f2 100644 --- a/sketches/video-canvas.js +++ b/sketches/video-canvas.js @@ -3,7 +3,7 @@ let fingers; function setup() { createCanvas(710, 400); // specify multiple formats for different browsers - fingers = createVideo(['/hugo-vc/sketches/fingers.mov', '/hugo-vc/sketches/fingers.webm']); + fingers = createVideo(['/vc/sketches/fingers.mov', '/vc/sketches/fingers.webm']); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas // instead diff --git a/sketches/video-dom.js b/sketches/video-dom.js index 2b5ac866..96a79687 100644 --- a/sketches/video-dom.js +++ b/sketches/video-dom.js @@ -3,7 +3,7 @@ function setup() { noCanvas(); vid = createVideo( - ['/hugo-vc/sketches/fingers.mov', '/hugo-vc/sketches/fingers.webm'], + ['/vc/sketches/fingers.mov', '/vc/sketches/fingers.webm'], vidLoad ); diff --git a/tags/development/index.html b/tags/development/index.html index 2f795a55..0b321f15 100644 --- a/tags/development/index.html +++ b/tags/development/index.html @@ -1,37 +1,253 @@ -development | Visual Computing -
    + + + + + + + + + +development | Visual Computing + + + + + + + + + + +
    + +
    +
    +
    + development -

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. + +

    + +
    +
    +

    +(Hu)go Template Primer +

    +
    April 2, 2014
    + + +

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    +
    +

    +Getting Started with Hugo +

    +
    April 2, 2014
    + + +

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file +... +

    + +
    +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/tags/development/index.xml b/tags/development/index.xml index e234b024..cfd99166 100644 --- a/tags/development/index.xml +++ b/tags/development/index.xml @@ -1,5 +1,5 @@ -development on Visual Computinghttps://visualcomputing.github.io/hugo-vc/tags/development/Recent content in development on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. -This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +development on Visual Computinghttps://visualcomputing.github.io/vc/tags/development/Recent content in development on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. diff --git a/tags/development/page/1/index.html b/tags/development/page/1/index.html index 3baea346..5aba4a1f 100644 --- a/tags/development/page/1/index.html +++ b/tags/development/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/hugo-vc/tags/development/ \ No newline at end of file +https://visualcomputing.github.io/vc/tags/development/ \ No newline at end of file diff --git a/tags/go/index.html b/tags/go/index.html index b8cae6c8..37020b2a 100644 --- a/tags/go/index.html +++ b/tags/go/index.html @@ -1,37 +1,253 @@ -go | Visual Computing -
    + + + + + + + + + +go | Visual Computing + + + + + + + + + + +
    + +
    +
    +
    + go -

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. + +

    + +
    +
    +

    +(Hu)go Template Primer +

    +
    April 2, 2014
    + + +

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    +
    +

    +Getting Started with Hugo +

    +
    April 2, 2014
    + + +

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file +... +

    + +
    +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/tags/go/index.xml b/tags/go/index.xml index 23e068e6..a6c26a78 100644 --- a/tags/go/index.xml +++ b/tags/go/index.xml @@ -1,5 +1,5 @@ -go on Visual Computinghttps://visualcomputing.github.io/hugo-vc/tags/go/Recent content in go on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. -This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +go on Visual Computinghttps://visualcomputing.github.io/vc/tags/go/Recent content in go on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. diff --git a/tags/go/page/1/index.html b/tags/go/page/1/index.html index 43b2328a..d864c481 100644 --- a/tags/go/page/1/index.html +++ b/tags/go/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/hugo-vc/tags/go/ \ No newline at end of file +https://visualcomputing.github.io/vc/tags/go/ \ No newline at end of file diff --git a/tags/golang/index.html b/tags/golang/index.html index b530fd76..297ffbf2 100644 --- a/tags/golang/index.html +++ b/tags/golang/index.html @@ -1,37 +1,253 @@ -golang | Visual Computing -
    + + + + + + + + + +golang | Visual Computing + + + + + + + + + + +
    + +
    +
    +
    + golang -

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. + +

    + +
    +
    +

    +(Hu)go Template Primer +

    +
    April 2, 2014
    + + +

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    +
    +

    +Getting Started with Hugo +

    +
    April 2, 2014
    + + +

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file +... +

    + +
    +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/tags/golang/index.xml b/tags/golang/index.xml index bff48060..2a7b3ce1 100644 --- a/tags/golang/index.xml +++ b/tags/golang/index.xml @@ -1,5 +1,5 @@ -golang on Visual Computinghttps://visualcomputing.github.io/hugo-vc/tags/golang/Recent content in golang on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. -This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +golang on Visual Computinghttps://visualcomputing.github.io/vc/tags/golang/Recent content in golang on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. diff --git a/tags/golang/page/1/index.html b/tags/golang/page/1/index.html index 6d05295e..19bd63f5 100644 --- a/tags/golang/page/1/index.html +++ b/tags/golang/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/hugo-vc/tags/golang/ \ No newline at end of file +https://visualcomputing.github.io/vc/tags/golang/ \ No newline at end of file diff --git a/tags/hugo/index.html b/tags/hugo/index.html index 65c692a2..111a6a96 100644 --- a/tags/hugo/index.html +++ b/tags/hugo/index.html @@ -1,30 +1,232 @@ -hugo | Visual Computing -
    + + + + + + + + + +hugo | Visual Computing + + + + + + + + + + +
    + +
    +
    +
    + hugo -
    + +
    +
    +

    +Getting Started with Hugo +

    +
    April 2, 2014
    + + +

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file +... +

    + +
    +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/tags/hugo/index.xml b/tags/hugo/index.xml index 47b14319..6a9c550e 100644 --- a/tags/hugo/index.xml +++ b/tags/hugo/index.xml @@ -1,4 +1,4 @@ -hugo on Visual Computinghttps://visualcomputing.github.io/hugo-vc/tags/hugo/Recent content in hugo on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000Getting Started with Hugohttps://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +hugo on Visual Computinghttps://visualcomputing.github.io/vc/tags/hugo/Recent content in hugo on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. diff --git a/tags/hugo/page/1/index.html b/tags/hugo/page/1/index.html index fda8386c..06477d24 100644 --- a/tags/hugo/page/1/index.html +++ b/tags/hugo/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/hugo-vc/tags/hugo/ \ No newline at end of file +https://visualcomputing.github.io/vc/tags/hugo/ \ No newline at end of file diff --git a/tags/index.html b/tags/index.html index 7bce5494..d4424fde 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1,21 +1,257 @@ -Tags | Visual Computing -
    + + + + + + + + + +Tags | Visual Computing + + + + + + + + + + +
    + +
    +
    +
    + Tags -

    go

    April 2, 2014

    \ No newline at end of file + +
    + +
    + +
    +

    +go +

    +
    April 2, 2014
    +

    +

    +
    +
    +

    +golang +

    +
    April 2, 2014
    +

    +

    +
    +
    +

    +hugo +

    +
    April 2, 2014
    +

    +

    +
    + +
    +

    +themes +

    +
    April 2, 2014
    +

    +

    +
    +
    +
    +
    + +
    + +
    + +
    + + \ No newline at end of file diff --git a/tags/index.xml b/tags/index.xml index 11c3b799..a9679ee4 100644 --- a/tags/index.xml +++ b/tags/index.xml @@ -1 +1 @@ -Tags on Visual Computinghttps://visualcomputing.github.io/hugo-vc/tags/Recent content in Tags on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000developmenthttps://visualcomputing.github.io/hugo-vc/tags/development/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/tags/development/gohttps://visualcomputing.github.io/hugo-vc/tags/go/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/tags/go/golanghttps://visualcomputing.github.io/hugo-vc/tags/golang/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/tags/golang/hugohttps://visualcomputing.github.io/hugo-vc/tags/hugo/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/tags/hugo/templateshttps://visualcomputing.github.io/hugo-vc/tags/templates/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/tags/templates/themeshttps://visualcomputing.github.io/hugo-vc/tags/themes/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/tags/themes/ \ No newline at end of file +Tags on Visual Computinghttps://visualcomputing.github.io/vc/tags/Recent content in Tags on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000developmenthttps://visualcomputing.github.io/vc/tags/development/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/tags/development/gohttps://visualcomputing.github.io/vc/tags/go/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/tags/go/golanghttps://visualcomputing.github.io/vc/tags/golang/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/tags/golang/hugohttps://visualcomputing.github.io/vc/tags/hugo/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/tags/hugo/templateshttps://visualcomputing.github.io/vc/tags/templates/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/tags/templates/themeshttps://visualcomputing.github.io/vc/tags/themes/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/tags/themes/ \ No newline at end of file diff --git a/tags/page/1/index.html b/tags/page/1/index.html index 72ebadca..53bbb8bb 100644 --- a/tags/page/1/index.html +++ b/tags/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/hugo-vc/tags/ \ No newline at end of file +https://visualcomputing.github.io/vc/tags/ \ No newline at end of file diff --git a/tags/templates/index.html b/tags/templates/index.html index b3496843..49b050c4 100644 --- a/tags/templates/index.html +++ b/tags/templates/index.html @@ -1,28 +1,230 @@ -templates | Visual Computing -
    + + + + + + + + + +templates | Visual Computing + + + + + + + + + + +
    + +
    +
    +
    + templates -

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. + +

    + +
    +
    +

    +(Hu)go Template Primer +

    +
    April 2, 2014
    + + +

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    \ No newline at end of file +... +

    + +
    +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/tags/templates/index.xml b/tags/templates/index.xml index 3fa82132..680aad38 100644 --- a/tags/templates/index.xml +++ b/tags/templates/index.xml @@ -1,2 +1,2 @@ -templates on Visual Computinghttps://visualcomputing.github.io/hugo-vc/tags/templates/Recent content in templates on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +templates on Visual Computinghttps://visualcomputing.github.io/vc/tags/templates/Recent content in templates on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. \ No newline at end of file diff --git a/tags/templates/page/1/index.html b/tags/templates/page/1/index.html index e27245bb..3a5dad17 100644 --- a/tags/templates/page/1/index.html +++ b/tags/templates/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/hugo-vc/tags/templates/ \ No newline at end of file +https://visualcomputing.github.io/vc/tags/templates/ \ No newline at end of file diff --git a/tags/themes/index.html b/tags/themes/index.html index 653d3474..6a59053c 100644 --- a/tags/themes/index.html +++ b/tags/themes/index.html @@ -1,28 +1,230 @@ -themes | Visual Computing -
    + + + + + + + + + +themes | Visual Computing + + + + + + + + + + +
    + +
    +
    +
    + themes -

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. + +

    + +
    +
    +

    +(Hu)go Template Primer +

    +
    April 2, 2014
    + + +

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    \ No newline at end of file +... +

    + +
    +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/tags/themes/index.xml b/tags/themes/index.xml index edfb2a52..f5a37d5f 100644 --- a/tags/themes/index.xml +++ b/tags/themes/index.xml @@ -1,2 +1,2 @@ -themes on Visual Computinghttps://visualcomputing.github.io/hugo-vc/tags/themes/Recent content in themes on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/hugo-vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +themes on Visual Computinghttps://visualcomputing.github.io/vc/tags/themes/Recent content in themes on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. \ No newline at end of file diff --git a/tags/themes/page/1/index.html b/tags/themes/page/1/index.html index 85e45377..971508b0 100644 --- a/tags/themes/page/1/index.html +++ b/tags/themes/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/hugo-vc/tags/themes/ \ No newline at end of file +https://visualcomputing.github.io/vc/tags/themes/ \ No newline at end of file From 1b863e77af1bd1dec0ba8532686e52a4e7d84088 Mon Sep 17 00:00:00 2001 From: nakednous Date: Thu, 30 Sep 2021 00:56:53 +0000 Subject: [PATCH 03/49] deploy: fb7f9302fac30c73e538bd5f5c3bd957ff26eb03 --- 404.html | 7 +++-- ...65f1bbb5167a4df0287f8376c42ce0cd7d1919.css | 1 - ...b01109823daf6c1246ca407d1378833494c402.css | 1 + categories/Development/index.html | 9 +++--- categories/golang/index.html | 9 +++--- categories/index.html | 9 +++--- docs/index.html | 9 +++--- docs/shortcodes/buttons/index.html | 9 +++--- docs/shortcodes/columns/index.html | 28 +++++++++++++------ docs/shortcodes/details/index.html | 21 ++++++++------ docs/shortcodes/expand/index.html | 9 +++--- docs/shortcodes/hints/index.html | 9 +++--- docs/shortcodes/index.html | 9 +++--- docs/shortcodes/index.xml | 6 ++-- docs/shortcodes/katex/index.html | 9 +++--- docs/shortcodes/mermaid/index.html | 9 +++--- docs/shortcodes/p5/div/index.html | 15 +++++----- docs/shortcodes/p5/iframe/index.html | 18 ++++++------ docs/shortcodes/p5/index.html | 9 +++--- docs/shortcodes/tabs/index.html | 28 +++++++++++++------ ...1a7599c6eeacc55fb851475c008d1b4fe91bc.json | 2 +- ...aecc0568405fa9db9f85e4dee49f217847dd671.js | 2 +- index.html | 21 +++++++++----- index.xml | 6 ++-- mermaid.min.js | 10 +++---- posts/creating-a-new-theme/index.html | 9 +++--- posts/goisforlovers/index.html | 9 +++--- posts/hugoisforlovers/index.html | 9 +++--- posts/index.html | 9 +++--- posts/migrate-from-jekyll/index.html | 9 +++--- tags/development/index.html | 9 +++--- tags/go/index.html | 9 +++--- tags/golang/index.html | 9 +++--- tags/hugo/index.html | 9 +++--- tags/index.html | 9 +++--- tags/templates/index.html | 9 +++--- tags/themes/index.html | 9 +++--- 37 files changed, 212 insertions(+), 161 deletions(-) delete mode 100644 book.min.44d646274b130ab88a21f0e2d365f1bbb5167a4df0287f8376c42ce0cd7d1919.css create mode 100644 book.min.89a77f7e702a8626749b948bbfb01109823daf6c1246ca407d1378833494c402.css rename en.search-data.min.de21adb9142ae815e7ec7b21d648fb177098fd5ac541b18ca4e10c7a23678595.json => en.search-data.min.b4aedf1aaa0ddf5dca992d12eda1a7599c6eeacc55fb851475c008d1b4fe91bc.json (84%) rename en.search.min.ec4be9c6e2186242371d65e3f3afaf48111e240553cc9ac8e02cbff6232cd33e.js => en.search.min.0072ca72f0692668db486d390aecc0568405fa9db9f85e4dee49f217847dd671.js (90%) diff --git a/404.html b/404.html index cba0ad89..f26b429e 100644 --- a/404.html +++ b/404.html @@ -3,16 +3,17 @@ - + + 404 Page not found | Visual Computing - + - + diff --git a/book.min.44d646274b130ab88a21f0e2d365f1bbb5167a4df0287f8376c42ce0cd7d1919.css b/book.min.44d646274b130ab88a21f0e2d365f1bbb5167a4df0287f8376c42ce0cd7d1919.css deleted file mode 100644 index aa57aacd..00000000 --- a/book.min.44d646274b130ab88a21f0e2d365f1bbb5167a4df0287f8376c42ce0cd7d1919.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";:root{--gray-100:rgba(255, 255, 255, 0.1);--gray-200:rgba(255, 255, 255, 0.2);--gray-500:rgba(255, 255, 255, 0.5);--color-link:#84b2ff;--color-visited-link:#b88dff;--body-background:#343a40;--body-font-color:#e9ecef;--icon-filter:brightness(0) invert(1);--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0}.book-brand img{height:1.5em;width:auto;vertical-align:middle;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸"}.book-menu input.toggle:checked+label::after{content:"▾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"▾"}.book-section-flat{margin-bottom:2rem}.book-section-flat:not(:first-child){margin-top:2rem}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header img.book-icon{height:1.5em;width:1.5em}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{position:relative;overflow:visible;padding:1rem;margin:-1rem}.book-languages ul{margin:0;padding:0;list-style:none}.book-languages ul li{white-space:nowrap;cursor:pointer}.book-languages:hover .book-languages-list,.book-languages:focus .book-languages-list,.book-languages:focus-within .book-languages-list{display:block}.book-languages .book-languages-list{display:none;position:absolute;bottom:100%;left:0;padding:.5rem 0;background:var(--body-background);box-shadow:0 0 .25rem rgba(0,0,0,.1)}.book-languages .book-languages-list li img{opacity:.25}.book-languages .book-languages-list li.active img,.book-languages .book-languages-list li:hover img{opacity:initial}.book-languages .book-languages-list a{color:inherit;padding:.5rem 1rem}.book-home{padding:1rem}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)} \ No newline at end of file diff --git a/book.min.89a77f7e702a8626749b948bbfb01109823daf6c1246ca407d1378833494c402.css b/book.min.89a77f7e702a8626749b948bbfb01109823daf6c1246ca407d1378833494c402.css new file mode 100644 index 00000000..dd68705e --- /dev/null +++ b/book.min.89a77f7e702a8626749b948bbfb01109823daf6c1246ca407d1378833494c402.css @@ -0,0 +1 @@ +@charset "UTF-8";:root{--gray-100:rgba(255, 255, 255, 0.1);--gray-200:rgba(255, 255, 255, 0.2);--gray-500:rgba(255, 255, 255, 0.5);--color-link:#84b2ff;--color-visited-link:#b88dff;--body-background:#343a40;--body-font-color:#e9ecef;--icon-filter:brightness(0) invert(1);--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸"}.book-menu input.toggle:checked+label::after{content:"▾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"▾"}.book-section-flat{margin:2rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header img.book-icon{height:1.5em;width:1.5em}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-block-end:2rem}.book-languages .book-icon{height:1em;width:1em;margin-inline-end:.5em}.book-languages ul{padding-inline-start:1.5em}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)} \ No newline at end of file diff --git a/categories/Development/index.html b/categories/Development/index.html index 68294d45..4cccfafb 100644 --- a/categories/Development/index.html +++ b/categories/Development/index.html @@ -3,16 +3,17 @@ - + + Development | Visual Computing - + - + @@ -23,7 +24,7 @@

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -... -

    - -
    -
    -
    - -
    - - - - - - \ No newline at end of file +...

    \ No newline at end of file diff --git a/tags/golang/page/1/index.html b/tags/golang/page/1/index.html index 19bd63f5..9f11a49c 100644 --- a/tags/golang/page/1/index.html +++ b/tags/golang/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/tags/golang/ \ No newline at end of file +https://visualcomputing.github.io/vc/tags/golang/ \ No newline at end of file diff --git a/tags/hugo/index.html b/tags/hugo/index.html index 719147a5..1a2b4711 100644 --- a/tags/hugo/index.html +++ b/tags/hugo/index.html @@ -1,250 +1,32 @@ - - - - - - - - - - -hugo | Visual Computing - - - - - - - - - - -
    - -
    -
    -
    - +hugo | Visual Computing + + +
    hugo - -
    - -
    -

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -... -

    - -
    -
    -
    - -
    - - - -
    - - \ No newline at end of file +...

    \ No newline at end of file diff --git a/tags/hugo/page/1/index.html b/tags/hugo/page/1/index.html index 06477d24..d8a212a8 100644 --- a/tags/hugo/page/1/index.html +++ b/tags/hugo/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/tags/hugo/ \ No newline at end of file +https://visualcomputing.github.io/vc/tags/hugo/ \ No newline at end of file diff --git a/tags/index.html b/tags/index.html index d2e12b91..abdd22cd 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1,275 +1,23 @@ - - - - - - - - - - -Tags | Visual Computing - - - - - - - - - - -
    - -
    -
    -
    - +Tags | Visual Computing + + +
    Tags - -
    - -
    - -
    -

    -go -

    -
    April 2, 2014
    -

    -

    -
    -
    -

    -golang -

    -
    April 2, 2014
    -

    -

    -
    -
    -

    -hugo -

    -
    April 2, 2014
    -

    -

    -
    - -
    -

    -themes -

    -
    April 2, 2014
    -

    -

    -
    -
    -
    -
    - -
    - -
    - -
    - - \ No newline at end of file +

    go

    April 2, 2014

    \ No newline at end of file diff --git a/tags/page/1/index.html b/tags/page/1/index.html index 53bbb8bb..91dd454d 100644 --- a/tags/page/1/index.html +++ b/tags/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/tags/ \ No newline at end of file +https://visualcomputing.github.io/vc/tags/ \ No newline at end of file diff --git a/tags/templates/index.html b/tags/templates/index.html index 5d5c5e95..31a64322 100644 --- a/tags/templates/index.html +++ b/tags/templates/index.html @@ -1,248 +1,30 @@ - - - - - - - - - - -templates | Visual Computing - - - - - - - - - - -
    - -
    -
    -
    - +templates | Visual Computing + + +
    templates - -
    - -
    -

    (Hu)go Template Primer

    April 2, 2014
    -

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +development

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -... -

    - -
    -
    -
    - -
    - - - -
    - - \ No newline at end of file +...

    \ No newline at end of file diff --git a/tags/templates/page/1/index.html b/tags/templates/page/1/index.html index 3a5dad17..498ae4a5 100644 --- a/tags/templates/page/1/index.html +++ b/tags/templates/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/tags/templates/ \ No newline at end of file +https://visualcomputing.github.io/vc/tags/templates/ \ No newline at end of file diff --git a/tags/themes/index.html b/tags/themes/index.html index 46cd7d12..6208c84b 100644 --- a/tags/themes/index.html +++ b/tags/themes/index.html @@ -1,248 +1,30 @@ - - - - - - - - - - -themes | Visual Computing - - - - - - - - - - -
    - -
    -
    -
    - +themes | Visual Computing + + +
    themes - -
    - -
    -

    (Hu)go Template Primer

    April 2, 2014
    -

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +development

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -... -

    - -
    -
    -
    - -
    - - - -
    - - \ No newline at end of file +...

    \ No newline at end of file diff --git a/tags/themes/page/1/index.html b/tags/themes/page/1/index.html index 971508b0..8b263d01 100644 --- a/tags/themes/page/1/index.html +++ b/tags/themes/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/tags/themes/ \ No newline at end of file +https://visualcomputing.github.io/vc/tags/themes/ \ No newline at end of file From c2ac11393f81de0a1db40dcfea4222f25e392bb9 Mon Sep 17 00:00:00 2001 From: nakednous Date: Mon, 14 Mar 2022 13:44:46 +0000 Subject: [PATCH 19/49] deploy: 570749d62d589574f1e2b808eb19e1f5b689e7aa --- 404.html | 2 +- categories/Development/index.html | 2 +- categories/golang/index.html | 2 +- categories/index.html | 2 +- docs/index.html | 2 +- docs/shortcodes/buttons/index.html | 2 +- docs/shortcodes/columns/index.html | 2 +- docs/shortcodes/details/index.html | 2 +- docs/shortcodes/expand/index.html | 2 +- docs/shortcodes/hints/index.html | 2 +- docs/shortcodes/index.html | 2 +- docs/shortcodes/katex/index.html | 2 +- docs/shortcodes/mermaid/index.html | 2 +- docs/shortcodes/p5/div/index.html | 2 +- docs/shortcodes/p5/iframe/index.html | 20 +++---- docs/shortcodes/p5/index.html | 2 +- docs/shortcodes/tabs/index.html | 2 +- ...769e1e7b056dc76cffd6d669561f451a73559.json | 2 +- ...e4f08dd6cf73c3e5b510a0e1589b4612f757297.js | 2 +- index.html | 2 +- posts/creating-a-new-theme/index.html | 2 +- posts/goisforlovers/index.html | 2 +- posts/hugoisforlovers/index.html | 2 +- posts/index.html | 2 +- posts/migrate-from-jekyll/index.html | 2 +- sitemap.xml | 2 +- sketches/lib.js | 55 ----------------- sketches/quick_easycam.js | 59 +++++++++++++++++++ tags/development/index.html | 2 +- tags/go/index.html | 2 +- tags/golang/index.html | 2 +- tags/hugo/index.html | 2 +- tags/index.html | 2 +- tags/templates/index.html | 2 +- tags/themes/index.html | 2 +- 35 files changed, 101 insertions(+), 97 deletions(-) rename en.search-data.min.e417e87d68e87efbb8c5a0d39786bf68a071b414e84a1dd6a1fc10523e1eae85.json => en.search-data.min.e51514c6246838ce702ba9a52b1769e1e7b056dc76cffd6d669561f451a73559.json (95%) rename en.search.min.3a0104c2a2c6b733ef3116717812d5efa53a937db692b927f22c75fc1beab9ab.js => en.search.min.a12a15248d79cb51bb39afe78e4f08dd6cf73c3e5b510a0e1589b4612f757297.js (90%) delete mode 100644 sketches/lib.js create mode 100644 sketches/quick_easycam.js diff --git a/404.html b/404.html index 4290713a..c9a66964 100644 --- a/404.html +++ b/404.html @@ -1,2 +1,2 @@ 404 Page not found | Visual Computing -

    404

    Page Not Found

    Visual Computing

    \ No newline at end of file +

    404

    Page Not Found

    Visual Computing

    \ No newline at end of file diff --git a/categories/Development/index.html b/categories/Development/index.html index 54d84811..a480272a 100644 --- a/categories/Development/index.html +++ b/categories/Development/index.html @@ -1,5 +1,5 @@ Development | Visual Computing - +
    diff --git a/categories/golang/index.html b/categories/golang/index.html index b2593912..2c6ab025 100644 --- a/categories/golang/index.html +++ b/categories/golang/index.html @@ -1,5 +1,5 @@ golang | Visual Computing - +
    diff --git a/categories/index.html b/categories/index.html index b5cd2938..5a2c17db 100644 --- a/categories/index.html +++ b/categories/index.html @@ -1,5 +1,5 @@ Categories | Visual Computing - +
    diff --git a/docs/index.html b/docs/index.html index 5d51f9f7..b11a84dc 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,5 +1,5 @@ Docs | Visual Computing - +
    diff --git a/docs/shortcodes/buttons/index.html b/docs/shortcodes/buttons/index.html index 26da0b27..c3998642 100644 --- a/docs/shortcodes/buttons/index.html +++ b/docs/shortcodes/buttons/index.html @@ -1,7 +1,7 @@ Buttons | Visual Computing - +
    Buttons diff --git a/docs/shortcodes/columns/index.html b/docs/shortcodes/columns/index.html index d9dcbb9c..448aeb51 100644 --- a/docs/shortcodes/columns/index.html +++ b/docs/shortcodes/columns/index.html @@ -1,7 +1,7 @@ Columns | Visual Computing - +
    Columns diff --git a/docs/shortcodes/details/index.html b/docs/shortcodes/details/index.html index 564a9e53..ac6b6841 100644 --- a/docs/shortcodes/details/index.html +++ b/docs/shortcodes/details/index.html @@ -1,7 +1,7 @@ Details | Visual Computing - +
    Details diff --git a/docs/shortcodes/expand/index.html b/docs/shortcodes/expand/index.html index 4c9b371f..55866ede 100644 --- a/docs/shortcodes/expand/index.html +++ b/docs/shortcodes/expand/index.html @@ -1,7 +1,7 @@ Expand | Visual Computing - +
    Expand diff --git a/docs/shortcodes/hints/index.html b/docs/shortcodes/hints/index.html index 4d697237..ee208c22 100644 --- a/docs/shortcodes/hints/index.html +++ b/docs/shortcodes/hints/index.html @@ -5,7 +5,7 @@ There are 3 colors to choose: info, warning and danger. {{< hint [info|warning|danger] >}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{< /hint >}} Example # Markdown content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content">Hints | Visual Computing - +
    Hints diff --git a/docs/shortcodes/index.html b/docs/shortcodes/index.html index fcd022d7..54925fae 100644 --- a/docs/shortcodes/index.html +++ b/docs/shortcodes/index.html @@ -1,5 +1,5 @@ Shortcodes | Visual Computing - +
    diff --git a/docs/shortcodes/katex/index.html b/docs/shortcodes/katex/index.html index eddcba13..ec14c8b7 100644 --- a/docs/shortcodes/katex/index.html +++ b/docs/shortcodes/katex/index.html @@ -1,7 +1,7 @@ Katex | Visual Computing - +
    Katex diff --git a/docs/shortcodes/mermaid/index.html b/docs/shortcodes/mermaid/index.html index 3049931f..7189ada6 100644 --- a/docs/shortcodes/mermaid/index.html +++ b/docs/shortcodes/mermaid/index.html @@ -5,7 +5,7 @@ Override Mermaid Initialization Config To override the initialization config for Mermaid, create a mermaid.json file in your assets folder! Example # {{< mermaid [class="text-center"]>}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --> State2 note left of State2 : This is the note to the left.">Mermaid | Visual Computing - +
    Mermaid diff --git a/docs/shortcodes/p5/div/index.html b/docs/shortcodes/p5/div/index.html index 7f558f04..ac907d67 100644 --- a/docs/shortcodes/p5/div/index.html +++ b/docs/shortcodes/p5/div/index.html @@ -5,7 +5,7 @@ p5-div # {{< p5-div ver="1.4.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{< p5-div sketch="/vc/sketches/scintillating.">Div | Visual Computing - +
    Div diff --git a/docs/shortcodes/p5/iframe/index.html b/docs/shortcodes/p5/iframe/index.html index b201513b..6828e8ca 100644 --- a/docs/shortcodes/p5/iframe/index.html +++ b/docs/shortcodes/p5/iframe/index.html @@ -4,12 +4,12 @@ p5-iframe markdown {{< p5-iframe sketch="/vc/sketches/colors.">Iframe | Visual Computing - +p5-iframe markdown {{< p5-iframe sketch="/vc/sketches/colors.">Iframe | Visual Computing +
    Iframe -

    p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.

    p5-iframe #

    {{< p5-iframe ver="1.4.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}}
     

    All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

    Color relativity #

    Look at this brief explanation about what color relativity is.

    p5-iframe markdown
    {{< p5-iframe sketch="/vc/sketches/colors.js" width="725" height="425 >}}
    @@ -29,20 +29,20 @@
               
               
             
    -      ">

    Depth map -#

    Look for some depthmap usecases.

    p5-iframe markdown
    {{< p5-iframe sketch="/vc/sketches/depthmap.js" lib1="https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.js" width="725" height="625" >}}
    -

    Third party libraries +#

    Example adapted from p5.EasyCam.

    p5-iframe markdown
    {{< p5-iframe sketch="/vc/sketches/quick_easycam.js" lib1="https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js" width="525" height="525" >}}
    +
    \ No newline at end of file + ">
    \ No newline at end of file diff --git a/docs/shortcodes/p5/index.html b/docs/shortcodes/p5/index.html index d0302482..56e30084 100644 --- a/docs/shortcodes/p5/index.html +++ b/docs/shortcodes/p5/index.html @@ -1,6 +1,6 @@ P5 | Visual Computing - +
    diff --git a/docs/shortcodes/tabs/index.html b/docs/shortcodes/tabs/index.html index c27f0389..54faf078 100644 --- a/docs/shortcodes/tabs/index.html +++ b/docs/shortcodes/tabs/index.html @@ -3,7 +3,7 @@ Lorem markdownum insigne. Olympo signis Delphis!">Tabs | Visual Computing - +
    Tabs diff --git a/en.search-data.min.e417e87d68e87efbb8c5a0d39786bf68a071b414e84a1dd6a1fc10523e1eae85.json b/en.search-data.min.e51514c6246838ce702ba9a52b1769e1e7b056dc76cffd6d669561f451a73559.json similarity index 95% rename from en.search-data.min.e417e87d68e87efbb8c5a0d39786bf68a071b414e84a1dd6a1fc10523e1eae85.json rename to en.search-data.min.e51514c6246838ce702ba9a52b1769e1e7b056dc76cffd6d669561f451a73559.json index acf33ce7..fa741fb9 100644 --- a/en.search-data.min.e417e87d68e87efbb8c5a0d39786bf68a071b414e84a1dd6a1fc10523e1eae85.json +++ b/en.search-data.min.e51514c6246838ce702ba9a52b1769e1e7b056dc76cffd6d669561f451a73559.json @@ -1 +1 @@ -[{"id":0,"href":"/vc/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":"Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026#34;michael d henderson\u0026#34; description = \u0026#34;a minimal working template\u0026#34; license = \u0026#34;MIT\u0026#34; name = \u0026#34;zafta\u0026#34; source_repo = \u0026#34;\u0026#34; tags = [\u0026#34;tags\u0026#34;, \u0026#34;categories\u0026#34;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026#34;YOUR_NAME_HERE\u0026#34; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026#34;zafta\u0026#34; baseurl = \u0026#34;\u0026#34; languageCode = \u0026#34;en-us\u0026#34; title = \u0026#34;zafta - totally refreshing\u0026#34; MetaDataFormat = \u0026#34;toml\u0026#34; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\n Hugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\n Purge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026#34;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026#34;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\n index.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026#34;\u0026#34; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:54:53-05:00\u0026#34; title = \u0026#34;first\u0026#34; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:57:09-05:00\u0026#34; title = \u0026#34;second\u0026#34; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;, \u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\n range .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/second/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/first/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026#34;about\u0026#34; description = \u0026#34;about this site\u0026#34; date = \u0026#34;2014-09-27\u0026#34; slug = \u0026#34;about time\u0026#34; +++ ## about us i\u0026#39;m speechless :wq Generate the web site and verify the results.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/theme/\u0026#34;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/about-time/\u0026#34;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/second-post/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/first-post/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026#34;page\u0026#34; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026#34;/:title/\u0026#34; about = \u0026#34;/:filename/\u0026#34; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026#34;theme/partials/header.html\u0026#34; . }} versus\n{{ partial \u0026#34;header.html\u0026#34; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026#34;page\u0026#34;) (eq .Type \u0026#34;about\u0026#34;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":1,"href":"/vc/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":"Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\n Change your submodule to point to map gh-pages to public instead of _site (recommended).\n git submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n { .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":2,"href":"/vc/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\n false 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n {{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026#34;Permalinks\u0026#34; date: \u0026#34;2013-11-18\u0026#34; aliases: - \u0026#34;/doc/permalinks/\u0026#34; groups: [\u0026#34;extras\u0026#34;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n {{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026#34;text-center\u0026#34;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026#34;twitter\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://twitter.com/{{.}}\u0026#34; rel=\u0026#34;author\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;/images/twitter.png\u0026#34; width=\u0026#34;48\u0026#34; height=\u0026#34;48\u0026#34; title=\u0026#34;Twitter: {{.}}\u0026#34; alt=\u0026#34;Twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026#34;recent\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026#34;{{.RelPermalink}}\u0026#34;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":3,"href":"/vc/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":"Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\n Clone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":4,"href":"/vc/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":"Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":5,"href":"/vc/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":"Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":6,"href":"/vc/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":"Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} {{\u0026lt; details title=\u0026#34;Title\u0026#34; open=true \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content # Lorem markdownum insigne\u0026hellip; "},{"id":7,"href":"/vc/docs/shortcodes/expand/","title":"Expand","section":"Shortcodes","content":"Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.\nExample # Default # {{\u0026lt; expand \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Expand ↕ Markdown content # Lorem markdownum insigne\u0026hellip; With Custom Label # {{\u0026lt; expand \u0026#34;Custom Label\u0026#34; \u0026#34;...\u0026#34; \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Custom Label ... Markdown content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/vc/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":"Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":9,"href":"/vc/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":"KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":10,"href":"/vc/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":"Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\n Example # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} mermaid.initialize({ \"flowchart\": { \"useMaxWidth\":true }, \"theme\": \"default\" } ) stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 -- State2 note left of State2 : This is the note to the left. "},{"id":11,"href":"/vc/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":"p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/vc/sketches/scintillating. Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/colors. "},{"id":12,"href":"/vc/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/vc/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(380, 380); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i 0; i-=1.5) { if (opc Video on canvas # Adapted from here. Don\u0026rsquo;t forget to checkout also the video on dom example.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;video\u0026#34; \u0026gt;}} let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo([\u0026#39;/vc/sketches/fingers.mov\u0026#39;, \u0026#39;/vc/sketches/fingers.webm\u0026#39;]); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo(['/vc/sketches/fingers.mov', '/vc/sketches/fingers.webm']); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } }, \"video\" ); "},{"id":13,"href":"/vc/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} \" Depth map # Look for some depthmap usecases.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/depthmap.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} \" Sound # Example took from the p5 examples.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/sound.js\u0026#34; width=\u0026#34;225\u0026#34; height=\u0026#34;225\u0026#34; \u0026gt;}} \" p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle \u0026#43;= speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } \" "},{"id":14,"href":"/vc/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":"Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS # This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux # This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows # This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n "}] \ No newline at end of file +[{"id":0,"href":"/vc/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":"Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026#34;michael d henderson\u0026#34; description = \u0026#34;a minimal working template\u0026#34; license = \u0026#34;MIT\u0026#34; name = \u0026#34;zafta\u0026#34; source_repo = \u0026#34;\u0026#34; tags = [\u0026#34;tags\u0026#34;, \u0026#34;categories\u0026#34;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026#34;YOUR_NAME_HERE\u0026#34; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026#34;zafta\u0026#34; baseurl = \u0026#34;\u0026#34; languageCode = \u0026#34;en-us\u0026#34; title = \u0026#34;zafta - totally refreshing\u0026#34; MetaDataFormat = \u0026#34;toml\u0026#34; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\n Hugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\n Purge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026#34;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026#34;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\n index.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026#34;\u0026#34; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:54:53-05:00\u0026#34; title = \u0026#34;first\u0026#34; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:57:09-05:00\u0026#34; title = \u0026#34;second\u0026#34; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;, \u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\n range .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/second/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/first/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026#34;about\u0026#34; description = \u0026#34;about this site\u0026#34; date = \u0026#34;2014-09-27\u0026#34; slug = \u0026#34;about time\u0026#34; +++ ## about us i\u0026#39;m speechless :wq Generate the web site and verify the results.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/theme/\u0026#34;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/about-time/\u0026#34;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/second-post/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/first-post/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026#34;page\u0026#34; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026#34;/:title/\u0026#34; about = \u0026#34;/:filename/\u0026#34; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026#34;theme/partials/header.html\u0026#34; . }} versus\n{{ partial \u0026#34;header.html\u0026#34; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026#34;page\u0026#34;) (eq .Type \u0026#34;about\u0026#34;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":1,"href":"/vc/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":"Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\n Change your submodule to point to map gh-pages to public instead of _site (recommended).\n git submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n { .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":2,"href":"/vc/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\n false 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n {{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026#34;Permalinks\u0026#34; date: \u0026#34;2013-11-18\u0026#34; aliases: - \u0026#34;/doc/permalinks/\u0026#34; groups: [\u0026#34;extras\u0026#34;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n {{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026#34;text-center\u0026#34;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026#34;twitter\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://twitter.com/{{.}}\u0026#34; rel=\u0026#34;author\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;/images/twitter.png\u0026#34; width=\u0026#34;48\u0026#34; height=\u0026#34;48\u0026#34; title=\u0026#34;Twitter: {{.}}\u0026#34; alt=\u0026#34;Twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026#34;recent\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026#34;{{.RelPermalink}}\u0026#34;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":3,"href":"/vc/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":"Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\n Clone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":4,"href":"/vc/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":"Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":5,"href":"/vc/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":"Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":6,"href":"/vc/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":"Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} {{\u0026lt; details title=\u0026#34;Title\u0026#34; open=true \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content # Lorem markdownum insigne\u0026hellip; "},{"id":7,"href":"/vc/docs/shortcodes/expand/","title":"Expand","section":"Shortcodes","content":"Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.\nExample # Default # {{\u0026lt; expand \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Expand ↕ Markdown content # Lorem markdownum insigne\u0026hellip; With Custom Label # {{\u0026lt; expand \u0026#34;Custom Label\u0026#34; \u0026#34;...\u0026#34; \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Custom Label ... Markdown content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/vc/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":"Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":9,"href":"/vc/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":"KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":10,"href":"/vc/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":"Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\n Example # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} mermaid.initialize({ \"flowchart\": { \"useMaxWidth\":true }, \"theme\": \"default\" } ) stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 -- State2 note left of State2 : This is the note to the left. "},{"id":11,"href":"/vc/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":"p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/vc/sketches/scintillating. Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/colors. "},{"id":12,"href":"/vc/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/vc/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(380, 380); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i 0; i-=1.5) { if (opc Video on canvas # Adapted from here. Don\u0026rsquo;t forget to checkout also the video on dom example.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;video\u0026#34; \u0026gt;}} let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo([\u0026#39;/vc/sketches/fingers.mov\u0026#39;, \u0026#39;/vc/sketches/fingers.webm\u0026#39;]); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo(['/vc/sketches/fingers.mov', '/vc/sketches/fingers.webm']); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } }, \"video\" ); "},{"id":13,"href":"/vc/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} \" Third party libraries # Example adapted from p5.EasyCam.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/quick_easycam.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js\u0026#34; width=\u0026#34;525\u0026#34; height=\u0026#34;525\u0026#34; \u0026gt;}} \" Sound # Example took from the p5 examples.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/sound.js\u0026#34; width=\u0026#34;225\u0026#34; height=\u0026#34;225\u0026#34; \u0026gt;}} \" p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle \u0026#43;= speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } \" "},{"id":14,"href":"/vc/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":"Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS # This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux # This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows # This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n "}] \ No newline at end of file diff --git a/en.search.min.3a0104c2a2c6b733ef3116717812d5efa53a937db692b927f22c75fc1beab9ab.js b/en.search.min.a12a15248d79cb51bb39afe78e4f08dd6cf73c3e5b510a0e1589b4612f757297.js similarity index 90% rename from en.search.min.3a0104c2a2c6b733ef3116717812d5efa53a937db692b927f22c75fc1beab9ab.js rename to en.search.min.a12a15248d79cb51bb39afe78e4f08dd6cf73c3e5b510a0e1589b4612f757297.js index 554d8ea1..12c92f00 100644 --- a/en.search.min.3a0104c2a2c6b733ef3116717812d5efa53a937db692b927f22c75fc1beab9ab.js +++ b/en.search.min.a12a15248d79cb51bb39afe78e4f08dd6cf73c3e5b510a0e1589b4612f757297.js @@ -1 +1 @@ -'use strict';(function(){const a="/vc/en.search-data.min.e417e87d68e87efbb8c5a0d39786bf68a071b414e84a1dd6a1fc10523e1eae85.json",r=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",o);function o(t){if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!i(n))return;e.focus(),t.preventDefault()}function i(t){const n=e.getAttribute("data-hotkeys")||'';return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(a).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",r),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(t){const e=document.createElement("div");return e.innerHTML=t,e.firstChild}})() \ No newline at end of file +'use strict';(function(){const a="/vc/en.search-data.min.e51514c6246838ce702ba9a52b1769e1e7b056dc76cffd6d669561f451a73559.json",r=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",o);function o(t){if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!i(n))return;e.focus(),t.preventDefault()}function i(t){const n=e.getAttribute("data-hotkeys")||'';return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(a).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",r),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(t){const e=document.createElement("div");return e.innerHTML=t,e.firstChild}})() \ No newline at end of file diff --git a/index.html b/index.html index 64d97170..e27e7fdd 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ Goal # To study the process of creation and manipulation of a digital image of a modern visual application, using current hardware. Methodology # Active-learning using free-software to develop: Slides. nub and p5.tree. p5.quadrille.js. Grading # Workshops blog posts-like reports produced with gohugo and p5.js and having a basic research structure:">Introduction | Visual Computing - +
    diff --git a/posts/creating-a-new-theme/index.html b/posts/creating-a-new-theme/index.html index 5b5a8e38..8c7adf51 100644 --- a/posts/creating-a-new-theme/index.html +++ b/posts/creating-a-new-theme/index.html @@ -1,7 +1,7 @@ Creating a New Theme | Visual Computing - +
    Creating a New Theme diff --git a/posts/goisforlovers/index.html b/posts/goisforlovers/index.html index 2ab4a26c..411f3be8 100644 --- a/posts/goisforlovers/index.html +++ b/posts/goisforlovers/index.html @@ -1,7 +1,7 @@ (Hu)go Template Primer | Visual Computing - +
    (Hu)go Template Primer diff --git a/posts/hugoisforlovers/index.html b/posts/hugoisforlovers/index.html index ed773762..9bfead32 100644 --- a/posts/hugoisforlovers/index.html +++ b/posts/hugoisforlovers/index.html @@ -7,7 +7,7 @@ More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps:">Getting Started with Hugo | Visual Computing - +
    Getting Started with Hugo diff --git a/posts/index.html b/posts/index.html index f23c1c81..8fdac69e 100644 --- a/posts/index.html +++ b/posts/index.html @@ -1,5 +1,5 @@ Blog | Visual Computing - +
    diff --git a/posts/migrate-from-jekyll/index.html b/posts/migrate-from-jekyll/index.html index 63f5a4e9..109a6c4d 100644 --- a/posts/migrate-from-jekyll/index.html +++ b/posts/migrate-from-jekyll/index.html @@ -3,7 +3,7 @@ ▾ / ▾ static/ ▾ images/ logo.png Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static.">Migrate to Hugo from Jekyll | Visual Computing - +
    Migrate to Hugo from Jekyll diff --git a/sitemap.xml b/sitemap.xml index 45bdae83..75a8797a 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://visualcomputing.github.io/vc/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/details/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/expand/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/katex/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/mermaid/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/2021-09-30T08:16:31-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/2021-10-21T10:32:49-05:00https://visualcomputing.github.io/vc/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/2021-10-21T10:32:49-05:00https://visualcomputing.github.io/vc/2022-03-14T06:49:59-05:00 \ No newline at end of file +https://visualcomputing.github.io/vc/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/details/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/expand/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/katex/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/mermaid/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/2021-09-30T08:16:31-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/2022-03-14T08:44:19-05:00https://visualcomputing.github.io/vc/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/2022-03-14T08:44:19-05:00https://visualcomputing.github.io/vc/2022-03-14T06:49:59-05:00 \ No newline at end of file diff --git a/sketches/lib.js b/sketches/lib.js deleted file mode 100644 index cb3f8b60..00000000 --- a/sketches/lib.js +++ /dev/null @@ -1,55 +0,0 @@ -let facemesh; -let predictions = []; -let img; - -function setup() { - // Create a canvas that's at least the size of the image. - createCanvas(512, 512); - - // create an image using the p5 dom library - // call modelReady() when it is loaded - img = createImg("/docvc/docs/sketches/lenna.png", imageReady); - // set the image size to the size of the canvas - - img.hide(); // hide the image in the browser - frameRate(1); // set the frameRate to 1 since we don't need it to be running quickly in this case -} - -// when the image is ready, then load up poseNet -function imageReady() { - facemesh = ml5.facemesh(modelReady); - - facemesh.on("predict", results => { - predictions = results; - }); -} - -// when poseNet is ready, do the detection -function modelReady() { - console.log("Model ready!"); - facemesh.predict(img); -} - -// draw() will not show anything until poses are found -function draw() { - if (predictions.length > 0) { - image(img, 0, 0, width, height); - drawKeypoints(); - noLoop(); // stop looping when the poses are estimated - } -} - -// A function to draw ellipses over the detected keypoints -function drawKeypoints() { - for (let i = 0; i < predictions.length; i += 1) { - const keypoints = predictions[i].scaledMesh; - - // Draw facial keypoints. - for (let j = 0; j < keypoints.length; j += 1) { - const [x, y] = keypoints[j]; - - fill(0, 255, 0); - ellipse(x, y, 5, 5); - } - } -} \ No newline at end of file diff --git a/sketches/quick_easycam.js b/sketches/quick_easycam.js new file mode 100644 index 00000000..d630a226 --- /dev/null +++ b/sketches/quick_easycam.js @@ -0,0 +1,59 @@ +/** + * + * The p5.EasyCam library - Easy 3D CameraControl for p5.js and WEBGL. + * + * Copyright 2018-2020 by p5.EasyCam authors + * + * Source: https://github.com/freshfork/p5.EasyCam + * + * MIT License: https://opensource.org/licenses/MIT + * + * + * explanatory notes: + * + * p5.EasyCam is a derivative of the original PeasyCam Library by Jonathan Feinberg + * and combines new useful features with the great look and feel of its parent. + * + * + */ + + +// +// Simple Demo to get started. +// + + +// took from: https://github.com/freshfork/p5.EasyCam/blob/master/examples/QuickStart/QuickStart.js + +var easycam; + +function setup() { + createCanvas(500, 500, WEBGL); + setAttributes('antialias', true); + + easycam = createEasyCam(); +} + +function draw(){ + rotateX(-0.5); + rotateY(-0.5); + scale(10); + + background(0); + strokeWeight(1); + + fill(255, 64, 0); + box(15); + + push(); + translate(0, 0, 20); + fill(0, 64, 255); + box(5); + pop(); + + push(); + translate(0, 0, -20); + fill(64, 255, 0); + box(5); + pop(); +} \ No newline at end of file diff --git a/tags/development/index.html b/tags/development/index.html index 80b3bdba..cc62074e 100644 --- a/tags/development/index.html +++ b/tags/development/index.html @@ -1,5 +1,5 @@ development | Visual Computing - +
    diff --git a/tags/go/index.html b/tags/go/index.html index 7bcaa013..5e8bea2e 100644 --- a/tags/go/index.html +++ b/tags/go/index.html @@ -1,5 +1,5 @@ go | Visual Computing - +
    diff --git a/tags/golang/index.html b/tags/golang/index.html index 76d84d28..5dd44152 100644 --- a/tags/golang/index.html +++ b/tags/golang/index.html @@ -1,5 +1,5 @@ golang | Visual Computing - +
    diff --git a/tags/hugo/index.html b/tags/hugo/index.html index 1a2b4711..5a1f9aff 100644 --- a/tags/hugo/index.html +++ b/tags/hugo/index.html @@ -1,5 +1,5 @@ hugo | Visual Computing - +
    diff --git a/tags/index.html b/tags/index.html index abdd22cd..49bda006 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1,5 +1,5 @@ Tags | Visual Computing - +
    diff --git a/tags/templates/index.html b/tags/templates/index.html index 31a64322..0eedf4d7 100644 --- a/tags/templates/index.html +++ b/tags/templates/index.html @@ -1,5 +1,5 @@ templates | Visual Computing - +
    diff --git a/tags/themes/index.html b/tags/themes/index.html index 6208c84b..dd60cd2a 100644 --- a/tags/themes/index.html +++ b/tags/themes/index.html @@ -1,5 +1,5 @@ themes | Visual Computing - +
    From 8c5fe394ee4d042fae5e6bb917780bcd93b47f03 Mon Sep 17 00:00:00 2001 From: nakednous Date: Tue, 15 Mar 2022 22:17:58 +0000 Subject: [PATCH 20/49] deploy: 67b5601bfa55f5d370dc1cc8c57ebdd3e91ffc2d --- 404.html | 2 +- categories/Development/index.html | 2 +- categories/golang/index.html | 2 +- categories/index.html | 2 +- docs/index.html | 2 +- docs/shortcodes/buttons/index.html | 2 +- docs/shortcodes/columns/index.html | 2 +- docs/shortcodes/details/index.html | 2 +- docs/shortcodes/expand/index.html | 2 +- docs/shortcodes/hints/index.html | 2 +- docs/shortcodes/index.html | 2 +- docs/shortcodes/katex/index.html | 2 +- docs/shortcodes/mermaid/index.html | 2 +- docs/shortcodes/p5/div/index.html | 26 +++++++-------- docs/shortcodes/p5/iframe/index.html | 32 +++++++++---------- docs/shortcodes/p5/index.html | 8 ++--- docs/shortcodes/p5/index.xml | 4 +-- docs/shortcodes/tabs/index.html | 2 +- ...231f23c3847b1f8f964bf64f7da8ed756ae2c.json | 2 +- ...a92d8d96b940bdb8e8e3f412b16abc5a2148bf6.js | 2 +- index.html | 2 +- index.xml | 4 +-- posts/creating-a-new-theme/index.html | 2 +- posts/goisforlovers/index.html | 2 +- posts/hugoisforlovers/index.html | 2 +- posts/index.html | 2 +- posts/migrate-from-jekyll/index.html | 2 +- sitemap.xml | 2 +- tags/development/index.html | 2 +- tags/go/index.html | 2 +- tags/golang/index.html | 2 +- tags/hugo/index.html | 2 +- tags/index.html | 2 +- tags/templates/index.html | 2 +- tags/themes/index.html | 2 +- 35 files changed, 67 insertions(+), 67 deletions(-) rename en.search-data.min.e51514c6246838ce702ba9a52b1769e1e7b056dc76cffd6d669561f451a73559.json => en.search-data.min.305395e1fa15a277afb4494ff97231f23c3847b1f8f964bf64f7da8ed756ae2c.json (99%) rename en.search.min.a12a15248d79cb51bb39afe78e4f08dd6cf73c3e5b510a0e1589b4612f757297.js => en.search.min.a1b55e710b597c6e810a85449a92d8d96b940bdb8e8e3f412b16abc5a2148bf6.js (90%) diff --git a/404.html b/404.html index c9a66964..c81886bd 100644 --- a/404.html +++ b/404.html @@ -1,2 +1,2 @@ 404 Page not found | Visual Computing -

    404

    Page Not Found

    Visual Computing

    \ No newline at end of file +

    404

    Page Not Found

    Visual Computing

    \ No newline at end of file diff --git a/categories/Development/index.html b/categories/Development/index.html index a480272a..7154a60e 100644 --- a/categories/Development/index.html +++ b/categories/Development/index.html @@ -1,5 +1,5 @@ Development | Visual Computing - +
    diff --git a/categories/golang/index.html b/categories/golang/index.html index 2c6ab025..a1c9fbea 100644 --- a/categories/golang/index.html +++ b/categories/golang/index.html @@ -1,5 +1,5 @@ golang | Visual Computing - +
    diff --git a/categories/index.html b/categories/index.html index 5a2c17db..aff72fe4 100644 --- a/categories/index.html +++ b/categories/index.html @@ -1,5 +1,5 @@ Categories | Visual Computing - +
    diff --git a/docs/index.html b/docs/index.html index b11a84dc..b33616f0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,5 +1,5 @@ Docs | Visual Computing - +
    diff --git a/docs/shortcodes/buttons/index.html b/docs/shortcodes/buttons/index.html index c3998642..10e3fcd0 100644 --- a/docs/shortcodes/buttons/index.html +++ b/docs/shortcodes/buttons/index.html @@ -1,7 +1,7 @@ Buttons | Visual Computing - +
    Buttons diff --git a/docs/shortcodes/columns/index.html b/docs/shortcodes/columns/index.html index 448aeb51..5969be1d 100644 --- a/docs/shortcodes/columns/index.html +++ b/docs/shortcodes/columns/index.html @@ -1,7 +1,7 @@ Columns | Visual Computing - +
    Columns diff --git a/docs/shortcodes/details/index.html b/docs/shortcodes/details/index.html index ac6b6841..0e75783a 100644 --- a/docs/shortcodes/details/index.html +++ b/docs/shortcodes/details/index.html @@ -1,7 +1,7 @@ Details | Visual Computing - +
    Details diff --git a/docs/shortcodes/expand/index.html b/docs/shortcodes/expand/index.html index 55866ede..0c6d6a77 100644 --- a/docs/shortcodes/expand/index.html +++ b/docs/shortcodes/expand/index.html @@ -1,7 +1,7 @@ Expand | Visual Computing - +
    Expand diff --git a/docs/shortcodes/hints/index.html b/docs/shortcodes/hints/index.html index ee208c22..258a6132 100644 --- a/docs/shortcodes/hints/index.html +++ b/docs/shortcodes/hints/index.html @@ -5,7 +5,7 @@ There are 3 colors to choose: info, warning and danger. {{< hint [info|warning|danger] >}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{< /hint >}} Example # Markdown content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content">Hints | Visual Computing - +
    Hints diff --git a/docs/shortcodes/index.html b/docs/shortcodes/index.html index 54925fae..8dad0b57 100644 --- a/docs/shortcodes/index.html +++ b/docs/shortcodes/index.html @@ -1,5 +1,5 @@ Shortcodes | Visual Computing - +
    diff --git a/docs/shortcodes/katex/index.html b/docs/shortcodes/katex/index.html index ec14c8b7..ace3e5c5 100644 --- a/docs/shortcodes/katex/index.html +++ b/docs/shortcodes/katex/index.html @@ -1,7 +1,7 @@ Katex | Visual Computing - +
    Katex diff --git a/docs/shortcodes/mermaid/index.html b/docs/shortcodes/mermaid/index.html index 7189ada6..4a410cb5 100644 --- a/docs/shortcodes/mermaid/index.html +++ b/docs/shortcodes/mermaid/index.html @@ -5,7 +5,7 @@ Override Mermaid Initialization Config To override the initialization config for Mermaid, create a mermaid.json file in your assets folder! Example # {{< mermaid [class="text-center"]>}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --> State2 note left of State2 : This is the note to the left.">Mermaid | Visual Computing - +
    Mermaid diff --git a/docs/shortcodes/p5/div/index.html b/docs/shortcodes/p5/div/index.html index ac907d67..5ca230db 100644 --- a/docs/shortcodes/p5/div/index.html +++ b/docs/shortcodes/p5/div/index.html @@ -1,22 +1,22 @@ Div | Visual Computing - +p5-div markdown {{< p5-div sketch="/vc/sketches/scintillating.">Div | Visual Computing +
    Div
    oD+B{P*~81`8+eeD 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 FV1n292T}k4 literal 0 HcmV?d00001 diff --git a/sketches/mandrill.webm b/sketches/mandrill.webm new file mode 100644 index 0000000000000000000000000000000000000000..b0a5d81344ace1c46067ae194f21770f79e0772e GIT binary patch literal 2009229 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 z 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

    *?`g(S0V~O3}q!hUaq_mtVbE5_6Mp%7TG`Ujh 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̏XNd!vQ3f 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 z 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

    {{< p5-div ver="1.4.1" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}}
     

    All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

    Scintillating grid #

    Look at this and also this among many more references there are.

    p5-div markdown
    {{< p5-div sketch="/vc/sketches/scintillating.js" >}}
    -
    - + +

    p5-instance-div -#

    {{< p5-instance-div id="sketchid" ver="1.4.0" lib1="https://cdntolib1/lib1.js" >}}
    +#
    {{< p5-instance-div id="sketchid" ver="1.4.1" lib1="https://cdntolib1/lib1.js" >}}
       // inline sketch code
     {{< /p5-instance-div >}}
     
    Note that the inline sketch should be coded in p5 instance mode syntax.

    All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

    Lilac chaser @@ -71,8 +71,8 @@ p5.pop(); } {{< /p5-instance-div >}} -

    Note that p5 should be the name to be used for the sketch object variable.
    -

    Video on canvas +
    Note that p5 should be the name to be used for the sketch object variable.
    +

    Video on canvas #

    Adapted from here. Don’t forget to checkout also the video on dom example.

    p5-instance-div markdown
    {{< p5-instance-div id="video" >}}
       let fingers;
     
    @@ -95,6 +95,6 @@
         fingers.loop(); // set the video to loop and start playing  
       }
     {{< /p5-instance-div >}}
    -
    Note that p5 should be the name to be used for the sketch object variable.
    -
    \ No newline at end of file +
    Note that p5 should be the name to be used for the sketch object variable.
    +
    \ No newline at end of file diff --git a/docs/shortcodes/p5/iframe/index.html b/docs/shortcodes/p5/iframe/index.html index 6828e8ca..611a2d5d 100644 --- a/docs/shortcodes/p5/iframe/index.html +++ b/docs/shortcodes/p5/iframe/index.html @@ -1,24 +1,24 @@ Iframe | Visual Computing - +p5-iframe markdown {{< p5-iframe sketch="/vc/sketches/colors.">Iframe | Visual Computing +
    Iframe

    p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.

    p5-iframe -#

    {{< p5-iframe ver="1.4.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}}
    +#
    {{< p5-iframe ver="1.4.1" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}}
     

    All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

    Color relativity #

    Look at this brief explanation about what color relativity is.

    p5-iframe markdown
    {{< p5-iframe sketch="/vc/sketches/colors.js" width="725" height="425 >}}
     

    p5-global-iframe -#

    {{< p5-global-iframe id="sketchid" ver="1.4.0" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}}
    +#
    {{< p5-global-iframe id="sketchid" ver="1.4.1" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}}
       // inline sketch code
     {{< /p5-global-iframe >}}
     
    Note that the inline sketch should be coded in p5 global mode syntax.

    All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

    Breathing square @@ -109,8 +109,8 @@ - - + + @@ -156,5 +156,5 @@ - ">

    \ No newline at end of file + ">
    \ No newline at end of file diff --git a/docs/shortcodes/p5/index.html b/docs/shortcodes/p5/index.html index 56e30084..3d7c73b6 100644 --- a/docs/shortcodes/p5/index.html +++ b/docs/shortcodes/p5/index.html @@ -1,6 +1,6 @@ P5 | Visual Computing - +Types # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{< p5-div ver="1.4.1" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*.">P5 | Visual Computing +
    @@ -8,10 +8,10 @@

    p5 #

    p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.

    Types #

    Div
    p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. -p5-div # {{< p5-div ver="1.4.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +p5-div # {{< p5-div ver="1.4.1" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{< p5-div sketch="/vc/sketches/scintillating.
    Iframe
    p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. -p5-iframe # {{< p5-iframe ver="1.4.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +p5-iframe # {{< p5-iframe ver="1.4.1" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{< p5-iframe sketch="/vc/sketches/colors.
    \ No newline at end of file diff --git a/docs/shortcodes/p5/index.xml b/docs/shortcodes/p5/index.xml index 6a5c4c7a..1fe4fc4d 100644 --- a/docs/shortcodes/p5/index.xml +++ b/docs/shortcodes/p5/index.xml @@ -1,7 +1,7 @@ Visual Computinghttps://visualcomputing.github.io/vc/docs/shortcodes/p5/Recent content on Visual ComputingHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. -p5-div # {{&lt; p5-div ver=&#34;1.4.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +p5-div # {{&lt; p5-div ver=&#34;1.4.1&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{&lt; p5-div sketch=&#34;/vc/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. -p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.1&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/vc/sketches/colors.</description></item></channel></rss> \ No newline at end of file diff --git a/docs/shortcodes/tabs/index.html b/docs/shortcodes/tabs/index.html index 54faf078..a78ef180 100644 --- a/docs/shortcodes/tabs/index.html +++ b/docs/shortcodes/tabs/index.html @@ -3,7 +3,7 @@ Lorem markdownum insigne. Olympo signis Delphis!"><meta name=theme-color content="#FFFFFF"><meta name=color-scheme content="light dark"><meta property="og:title" content><meta property="og:description" content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. {{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS # This is tab MacOS content. Lorem markdownum insigne. Olympo signis Delphis!"><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/vc/docs/shortcodes/tabs/"><meta property="article:section" content="docs"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Tabs | Visual Computing - +
    Tabs diff --git a/en.search-data.min.e51514c6246838ce702ba9a52b1769e1e7b056dc76cffd6d669561f451a73559.json b/en.search-data.min.305395e1fa15a277afb4494ff97231f23c3847b1f8f964bf64f7da8ed756ae2c.json similarity index 99% rename from en.search-data.min.e51514c6246838ce702ba9a52b1769e1e7b056dc76cffd6d669561f451a73559.json rename to en.search-data.min.305395e1fa15a277afb4494ff97231f23c3847b1f8f964bf64f7da8ed756ae2c.json index fa741fb9..cd552cf0 100644 --- a/en.search-data.min.e51514c6246838ce702ba9a52b1769e1e7b056dc76cffd6d669561f451a73559.json +++ b/en.search-data.min.305395e1fa15a277afb4494ff97231f23c3847b1f8f964bf64f7da8ed756ae2c.json @@ -1 +1 @@ -[{"id":0,"href":"/vc/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":"Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026#34;michael d henderson\u0026#34; description = \u0026#34;a minimal working template\u0026#34; license = \u0026#34;MIT\u0026#34; name = \u0026#34;zafta\u0026#34; source_repo = \u0026#34;\u0026#34; tags = [\u0026#34;tags\u0026#34;, \u0026#34;categories\u0026#34;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026#34;YOUR_NAME_HERE\u0026#34; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026#34;zafta\u0026#34; baseurl = \u0026#34;\u0026#34; languageCode = \u0026#34;en-us\u0026#34; title = \u0026#34;zafta - totally refreshing\u0026#34; MetaDataFormat = \u0026#34;toml\u0026#34; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\n Hugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\n Purge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026#34;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026#34;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\n index.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026#34;\u0026#34; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:54:53-05:00\u0026#34; title = \u0026#34;first\u0026#34; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:57:09-05:00\u0026#34; title = \u0026#34;second\u0026#34; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;, \u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\n range .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/second/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/first/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026#34;about\u0026#34; description = \u0026#34;about this site\u0026#34; date = \u0026#34;2014-09-27\u0026#34; slug = \u0026#34;about time\u0026#34; +++ ## about us i\u0026#39;m speechless :wq Generate the web site and verify the results.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/theme/\u0026#34;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/about-time/\u0026#34;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/second-post/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/first-post/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026#34;page\u0026#34; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026#34;/:title/\u0026#34; about = \u0026#34;/:filename/\u0026#34; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026#34;theme/partials/header.html\u0026#34; . }} versus\n{{ partial \u0026#34;header.html\u0026#34; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026#34;page\u0026#34;) (eq .Type \u0026#34;about\u0026#34;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":1,"href":"/vc/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":"Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\n Change your submodule to point to map gh-pages to public instead of _site (recommended).\n git submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n { .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":2,"href":"/vc/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\n false 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n {{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026#34;Permalinks\u0026#34; date: \u0026#34;2013-11-18\u0026#34; aliases: - \u0026#34;/doc/permalinks/\u0026#34; groups: [\u0026#34;extras\u0026#34;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n {{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026#34;text-center\u0026#34;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026#34;twitter\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://twitter.com/{{.}}\u0026#34; rel=\u0026#34;author\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;/images/twitter.png\u0026#34; width=\u0026#34;48\u0026#34; height=\u0026#34;48\u0026#34; title=\u0026#34;Twitter: {{.}}\u0026#34; alt=\u0026#34;Twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026#34;recent\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026#34;{{.RelPermalink}}\u0026#34;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":3,"href":"/vc/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":"Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\n Clone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":4,"href":"/vc/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":"Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":5,"href":"/vc/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":"Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":6,"href":"/vc/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":"Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} {{\u0026lt; details title=\u0026#34;Title\u0026#34; open=true \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content # Lorem markdownum insigne\u0026hellip; "},{"id":7,"href":"/vc/docs/shortcodes/expand/","title":"Expand","section":"Shortcodes","content":"Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.\nExample # Default # {{\u0026lt; expand \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Expand ↕ Markdown content # Lorem markdownum insigne\u0026hellip; With Custom Label # {{\u0026lt; expand \u0026#34;Custom Label\u0026#34; \u0026#34;...\u0026#34; \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Custom Label ... Markdown content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/vc/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":"Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":9,"href":"/vc/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":"KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":10,"href":"/vc/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":"Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\n Example # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} mermaid.initialize({ \"flowchart\": { \"useMaxWidth\":true }, \"theme\": \"default\" } ) stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 -- State2 note left of State2 : This is the note to the left. "},{"id":11,"href":"/vc/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":"p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/vc/sketches/scintillating. Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/colors. "},{"id":12,"href":"/vc/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/vc/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(380, 380); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i 0; i-=1.5) { if (opc Video on canvas # Adapted from here. Don\u0026rsquo;t forget to checkout also the video on dom example.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;video\u0026#34; \u0026gt;}} let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo([\u0026#39;/vc/sketches/fingers.mov\u0026#39;, \u0026#39;/vc/sketches/fingers.webm\u0026#39;]); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo(['/vc/sketches/fingers.mov', '/vc/sketches/fingers.webm']); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } }, \"video\" ); "},{"id":13,"href":"/vc/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} \" Third party libraries # Example adapted from p5.EasyCam.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/quick_easycam.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js\u0026#34; width=\u0026#34;525\u0026#34; height=\u0026#34;525\u0026#34; \u0026gt;}} \" Sound # Example took from the p5 examples.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/sound.js\u0026#34; width=\u0026#34;225\u0026#34; height=\u0026#34;225\u0026#34; \u0026gt;}} \" p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle \u0026#43;= speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } \" "},{"id":14,"href":"/vc/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":"Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS # This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux # This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows # This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n "}] \ No newline at end of file +[{"id":0,"href":"/vc/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":"Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026#34;michael d henderson\u0026#34; description = \u0026#34;a minimal working template\u0026#34; license = \u0026#34;MIT\u0026#34; name = \u0026#34;zafta\u0026#34; source_repo = \u0026#34;\u0026#34; tags = [\u0026#34;tags\u0026#34;, \u0026#34;categories\u0026#34;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026#34;YOUR_NAME_HERE\u0026#34; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026#34;zafta\u0026#34; baseurl = \u0026#34;\u0026#34; languageCode = \u0026#34;en-us\u0026#34; title = \u0026#34;zafta - totally refreshing\u0026#34; MetaDataFormat = \u0026#34;toml\u0026#34; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\n Hugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\n Purge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026#34;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026#34;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\n index.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026#34;\u0026#34; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:54:53-05:00\u0026#34; title = \u0026#34;first\u0026#34; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:57:09-05:00\u0026#34; title = \u0026#34;second\u0026#34; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;, \u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\n range .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/second/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/first/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026#34;about\u0026#34; description = \u0026#34;about this site\u0026#34; date = \u0026#34;2014-09-27\u0026#34; slug = \u0026#34;about time\u0026#34; +++ ## about us i\u0026#39;m speechless :wq Generate the web site and verify the results.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/theme/\u0026#34;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/about-time/\u0026#34;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/second-post/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/first-post/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026#34;page\u0026#34; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026#34;/:title/\u0026#34; about = \u0026#34;/:filename/\u0026#34; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026#34;theme/partials/header.html\u0026#34; . }} versus\n{{ partial \u0026#34;header.html\u0026#34; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026#34;page\u0026#34;) (eq .Type \u0026#34;about\u0026#34;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":1,"href":"/vc/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":"Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\n Change your submodule to point to map gh-pages to public instead of _site (recommended).\n git submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n { .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":2,"href":"/vc/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\n false 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n {{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026#34;Permalinks\u0026#34; date: \u0026#34;2013-11-18\u0026#34; aliases: - \u0026#34;/doc/permalinks/\u0026#34; groups: [\u0026#34;extras\u0026#34;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n {{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026#34;text-center\u0026#34;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026#34;twitter\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://twitter.com/{{.}}\u0026#34; rel=\u0026#34;author\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;/images/twitter.png\u0026#34; width=\u0026#34;48\u0026#34; height=\u0026#34;48\u0026#34; title=\u0026#34;Twitter: {{.}}\u0026#34; alt=\u0026#34;Twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026#34;recent\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026#34;{{.RelPermalink}}\u0026#34;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":3,"href":"/vc/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":"Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\n Clone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":4,"href":"/vc/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":"Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":5,"href":"/vc/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":"Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":6,"href":"/vc/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":"Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} {{\u0026lt; details title=\u0026#34;Title\u0026#34; open=true \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content # Lorem markdownum insigne\u0026hellip; "},{"id":7,"href":"/vc/docs/shortcodes/expand/","title":"Expand","section":"Shortcodes","content":"Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.\nExample # Default # {{\u0026lt; expand \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Expand ↕ Markdown content # Lorem markdownum insigne\u0026hellip; With Custom Label # {{\u0026lt; expand \u0026#34;Custom Label\u0026#34; \u0026#34;...\u0026#34; \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Custom Label ... Markdown content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/vc/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":"Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":9,"href":"/vc/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":"KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":10,"href":"/vc/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":"Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\n Example # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} mermaid.initialize({ \"flowchart\": { \"useMaxWidth\":true }, \"theme\": \"default\" } ) stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 -- State2 note left of State2 : This is the note to the left. "},{"id":11,"href":"/vc/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":"p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/vc/sketches/scintillating. Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/colors. "},{"id":12,"href":"/vc/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/vc/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.1\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(380, 380); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i 0; i-=1.5) { if (opc Video on canvas # Adapted from here. Don\u0026rsquo;t forget to checkout also the video on dom example.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;video\u0026#34; \u0026gt;}} let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo([\u0026#39;/vc/sketches/fingers.mov\u0026#39;, \u0026#39;/vc/sketches/fingers.webm\u0026#39;]); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo(['/vc/sketches/fingers.mov', '/vc/sketches/fingers.webm']); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } }, \"video\" ); "},{"id":13,"href":"/vc/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} \" Third party libraries # Example adapted from p5.EasyCam.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/quick_easycam.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js\u0026#34; width=\u0026#34;525\u0026#34; height=\u0026#34;525\u0026#34; \u0026gt;}} \" Sound # Example took from the p5 examples.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/sound.js\u0026#34; width=\u0026#34;225\u0026#34; height=\u0026#34;225\u0026#34; \u0026gt;}} \" p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.1\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle \u0026#43;= speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } \" "},{"id":14,"href":"/vc/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":"Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS # This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux # This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows # This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n "}] \ No newline at end of file diff --git a/en.search.min.a12a15248d79cb51bb39afe78e4f08dd6cf73c3e5b510a0e1589b4612f757297.js b/en.search.min.a1b55e710b597c6e810a85449a92d8d96b940bdb8e8e3f412b16abc5a2148bf6.js similarity index 90% rename from en.search.min.a12a15248d79cb51bb39afe78e4f08dd6cf73c3e5b510a0e1589b4612f757297.js rename to en.search.min.a1b55e710b597c6e810a85449a92d8d96b940bdb8e8e3f412b16abc5a2148bf6.js index 12c92f00..af0eb6ea 100644 --- a/en.search.min.a12a15248d79cb51bb39afe78e4f08dd6cf73c3e5b510a0e1589b4612f757297.js +++ b/en.search.min.a1b55e710b597c6e810a85449a92d8d96b940bdb8e8e3f412b16abc5a2148bf6.js @@ -1 +1 @@ -'use strict';(function(){const a="/vc/en.search-data.min.e51514c6246838ce702ba9a52b1769e1e7b056dc76cffd6d669561f451a73559.json",r=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",o);function o(t){if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!i(n))return;e.focus(),t.preventDefault()}function i(t){const n=e.getAttribute("data-hotkeys")||'';return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(a).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",r),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(t){const e=document.createElement("div");return e.innerHTML=t,e.firstChild}})() \ No newline at end of file +'use strict';(function(){const a="/vc/en.search-data.min.305395e1fa15a277afb4494ff97231f23c3847b1f8f964bf64f7da8ed756ae2c.json",r=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",o);function o(t){if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!i(n))return;e.focus(),t.preventDefault()}function i(t){const n=e.getAttribute("data-hotkeys")||'';return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(a).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",r),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(t){const e=document.createElement("div");return e.innerHTML=t,e.firstChild}})() \ No newline at end of file diff --git a/index.html b/index.html index e27e7fdd..6b2616b9 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ Goal # To study the process of creation and manipulation of a digital image of a modern visual application, using current hardware. Methodology # Active-learning using free-software to develop: Slides. nub and p5.tree. p5.quadrille.js. Grading # Workshops blog posts-like reports produced with gohugo and p5.js and having a basic research structure:">Introduction | Visual Computing - +
    diff --git a/index.xml b/index.xml index 76727295..466207c1 100644 --- a/index.xml +++ b/index.xml @@ -18,10 +18,10 @@ Example # {{&lt; katex [display] [class=&#34;text-center&#34;] & Override Mermaid Initialization Config To override the initialization config for Mermaid, create a mermaid.json file in your assets folder! Example # {{&lt; mermaid [class=&#34;text-center&#34;]&gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --&gt; State2 note left of State2 : This is the note to the left.<link>https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. -p5-div # {{&lt; p5-div ver=&#34;1.4.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +p5-div # {{&lt; p5-div ver=&#34;1.4.1&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{&lt; p5-div sketch=&#34;/vc/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. -p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.1&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/vc/sketches/colors.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/tabs/</guid><description>Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. {{&lt; tabs &#34;uniqueid&#34; &gt;}} {{&lt; tab &#34;MacOS&#34; &gt;}} # MacOS Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Linux&#34; &gt;}} # Linux Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Windows&#34; &gt;}} # Windows Content {{&lt; /tab &gt;}} {{&lt; /tabs &gt;}} Example # MacOS MacOS # This is tab MacOS content. diff --git a/posts/creating-a-new-theme/index.html b/posts/creating-a-new-theme/index.html index 8c7adf51..b2b71729 100644 --- a/posts/creating-a-new-theme/index.html +++ b/posts/creating-a-new-theme/index.html @@ -1,7 +1,7 @@ <!doctype html><html lang=en dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. We’ll start with creating a new site with a very basic template."><meta name=theme-color content="#FFFFFF"><meta name=color-scheme content="light dark"><meta property="og:title" content="Creating a New Theme"><meta property="og:description" content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. We’ll start with creating a new site with a very basic template."><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/vc/posts/creating-a-new-theme/"><meta property="article:section" content="posts"><meta property="article:published_time" content="2014-09-28T00:00:00+00:00"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Creating a New Theme | Visual Computing - +
    Creating a New Theme diff --git a/posts/goisforlovers/index.html b/posts/goisforlovers/index.html index 411f3be8..efa11b23 100644 --- a/posts/goisforlovers/index.html +++ b/posts/goisforlovers/index.html @@ -1,7 +1,7 @@ (Hu)go Template Primer | Visual Computing - +
    (Hu)go Template Primer diff --git a/posts/hugoisforlovers/index.html b/posts/hugoisforlovers/index.html index 9bfead32..c6bb1df1 100644 --- a/posts/hugoisforlovers/index.html +++ b/posts/hugoisforlovers/index.html @@ -7,7 +7,7 @@ More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps:">Getting Started with Hugo | Visual Computing - +
    Getting Started with Hugo diff --git a/posts/index.html b/posts/index.html index 8fdac69e..5246bc1b 100644 --- a/posts/index.html +++ b/posts/index.html @@ -1,5 +1,5 @@ Blog | Visual Computing - +
    diff --git a/posts/migrate-from-jekyll/index.html b/posts/migrate-from-jekyll/index.html index 109a6c4d..a85f31f5 100644 --- a/posts/migrate-from-jekyll/index.html +++ b/posts/migrate-from-jekyll/index.html @@ -3,7 +3,7 @@ ▾ / ▾ static/ ▾ images/ logo.png Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static.">Migrate to Hugo from Jekyll | Visual Computing - +
    Migrate to Hugo from Jekyll diff --git a/sitemap.xml b/sitemap.xml index 75a8797a..89abe9d5 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://visualcomputing.github.io/vc/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/details/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/expand/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/katex/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/mermaid/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/2021-09-30T08:16:31-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/2022-03-14T08:44:19-05:00https://visualcomputing.github.io/vc/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/2022-03-14T08:44:19-05:00https://visualcomputing.github.io/vc/2022-03-14T06:49:59-05:00 \ No newline at end of file +https://visualcomputing.github.io/vc/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/details/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/expand/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/katex/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/mermaid/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/2022-03-15T17:17:31-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/2022-03-15T17:17:31-05:00https://visualcomputing.github.io/vc/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/2022-03-15T17:17:31-05:00https://visualcomputing.github.io/vc/2022-03-14T06:49:59-05:00 \ No newline at end of file diff --git a/tags/development/index.html b/tags/development/index.html index cc62074e..182e6ec0 100644 --- a/tags/development/index.html +++ b/tags/development/index.html @@ -1,5 +1,5 @@ development | Visual Computing - +
    diff --git a/tags/go/index.html b/tags/go/index.html index 5e8bea2e..6259859e 100644 --- a/tags/go/index.html +++ b/tags/go/index.html @@ -1,5 +1,5 @@ go | Visual Computing - +
    diff --git a/tags/golang/index.html b/tags/golang/index.html index 5dd44152..4be51bf6 100644 --- a/tags/golang/index.html +++ b/tags/golang/index.html @@ -1,5 +1,5 @@ golang | Visual Computing - +
    diff --git a/tags/hugo/index.html b/tags/hugo/index.html index 5a1f9aff..28f468c5 100644 --- a/tags/hugo/index.html +++ b/tags/hugo/index.html @@ -1,5 +1,5 @@ hugo | Visual Computing - +
    diff --git a/tags/index.html b/tags/index.html index 49bda006..74f6331d 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1,5 +1,5 @@ Tags | Visual Computing - +
    diff --git a/tags/templates/index.html b/tags/templates/index.html index 0eedf4d7..0a84b2bf 100644 --- a/tags/templates/index.html +++ b/tags/templates/index.html @@ -1,5 +1,5 @@ templates | Visual Computing - +
    diff --git a/tags/themes/index.html b/tags/themes/index.html index dd60cd2a..348dab73 100644 --- a/tags/themes/index.html +++ b/tags/themes/index.html @@ -1,5 +1,5 @@ themes | Visual Computing - +
    From aff4e5be9ba2b133c484c4554c5ee00716a0a47a Mon Sep 17 00:00:00 2001 From: nakednous Date: Fri, 18 Mar 2022 20:31:18 +0000 Subject: [PATCH 21/49] deploy: 2d3e20d5a2cbe8e7f871a32b8c33b3a839f6e892 --- 404.html | 4 +- ...3a0067534a37289b063c9f8d011515a63097a8.css | 2 +- categories/Development/index.html | 64 ++++++++--------- categories/Development/index.xml | 4 +- categories/Development/page/1/index.html | 2 +- categories/golang/index.html | 64 ++++++++--------- categories/golang/index.xml | 4 +- categories/golang/page/1/index.html | 2 +- categories/index.html | 42 +++++------ categories/index.xml | 2 +- categories/page/1/index.html | 2 +- docs/index.html | 12 ++-- docs/index.xml | 2 +- docs/shortcodes/buttons/index.html | 16 ++--- docs/shortcodes/columns/index.html | 14 ++-- docs/shortcodes/details/index.html | 14 ++-- docs/shortcodes/expand/index.html | 14 ++-- docs/shortcodes/hints/index.html | 14 ++-- docs/shortcodes/index.html | 12 ++-- docs/shortcodes/index.xml | 16 ++--- docs/shortcodes/katex/index.html | 18 ++--- docs/shortcodes/mermaid/index.html | 16 ++--- docs/shortcodes/p5/div/index.html | 24 +++---- docs/shortcodes/p5/iframe/index.html | 55 +++++++++++---- docs/shortcodes/p5/index.html | 20 +++--- docs/shortcodes/p5/index.xml | 6 +- docs/shortcodes/tabs/index.html | 14 ++-- ...231f23c3847b1f8f964bf64f7da8ed756ae2c.json | 1 - ...d94114f786d47d017fe50cee0d173435ddac4.json | 1 + ...a92d8d96b940bdb8e8e3f412b16abc5a2148bf6.js | 1 - ...fa950a5be310a216dd7d557f8642823f255951e.js | 1 + index.html | 32 ++++----- index.xml | 28 ++++---- manifest.json | 10 +-- posts/creating-a-new-theme/index.html | 14 ++-- posts/goisforlovers/index.html | 24 +++---- posts/hugoisforlovers/index.html | 22 +++--- posts/index.html | 70 +++++++++---------- posts/index.xml | 8 +-- posts/migrate-from-jekyll/index.html | 14 ++-- posts/page/1/index.html | 2 +- sitemap.xml | 2 +- sketches/depthmap.js | 2 +- sketches/sound.js | 2 +- sketches/video-canvas.js | 2 +- sketches/video-dom.js | 2 +- tags/development/index.html | 64 ++++++++--------- tags/development/index.xml | 4 +- tags/development/page/1/index.html | 2 +- tags/go/index.html | 64 ++++++++--------- tags/go/index.xml | 4 +- tags/go/page/1/index.html | 2 +- tags/golang/index.html | 64 ++++++++--------- tags/golang/index.xml | 4 +- tags/golang/page/1/index.html | 2 +- tags/hugo/index.html | 52 +++++++------- tags/hugo/index.xml | 2 +- tags/hugo/page/1/index.html | 2 +- tags/index.html | 42 +++++------ tags/index.xml | 2 +- tags/page/1/index.html | 2 +- tags/templates/index.html | 54 +++++++------- tags/templates/index.xml | 2 +- tags/templates/page/1/index.html | 2 +- tags/themes/index.html | 54 +++++++------- tags/themes/index.xml | 2 +- tags/themes/page/1/index.html | 2 +- 67 files changed, 573 insertions(+), 552 deletions(-) rename book.min.89a77f7e702a8626749b948bbfb01109823daf6c1246ca407d1378833494c402.css => book.min.ab46de3e725a6415339a37bba23a0067534a37289b063c9f8d011515a63097a8.css (75%) delete mode 100644 en.search-data.min.305395e1fa15a277afb4494ff97231f23c3847b1f8f964bf64f7da8ed756ae2c.json create mode 100644 en.search-data.min.3ee16b273ace10c32ee365155a7d94114f786d47d017fe50cee0d173435ddac4.json delete mode 100644 en.search.min.a1b55e710b597c6e810a85449a92d8d96b940bdb8e8e3f412b16abc5a2148bf6.js create mode 100644 en.search.min.eb53c068e0d326ec8968aca9dfa950a5be310a216dd7d557f8642823f255951e.js diff --git a/404.html b/404.html index c81886bd..07684b2f 100644 --- a/404.html +++ b/404.html @@ -1,2 +1,2 @@ -404 Page not found | Visual Computing -

    404

    Page Not Found

    Visual Computing

    \ No newline at end of file +404 Page not found | Showcase Template +

    404

    Page Not Found

    Showcase Template

    \ No newline at end of file diff --git a/book.min.89a77f7e702a8626749b948bbfb01109823daf6c1246ca407d1378833494c402.css b/book.min.ab46de3e725a6415339a37bba23a0067534a37289b063c9f8d011515a63097a8.css similarity index 75% rename from book.min.89a77f7e702a8626749b948bbfb01109823daf6c1246ca407d1378833494c402.css rename to book.min.ab46de3e725a6415339a37bba23a0067534a37289b063c9f8d011515a63097a8.css index dd68705e..a6f33ff7 100644 --- a/book.min.89a77f7e702a8626749b948bbfb01109823daf6c1246ca407d1378833494c402.css +++ b/book.min.ab46de3e725a6415339a37bba23a0067534a37289b063c9f8d011515a63097a8.css @@ -1 +1 @@ -@charset "UTF-8";:root{--gray-100:rgba(255, 255, 255, 0.1);--gray-200:rgba(255, 255, 255, 0.2);--gray-500:rgba(255, 255, 255, 0.5);--color-link:#84b2ff;--color-visited-link:#b88dff;--body-background:#343a40;--body-font-color:#e9ecef;--icon-filter:brightness(0) invert(1);--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸"}.book-menu input.toggle:checked+label::after{content:"▾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"▾"}.book-section-flat{margin:2rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header img.book-icon{height:1.5em;width:1.5em}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-block-end:2rem}.book-languages .book-icon{height:1em;width:1em;margin-inline-end:.5em}.book-languages ul{padding-inline-start:1.5em}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)} \ No newline at end of file +@charset "UTF-8";:root{--gray-100:rgba(255, 255, 255, 0.1);--gray-200:rgba(255, 255, 255, 0.2);--gray-500:rgba(255, 255, 255, 0.5);--color-link:#84b2ff;--color-visited-link:#b88dff;--body-background:#343a40;--body-font-color:#e9ecef;--icon-filter:brightness(0) invert(1);--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸"}.book-menu input.toggle:checked+label::after{content:"▾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"▾"}.book-section-flat{margin:2rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header img.book-icon{height:1.5em;width:1.5em}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-block-end:2rem}.book-languages .book-icon{height:1em;width:1em;margin-inline-end:.5em}.book-languages ul{padding-inline-start:1.5em}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown p{word-wrap:break-word}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)} \ No newline at end of file diff --git a/categories/Development/index.html b/categories/Development/index.html index 7154a60e..e36274b9 100644 --- a/categories/Development/index.html +++ b/categories/Development/index.html @@ -1,39 +1,39 @@ -Development | Visual Computing - - -
    +Development | Showcase Template + + +
    Development -

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    Getting Started with Hugo

    April 2, 2014

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file diff --git a/categories/Development/index.xml b/categories/Development/index.xml index 770e5991..fd0d16ff 100644 --- a/categories/Development/index.xml +++ b/categories/Development/index.xml @@ -1,5 +1,5 @@ -Development on Visual Computinghttps://visualcomputing.github.io/vc/categories/Development/Recent content in Development on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. -This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +Development on Showcase Templatehttps://visualcomputing.github.io/showcase/categories/Development/Recent content in Development on Showcase TemplateHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/showcase/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/showcase/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. diff --git a/categories/Development/page/1/index.html b/categories/Development/page/1/index.html index 104725f5..89f64414 100644 --- a/categories/Development/page/1/index.html +++ b/categories/Development/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/categories/Development/ \ No newline at end of file +https://visualcomputing.github.io/showcase/categories/Development/ \ No newline at end of file diff --git a/categories/golang/index.html b/categories/golang/index.html index a1c9fbea..6d05ca19 100644 --- a/categories/golang/index.html +++ b/categories/golang/index.html @@ -1,39 +1,39 @@ -golang | Visual Computing - - -
    +golang | Showcase Template + + +
    golang -

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    Getting Started with Hugo

    April 2, 2014

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file diff --git a/categories/golang/index.xml b/categories/golang/index.xml index 5dbe8daf..ce24711a 100644 --- a/categories/golang/index.xml +++ b/categories/golang/index.xml @@ -1,5 +1,5 @@ -golang on Visual Computinghttps://visualcomputing.github.io/vc/categories/golang/Recent content in golang on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. -This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +golang on Showcase Templatehttps://visualcomputing.github.io/showcase/categories/golang/Recent content in golang on Showcase TemplateHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/showcase/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/showcase/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. diff --git a/categories/golang/page/1/index.html b/categories/golang/page/1/index.html index a8789ed8..7d4aa034 100644 --- a/categories/golang/page/1/index.html +++ b/categories/golang/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/categories/golang/ \ No newline at end of file +https://visualcomputing.github.io/showcase/categories/golang/ \ No newline at end of file diff --git a/categories/index.html b/categories/index.html index aff72fe4..30c2abd4 100644 --- a/categories/index.html +++ b/categories/index.html @@ -1,23 +1,23 @@ -Categories | Visual Computing - - -
    +Categories | Showcase Template + + +
    Categories -
    \ No newline at end of file diff --git a/categories/index.xml b/categories/index.xml index 0cac32f2..9afdb5c3 100644 --- a/categories/index.xml +++ b/categories/index.xml @@ -1 +1 @@ -Categories on Visual Computinghttps://visualcomputing.github.io/vc/categories/Recent content in Categories on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000Developmenthttps://visualcomputing.github.io/vc/categories/Development/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/categories/Development/golanghttps://visualcomputing.github.io/vc/categories/golang/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/categories/golang/ \ No newline at end of file +Categories on Showcase Templatehttps://visualcomputing.github.io/showcase/categories/Recent content in Categories on Showcase TemplateHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000Developmenthttps://visualcomputing.github.io/showcase/categories/Development/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/categories/Development/golanghttps://visualcomputing.github.io/showcase/categories/golang/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/categories/golang/ \ No newline at end of file diff --git a/categories/page/1/index.html b/categories/page/1/index.html index 821433e8..078c0fd8 100644 --- a/categories/page/1/index.html +++ b/categories/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/categories/ \ No newline at end of file +https://visualcomputing.github.io/showcase/categories/ \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index b33616f0..17b7a07a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,7 +1,7 @@ -Docs | Visual Computing - - -
    +Docs | Showcase Template + + +
    Docs -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/index.xml b/docs/index.xml index 8e17d2ca..2da48bc1 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -1 +1 @@ -Docs on Visual Computinghttps://visualcomputing.github.io/vc/docs/Recent content in Docs on Visual ComputingHugo -- gohugo.ioen-us \ No newline at end of file +Docs on Showcase Templatehttps://visualcomputing.github.io/showcase/docs/Recent content in Docs on Showcase TemplateHugo -- gohugo.ioen-us \ No newline at end of file diff --git a/docs/shortcodes/buttons/index.html b/docs/shortcodes/buttons/index.html index 10e3fcd0..7ff5adae 100644 --- a/docs/shortcodes/buttons/index.html +++ b/docs/shortcodes/buttons/index.html @@ -1,14 +1,14 @@ -Buttons | Visual Computing - -
    +Example # {{< button relref="/" [class="..."] >}}Get Home{{< /button >}} {{< button href="https://github.com/alex-shpak/hugo-book" >}}Contribute{{< /button >}} Get Home Contribute ">Buttons | Showcase Template + +
    Buttons -

    Buttons +

    Buttons #

    Buttons are styled links that can lead to local page or external link.

    Example #

    {{< button relref="/" [class="..."] >}}Get Home{{< /button >}}
     {{< button href="https://github.com/alex-shpak/hugo-book" >}}Contribute{{< /button >}}
    -

    Get Home -Contribute

    Get Home +Contribute

    \ No newline at end of file diff --git a/docs/shortcodes/columns/index.html b/docs/shortcodes/columns/index.html index 5969be1d..1ddb7b84 100644 --- a/docs/shortcodes/columns/index.html +++ b/docs/shortcodes/columns/index.html @@ -1,11 +1,11 @@ -Columns | Visual Computing - -
    +{{< columns >}} # Left Content Lorem markdownum insigne... <---> # Mid Content Lorem markdownum insigne... <---> # Right Content Lorem markdownum insigne... {{< /columns >}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis!">Columns | Showcase Template + +
    Columns -

    Columns +

    Columns #

    Columns help organize shorter pieces of content horizontally for readability.

    {{< columns >}} <!-- begin columns block -->
     # Left Content
     Lorem markdownum insigne...
    @@ -31,5 +31,5 @@
     #

    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. -Miseratus fonte Ditis conubia.

    \ No newline at end of file diff --git a/docs/shortcodes/details/index.html b/docs/shortcodes/details/index.html index 0e75783a..1b78e735 100644 --- a/docs/shortcodes/details/index.html +++ b/docs/shortcodes/details/index.html @@ -1,11 +1,11 @@ -Details | Visual Computing - -
    +Example # {{< details "Title" [open] >}} ## Markdown content Lorem markdownum insigne... {{< /details >}} {{< details title="Title" open=true >}} ## Markdown content Lorem markdownum insigne... {{< /details >}} Title Markdown content # Lorem markdownum insigne… ">Details | Showcase Template + +
    Details -

    Details +

    Details #

    Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.

    Example #

    {{< details "Title" [open] >}}
     ## Markdown content
    @@ -16,5 +16,5 @@
     Lorem markdownum insigne...
     {{< /details >}}
     
    Title

    Markdown content -#

    Lorem markdownum insigne…

    Calendar +#

    Lorem markdownum insigne…

    \ No newline at end of file diff --git a/docs/shortcodes/expand/index.html b/docs/shortcodes/expand/index.html index 0c6d6a77..a0012cb5 100644 --- a/docs/shortcodes/expand/index.html +++ b/docs/shortcodes/expand/index.html @@ -1,11 +1,11 @@ -Expand | Visual Computing - -
    +Example # Default # {{< expand >}} ## Markdown content Lorem markdownum insigne... {{< /expand >}} Expand ↕ Markdown content # Lorem markdownum insigne… With Custom Label # {{< expand "Custom Label" "..." >}} ## Markdown content Lorem markdownum insigne.">Expand | Showcase Template + +

    Expand #

    Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.

    Example #

    Default #

    {{< expand >}}
    @@ -24,5 +24,5 @@
     #

    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. -Miseratus fonte Ditis conubia.

    \ No newline at end of file diff --git a/docs/shortcodes/hints/index.html b/docs/shortcodes/hints/index.html index 258a6132..df078398 100644 --- a/docs/shortcodes/hints/index.html +++ b/docs/shortcodes/hints/index.html @@ -1,15 +1,15 @@ -Hints | Visual Computing - -
    +Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content">Hints | Showcase Template + +
    Hints -

    Hints +

    Hints #

    Hint shortcode can be used as hint/alerts/notification block.
    There are 3 colors to choose: info, warning and danger.

    {{< hint [info|warning|danger] >}}
     **Markdown content**  
     Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
    @@ -19,5 +19,5 @@
     #
    Markdown content
    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
    Markdown content
    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
    Markdown content
    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat -stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
    \ No newline at end of file diff --git a/docs/shortcodes/index.html b/docs/shortcodes/index.html index 8dad0b57..1b9f00c2 100644 --- a/docs/shortcodes/index.html +++ b/docs/shortcodes/index.html @@ -1,8 +1,8 @@ -Shortcodes | Visual Computing - - -
    +Shortcodes | Showcase Template + + +
    Shortcodes -
    \ No newline at end of file diff --git a/docs/shortcodes/index.xml b/docs/shortcodes/index.xml index 0ad29859..ddd75962 100644 --- a/docs/shortcodes/index.xml +++ b/docs/shortcodes/index.xml @@ -1,14 +1,14 @@ -Visual Computinghttps://visualcomputing.github.io/vc/docs/shortcodes/Recent content on Visual ComputingHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/vc/docs/shortcodes/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/buttons/</guid><description>Buttons # Buttons are styled links that can lead to local page or external link. -Example # {{&lt; button relref=&#34;/&#34; [class=&#34;...&#34;] &gt;}}Get Home{{&lt; /button &gt;}} {{&lt; button href=&#34;https://github.com/alex-shpak/hugo-book&#34; &gt;}}Contribute{{&lt; /button &gt;}} Get Home Contribute</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/columns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/columns/</guid><description>Columns # Columns help organize shorter pieces of content horizontally for readability. -{{&lt; columns &gt;}} &lt;!-- begin columns block --&gt; # Left Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Mid Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Right Content Lorem markdownum insigne... {{&lt; /columns &gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis!</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/details/</guid><description>Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode. -Example # {{&lt; details &#34;Title&#34; [open] &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} {{&lt; details title=&#34;Title&#34; open=true &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} Title Markdown content # Lorem markdownum insigne&hellip;</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/expand/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/expand/</guid><description>Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it. -Example # Default # {{&lt; expand &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /expand &gt;}} Expand ↕ Markdown content # Lorem markdownum insigne&hellip; With Custom Label # {{&lt; expand &#34;Custom Label&#34; &#34;...&#34; &gt;}} ## Markdown content Lorem markdownum insigne.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/hints/</guid><description>Hints # Hint shortcode can be used as hint/alerts/notification block. +<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Showcase Templatehttps://visualcomputing.github.io/showcase/docs/shortcodes/Recent content on Showcase TemplateHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/</guid><description>Buttons # Buttons are styled links that can lead to local page or external link. +Example # {{&lt; button relref=&#34;/&#34; [class=&#34;...&#34;] &gt;}}Get Home{{&lt; /button &gt;}} {{&lt; button href=&#34;https://github.com/alex-shpak/hugo-book&#34; &gt;}}Contribute{{&lt; /button &gt;}} Get Home Contribute</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/columns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/columns/</guid><description>Columns # Columns help organize shorter pieces of content horizontally for readability. +{{&lt; columns &gt;}} &lt;!-- begin columns block --&gt; # Left Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Mid Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Right Content Lorem markdownum insigne... {{&lt; /columns &gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis!</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/details/</guid><description>Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode. +Example # {{&lt; details &#34;Title&#34; [open] &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} {{&lt; details title=&#34;Title&#34; open=true &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} Title Markdown content # Lorem markdownum insigne&hellip;</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/expand/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/expand/</guid><description>Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it. +Example # Default # {{&lt; expand &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /expand &gt;}} Expand ↕ Markdown content # Lorem markdownum insigne&hellip; With Custom Label # {{&lt; expand &#34;Custom Label&#34; &#34;...&#34; &gt;}} ## Markdown content Lorem markdownum insigne.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/hints/</guid><description>Hints # Hint shortcode can be used as hint/alerts/notification block. There are 3 colors to choose: info, warning and danger. {{&lt; hint [info|warning|danger] &gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{&lt; /hint &gt;}} Example # Markdown content -Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/katex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/katex/</guid><description>KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX -Example # {{&lt; katex [display] [class=&#34;text-center&#34;] &gt;}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{&lt; /katex &gt;}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/mermaid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/mermaid/</guid><description>Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text. +Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/katex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/katex/</guid><description>KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX +Example # {{&lt; katex [display] [class=&#34;text-center&#34;] &gt;}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{&lt; /katex &gt;}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/</guid><description>Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text. Override Mermaid Initialization Config To override the initialization config for Mermaid, create a mermaid.json file in your assets folder! -Example # {{&lt; mermaid [class=&#34;text-center&#34;]&gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --&gt; State2 note left of State2 : This is the note to the left.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/tabs/</guid><description>Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +Example # {{&lt; mermaid [class=&#34;text-center&#34;]&gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --&gt; State2 note left of State2 : This is the note to the left.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/</guid><description>Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. {{&lt; tabs &#34;uniqueid&#34; &gt;}} {{&lt; tab &#34;MacOS&#34; &gt;}} # MacOS Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Linux&#34; &gt;}} # Linux Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Windows&#34; &gt;}} # Windows Content {{&lt; /tab &gt;}} {{&lt; /tabs &gt;}} Example # MacOS MacOS # This is tab MacOS content. Lorem markdownum insigne. Olympo signis Delphis!</description></item></channel></rss> \ No newline at end of file diff --git a/docs/shortcodes/katex/index.html b/docs/shortcodes/katex/index.html index ace3e5c5..2d57fd7b 100644 --- a/docs/shortcodes/katex/index.html +++ b/docs/shortcodes/katex/index.html @@ -1,20 +1,20 @@ -<!doctype html><html lang=en dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX +<!doctype html><html lang=en-us dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX Example # {{< katex [display] [class="text-center"] >}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{< /katex >}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here."><meta name=theme-color content="#FFFFFF"><meta name=color-scheme content="light dark"><meta property="og:title" content><meta property="og:description" content="KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX -Example # {{< katex [display] [class="text-center"] >}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{< /katex >}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here."><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/vc/docs/shortcodes/katex/"><meta property="article:section" content="docs"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Katex | Visual Computing - -
    +Example # {{< katex [display] [class="text-center"] >}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{< /katex >}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here.">Katex | Showcase Template + +

    KaTeX #

    KaTeX shortcode let you render math typesetting in markdown document. See KaTeX

    Example #

    {{< katex [display] [class="text-center"]  >}}
     f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi
     {{< /katex >}}
    -
    - +
    + \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\]

    Display Mode Example #

    Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] -Text continues here.

    Calendar +Text continues here.

    \ No newline at end of file diff --git a/docs/shortcodes/mermaid/index.html b/docs/shortcodes/mermaid/index.html index 4a410cb5..b103bbd0 100644 --- a/docs/shortcodes/mermaid/index.html +++ b/docs/shortcodes/mermaid/index.html @@ -1,15 +1,15 @@ -Mermaid | Visual Computing - -
    + Example # {{< mermaid [class="text-center"]>}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --> State2 note left of State2 : This is the note to the left.">Mermaid | Showcase Template + +
    Mermaid -

    Mermaid Chart +

    Mermaid Chart #

    MermaidJS is library for generating svg charts and diagrams from text.

    Override Mermaid Initialization Config

    To override the initialization config for Mermaid, create a mermaid.json file in your assets folder!

    Example #

    {{< mermaid [class="text-center"]>}}
    @@ -22,7 +22,7 @@
         State1 --> State2
         note left of State2 : This is the note to the left.
     {{< /mermaid >}}
    -
    +

    stateDiagram-v2 State1: The state with a note note right of State1 @@ -30,5 +30,5 @@ notes. end note State1 --> State2 -note left of State2 : This is the note to the left.

    \ No newline at end of file diff --git a/docs/shortcodes/p5/div/index.html b/docs/shortcodes/p5/div/index.html index 5ca230db..ba7503d3 100644 --- a/docs/shortcodes/p5/div/index.html +++ b/docs/shortcodes/p5/div/index.html @@ -1,21 +1,21 @@ -Div | Visual Computing - -
    +p5-div markdown {{< p5-div sketch="/showcase/sketches/scintillating.">Div | Showcase Template + +
    Div -

    p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.

    p5-div #

    {{< p5-div ver="1.4.1" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}}
     

    All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

    Scintillating grid -#

    Look at this and also this among many more references there are.

    p5-div markdown
    {{< p5-div sketch="/vc/sketches/scintillating.js" >}}
    +#

    Look at this and also this among many more references there are.

    p5-div markdown
    {{< p5-div sketch="/showcase/sketches/scintillating.js" >}}
     
    -

    p5-instance-div +

    p5-instance-div #

    {{< p5-instance-div id="sketchid" ver="1.4.1" lib1="https://cdntolib1/lib1.js" >}}
       // inline sketch code
     {{< /p5-instance-div >}}
    @@ -79,7 +79,7 @@
       p5.setup = function() {
         p5.createCanvas(710, 400);
         // specify multiple formats for different browsers
    -    fingers = p5.createVideo(['/vc/sketches/fingers.mov', '/vc/sketches/fingers.webm']);
    +    fingers = p5.createVideo(['/showcase/sketches/fingers.mov', '/showcase/sketches/fingers.webm']);
         fingers.hide(); // by default video shows up in separate dom
                         // element. hide it and draw it to the canvas instead    
       };
    @@ -96,5 +96,5 @@
       }
     {{< /p5-instance-div >}}
     
    Note that p5 should be the name to be used for the sketch object variable.
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/shortcodes/p5/iframe/index.html b/docs/shortcodes/p5/iframe/index.html index 611a2d5d..e1162b3a 100644 --- a/docs/shortcodes/p5/iframe/index.html +++ b/docs/shortcodes/p5/iframe/index.html @@ -1,18 +1,18 @@ -Iframe | Visual Computing - -
    +p5-iframe markdown {{< p5-iframe sketch="/showcase/sketches/colors.">Iframe | Showcase Template + +
    Iframe -

    p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.

    p5-iframe #

    {{< p5-iframe ver="1.4.1" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}}
     

    All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

    Color relativity -#

    Look at this brief explanation about what color relativity is.

    p5-iframe markdown
    {{< p5-iframe sketch="/vc/sketches/colors.js" width="725" height="425 >}}
    +#

    Look at this brief explanation about what color relativity is.

    p5-iframe markdown
    {{< p5-iframe sketch="/showcase/sketches/colors.js" width="725" height="425 >}}
     

    Third party libraries -#

    Example adapted from p5.EasyCam.

    p5-iframe markdown
    {{< p5-iframe sketch="/vc/sketches/quick_easycam.js" lib1="https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js" width="525" height="525" >}}
    +#

    Example adapted from p5.EasyCam.

    p5-iframe markdown
    {{< p5-iframe sketch="/showcase/sketches/quick_easycam.js" lib1="https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js" width="525" height="525" >}}
     

    Sound -#

    Example took from the p5 examples.

    p5-iframe markdown
    {{< p5-iframe sketch="/vc/sketches/sound.js" width="225" height="225" >}}
    +#

    Example took from the p5 examples.

    p5-iframe markdown
    {{< p5-iframe sketch="/showcase/sketches/sound.js" width="225" height="225" >}}
     
    \ No newline at end of file + ">

    p5-widget +#

    The p5-widget shortcode embed p5.js code within an p5-widget.

    {{< p5-widget autoplay=true height="400" width="400" ver="1.4.1" >}}
    +  // inline sketch code
    +{{< /p5-widget >}}
    +

    All parameters are optional. Default ver is 1.4.1. For example:

    Widget example +#

    {{< p5-widget autoplay=true height="400" width="400" ver="1.4.1" >}}
    +function setup() {
    +  createCanvas(300, 300);
    +}
    +
    +function draw() {
    +  background(255, 0, 255);
    +}
    +{{< /p5-widget >}}
    +
    +
    \ No newline at end of file diff --git a/docs/shortcodes/p5/index.html b/docs/shortcodes/p5/index.html index 3d7c73b6..f5bc69f9 100644 --- a/docs/shortcodes/p5/index.html +++ b/docs/shortcodes/p5/index.html @@ -1,17 +1,17 @@ -P5 | Visual Computing - - -
    +P5 | Showcase Template + + +
    P5 -

    p5 +

    p5 #

    p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.

    Types -#

    Div
    p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. +#
    Div
    p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{< p5-div ver="1.4.1" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. -p5-div markdown {{< p5-div sketch="/vc/sketches/scintillating.
    Iframe
    p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. +p5-div markdown {{< p5-div sketch="/showcase/sketches/scintillating.
    Iframe
    p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{< p5-iframe ver="1.4.1" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. -p5-iframe markdown {{< p5-iframe sketch="/vc/sketches/colors.
    \ No newline at end of file diff --git a/docs/shortcodes/p5/index.xml b/docs/shortcodes/p5/index.xml index 1fe4fc4d..f96da685 100644 --- a/docs/shortcodes/p5/index.xml +++ b/docs/shortcodes/p5/index.xml @@ -1,7 +1,7 @@ -Visual Computinghttps://visualcomputing.github.io/vc/docs/shortcodes/p5/Recent content on Visual ComputingHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. +<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Showcase Templatehttps://visualcomputing.github.io/showcase/docs/shortcodes/p5/Recent content on Showcase TemplateHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{&lt; p5-div ver=&#34;1.4.1&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. -p5-div markdown {{&lt; p5-div sketch=&#34;/vc/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. +p5-div markdown {{&lt; p5-div sketch=&#34;/showcase/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.1&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. -p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/vc/sketches/colors.</description></item></channel></rss> \ No newline at end of file +p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/showcase/sketches/colors.</description></item></channel></rss> \ No newline at end of file diff --git a/docs/shortcodes/tabs/index.html b/docs/shortcodes/tabs/index.html index a78ef180..a240e223 100644 --- a/docs/shortcodes/tabs/index.html +++ b/docs/shortcodes/tabs/index.html @@ -1,13 +1,13 @@ -<!doctype html><html lang=en dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +<!doctype html><html lang=en-us dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. {{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS # This is tab MacOS content. Lorem markdownum insigne. Olympo signis Delphis!"><meta name=theme-color content="#FFFFFF"><meta name=color-scheme content="light dark"><meta property="og:title" content><meta property="og:description" content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. {{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS # This is tab MacOS content. -Lorem markdownum insigne. Olympo signis Delphis!"><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/vc/docs/shortcodes/tabs/"><meta property="article:section" content="docs"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Tabs | Visual Computing - -
    +Lorem markdownum insigne. Olympo signis Delphis!">Tabs | Showcase Template + +
    Tabs -

    Tabs +

    Tabs #

    Tabs let you organize content by context, for example installation instructions for each supported platform.

    {{< tabs "uniqueid" >}}
     {{< tab "MacOS" >}} # MacOS Content {{< /tab >}}
     {{< tab "Linux" >}} # Linux Content {{< /tab >}}
    @@ -29,5 +29,5 @@
     #

    This is tab Windows content.

    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. -Miseratus fonte Ditis conubia.

    \ No newline at end of file diff --git a/en.search-data.min.305395e1fa15a277afb4494ff97231f23c3847b1f8f964bf64f7da8ed756ae2c.json b/en.search-data.min.305395e1fa15a277afb4494ff97231f23c3847b1f8f964bf64f7da8ed756ae2c.json deleted file mode 100644 index cd552cf0..00000000 --- a/en.search-data.min.305395e1fa15a277afb4494ff97231f23c3847b1f8f964bf64f7da8ed756ae2c.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":0,"href":"/vc/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":"Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026#34;michael d henderson\u0026#34; description = \u0026#34;a minimal working template\u0026#34; license = \u0026#34;MIT\u0026#34; name = \u0026#34;zafta\u0026#34; source_repo = \u0026#34;\u0026#34; tags = [\u0026#34;tags\u0026#34;, \u0026#34;categories\u0026#34;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026#34;YOUR_NAME_HERE\u0026#34; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026#34;zafta\u0026#34; baseurl = \u0026#34;\u0026#34; languageCode = \u0026#34;en-us\u0026#34; title = \u0026#34;zafta - totally refreshing\u0026#34; MetaDataFormat = \u0026#34;toml\u0026#34; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\n Hugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\n Purge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026#34;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026#34;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\n index.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026#34;\u0026#34; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:54:53-05:00\u0026#34; title = \u0026#34;first\u0026#34; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:57:09-05:00\u0026#34; title = \u0026#34;second\u0026#34; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;, \u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\n range .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/second/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/first/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026#34;about\u0026#34; description = \u0026#34;about this site\u0026#34; date = \u0026#34;2014-09-27\u0026#34; slug = \u0026#34;about time\u0026#34; +++ ## about us i\u0026#39;m speechless :wq Generate the web site and verify the results.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/theme/\u0026#34;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/about-time/\u0026#34;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/second-post/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/first-post/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026#34;page\u0026#34; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026#34;/:title/\u0026#34; about = \u0026#34;/:filename/\u0026#34; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026#34;theme/partials/header.html\u0026#34; . }} versus\n{{ partial \u0026#34;header.html\u0026#34; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026#34;page\u0026#34;) (eq .Type \u0026#34;about\u0026#34;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":1,"href":"/vc/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":"Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\n Change your submodule to point to map gh-pages to public instead of _site (recommended).\n git submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n { .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":2,"href":"/vc/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\n false 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n {{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026#34;Permalinks\u0026#34; date: \u0026#34;2013-11-18\u0026#34; aliases: - \u0026#34;/doc/permalinks/\u0026#34; groups: [\u0026#34;extras\u0026#34;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n {{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026#34;text-center\u0026#34;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026#34;twitter\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://twitter.com/{{.}}\u0026#34; rel=\u0026#34;author\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;/images/twitter.png\u0026#34; width=\u0026#34;48\u0026#34; height=\u0026#34;48\u0026#34; title=\u0026#34;Twitter: {{.}}\u0026#34; alt=\u0026#34;Twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026#34;recent\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026#34;{{.RelPermalink}}\u0026#34;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":3,"href":"/vc/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":"Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\n Clone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":4,"href":"/vc/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":"Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":5,"href":"/vc/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":"Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":6,"href":"/vc/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":"Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} {{\u0026lt; details title=\u0026#34;Title\u0026#34; open=true \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content # Lorem markdownum insigne\u0026hellip; "},{"id":7,"href":"/vc/docs/shortcodes/expand/","title":"Expand","section":"Shortcodes","content":"Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.\nExample # Default # {{\u0026lt; expand \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Expand ↕ Markdown content # Lorem markdownum insigne\u0026hellip; With Custom Label # {{\u0026lt; expand \u0026#34;Custom Label\u0026#34; \u0026#34;...\u0026#34; \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Custom Label ... Markdown content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/vc/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":"Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":9,"href":"/vc/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":"KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":10,"href":"/vc/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":"Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\n Example # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} mermaid.initialize({ \"flowchart\": { \"useMaxWidth\":true }, \"theme\": \"default\" } ) stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 -- State2 note left of State2 : This is the note to the left. "},{"id":11,"href":"/vc/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":"p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/vc/sketches/scintillating. Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/colors. "},{"id":12,"href":"/vc/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/vc/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.1\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(380, 380); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i 0; i-=1.5) { if (opc Video on canvas # Adapted from here. Don\u0026rsquo;t forget to checkout also the video on dom example.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;video\u0026#34; \u0026gt;}} let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo([\u0026#39;/vc/sketches/fingers.mov\u0026#39;, \u0026#39;/vc/sketches/fingers.webm\u0026#39;]); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo(['/vc/sketches/fingers.mov', '/vc/sketches/fingers.webm']); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } }, \"video\" ); "},{"id":13,"href":"/vc/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} \" Third party libraries # Example adapted from p5.EasyCam.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/quick_easycam.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js\u0026#34; width=\u0026#34;525\u0026#34; height=\u0026#34;525\u0026#34; \u0026gt;}} \" Sound # Example took from the p5 examples.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/vc/sketches/sound.js\u0026#34; width=\u0026#34;225\u0026#34; height=\u0026#34;225\u0026#34; \u0026gt;}} \" p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.1\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle \u0026#43;= speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } \" "},{"id":14,"href":"/vc/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":"Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS # This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux # This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows # This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n "}] \ No newline at end of file diff --git a/en.search-data.min.3ee16b273ace10c32ee365155a7d94114f786d47d017fe50cee0d173435ddac4.json b/en.search-data.min.3ee16b273ace10c32ee365155a7d94114f786d47d017fe50cee0d173435ddac4.json new file mode 100644 index 00000000..07ebb61b --- /dev/null +++ b/en.search-data.min.3ee16b273ace10c32ee365155a7d94114f786d47d017fe50cee0d173435ddac4.json @@ -0,0 +1 @@ +[{"id":0,"href":"/showcase/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":"Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026#34;michael d henderson\u0026#34; description = \u0026#34;a minimal working template\u0026#34; license = \u0026#34;MIT\u0026#34; name = \u0026#34;zafta\u0026#34; source_repo = \u0026#34;\u0026#34; tags = [\u0026#34;tags\u0026#34;, \u0026#34;categories\u0026#34;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026#34;YOUR_NAME_HERE\u0026#34; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026#34;zafta\u0026#34; baseurl = \u0026#34;\u0026#34; languageCode = \u0026#34;en-us\u0026#34; title = \u0026#34;zafta - totally refreshing\u0026#34; MetaDataFormat = \u0026#34;toml\u0026#34; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\n Hugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\n Purge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026#34;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026#34;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\n index.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026#34;\u0026#34; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:54:53-05:00\u0026#34; title = \u0026#34;first\u0026#34; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:57:09-05:00\u0026#34; title = \u0026#34;second\u0026#34; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;, \u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\n range .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/second/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/first/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026#34;about\u0026#34; description = \u0026#34;about this site\u0026#34; date = \u0026#34;2014-09-27\u0026#34; slug = \u0026#34;about time\u0026#34; +++ ## about us i\u0026#39;m speechless :wq Generate the web site and verify the results.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/theme/\u0026#34;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/about-time/\u0026#34;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/second-post/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/first-post/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026#34;page\u0026#34; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026#34;/:title/\u0026#34; about = \u0026#34;/:filename/\u0026#34; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026#34;theme/partials/header.html\u0026#34; . }} versus\n{{ partial \u0026#34;header.html\u0026#34; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026#34;page\u0026#34;) (eq .Type \u0026#34;about\u0026#34;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":1,"href":"/showcase/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":"Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\n Change your submodule to point to map gh-pages to public instead of _site (recommended).\n git submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n { .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":2,"href":"/showcase/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\n false 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n {{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026#34;Permalinks\u0026#34; date: \u0026#34;2013-11-18\u0026#34; aliases: - \u0026#34;/doc/permalinks/\u0026#34; groups: [\u0026#34;extras\u0026#34;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n {{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026#34;text-center\u0026#34;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026#34;twitter\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://twitter.com/{{.}}\u0026#34; rel=\u0026#34;author\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;/images/twitter.png\u0026#34; width=\u0026#34;48\u0026#34; height=\u0026#34;48\u0026#34; title=\u0026#34;Twitter: {{.}}\u0026#34; alt=\u0026#34;Twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026#34;recent\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026#34;{{.RelPermalink}}\u0026#34;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":3,"href":"/showcase/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":"Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\n Clone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":4,"href":"/showcase/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":"Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":5,"href":"/showcase/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":"Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":6,"href":"/showcase/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":"Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} {{\u0026lt; details title=\u0026#34;Title\u0026#34; open=true \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content # Lorem markdownum insigne\u0026hellip; "},{"id":7,"href":"/showcase/docs/shortcodes/expand/","title":"Expand","section":"Shortcodes","content":"Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.\nExample # Default # {{\u0026lt; expand \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Expand ↕ Markdown content # Lorem markdownum insigne\u0026hellip; With Custom Label # {{\u0026lt; expand \u0026#34;Custom Label\u0026#34; \u0026#34;...\u0026#34; \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Custom Label ... Markdown content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/showcase/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":"Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":9,"href":"/showcase/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":"KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":10,"href":"/showcase/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":"Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\n Example # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} mermaid.initialize({ \"flowchart\": { \"useMaxWidth\":true }, \"theme\": \"default\" } ) stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 -- State2 note left of State2 : This is the note to the left. "},{"id":11,"href":"/showcase/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":"p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating. Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors. "},{"id":12,"href":"/showcase/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.1\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(380, 380); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i 0; i-=1.5) { if (opc Video on canvas # Adapted from here. Don\u0026rsquo;t forget to checkout also the video on dom example.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;video\u0026#34; \u0026gt;}} let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo([\u0026#39;/showcase/sketches/fingers.mov\u0026#39;, \u0026#39;/showcase/sketches/fingers.webm\u0026#39;]); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo(['/showcase/sketches/fingers.mov', '/showcase/sketches/fingers.webm']); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } }, \"video\" ); "},{"id":13,"href":"/showcase/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} \" Third party libraries # Example adapted from p5.EasyCam.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/quick_easycam.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js\u0026#34; width=\u0026#34;525\u0026#34; height=\u0026#34;525\u0026#34; \u0026gt;}} \" Sound # Example took from the p5 examples.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/sound.js\u0026#34; width=\u0026#34;225\u0026#34; height=\u0026#34;225\u0026#34; \u0026gt;}} \" p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.1\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle \u0026#43;= speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } \" p5-widget # The p5-widget shortcode embed p5.js code within an p5-widget.\n{{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.4.1\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-widget \u0026gt;}} All parameters are optional. Default ver is 1.4.1. For example:\nWidget example # {{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.4.1\u0026#34; \u0026gt;}} function setup() { createCanvas(300, 300); } function draw() { background(255, 0, 255); } {{\u0026lt; /p5-widget \u0026gt;}} function setup() { createCanvas(300, 300); } function draw() { background(255, 0, 255); } "},{"id":14,"href":"/showcase/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":"Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS # This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux # This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows # This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n "}] \ No newline at end of file diff --git a/en.search.min.a1b55e710b597c6e810a85449a92d8d96b940bdb8e8e3f412b16abc5a2148bf6.js b/en.search.min.a1b55e710b597c6e810a85449a92d8d96b940bdb8e8e3f412b16abc5a2148bf6.js deleted file mode 100644 index af0eb6ea..00000000 --- a/en.search.min.a1b55e710b597c6e810a85449a92d8d96b940bdb8e8e3f412b16abc5a2148bf6.js +++ /dev/null @@ -1 +0,0 @@ -'use strict';(function(){const a="/vc/en.search-data.min.305395e1fa15a277afb4494ff97231f23c3847b1f8f964bf64f7da8ed756ae2c.json",r=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",o);function o(t){if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!i(n))return;e.focus(),t.preventDefault()}function i(t){const n=e.getAttribute("data-hotkeys")||'';return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(a).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",r),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(t){const e=document.createElement("div");return e.innerHTML=t,e.firstChild}})() \ No newline at end of file diff --git a/en.search.min.eb53c068e0d326ec8968aca9dfa950a5be310a216dd7d557f8642823f255951e.js b/en.search.min.eb53c068e0d326ec8968aca9dfa950a5be310a216dd7d557f8642823f255951e.js new file mode 100644 index 00000000..6291977e --- /dev/null +++ b/en.search.min.eb53c068e0d326ec8968aca9dfa950a5be310a216dd7d557f8642823f255951e.js @@ -0,0 +1 @@ +'use strict';(function(){const a="/showcase/en.search-data.min.3ee16b273ace10c32ee365155a7d94114f786d47d017fe50cee0d173435ddac4.json",r=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",o);function o(t){if(t.target.value!==void 0)return;if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!i(n))return;e.focus(),t.preventDefault()}function i(t){const n=e.getAttribute("data-hotkeys")||'';return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(a).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",r),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(t){const e=document.createElement("div");return e.innerHTML=t,e.firstChild}})() \ No newline at end of file diff --git a/index.html b/index.html index 6b2616b9..21ab3be1 100644 --- a/index.html +++ b/index.html @@ -1,21 +1,17 @@ -Introduction | Visual Computing - - -
    +Introduction | Showcase Template + + +
    Introduction -

    Visual Computing Template -#

    Welcome to the UN / DISI visual computing course template site.

    Goal -#

    To study the process of creation and manipulation of a digital image of a modern visual application, using current hardware.

    Methodology -#

    Active-learning using free-software to develop:

    Grading -#

    Workshops blog posts-like reports produced with gohugo and p5.js and having a basic research structure:

    • Problem statement
    • Background
    • Code (solution) & results
    • Conclusions & future work

    Outline -#

    Refer to the visual computing site.

    Hacking -#

    Install the gohugo static site generator then:

    $git clone https://github.com/VisualComputing/vc
    -$cd vc
    +

    Showcase Template +#

    Welcome to the gohugo template to create rich content academic reports having p5.js sketches.

    Hacking +#

    Install the gohugo static site generator then:

    $git clone https://github.com/VisualComputing/showcase
    +$cd showcase
     $git submodule update --init --recursive
     $hugo server -D --disableFastRender
    -

    Deploy with $git push after redefined baseURL in config.toml which should point to your actual public remote.

    The vc template uses the hugo-book theme by default. Check the hugo themes site if you wish to add other ones.
    If you forked the repo don’t forget to activate the actions.
    If you changed the repo name don’t forget to update all the js related (both sketches and assets) urls.
    \ No newline at end of file +

    Deploy with $git push after redefined baseURL in config.toml which should point to your actual public remote.

    The showcase template uses the hugo-book theme by default. Check the hugo themes site if you wish to add other ones.
    If you forked the repo don’t forget to activate the actions.
    If you changed the repo name don’t forget to update all the js related (both sketches and assets) urls.
    \ No newline at end of file diff --git a/index.xml b/index.xml index 466207c1..00f1adfd 100644 --- a/index.xml +++ b/index.xml @@ -1,28 +1,28 @@ -Introduction on Visual Computinghttps://visualcomputing.github.io/vc/Recent content in Introduction on Visual ComputingHugo -- gohugo.ioen-usCreating a New Themehttps://visualcomputing.github.io/vc/posts/creating-a-new-theme/Sun, 28 Sep 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/creating-a-new-theme/Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme. -We&rsquo;ll start with creating a new site with a very basic template.Migrate to Hugo from Jekyllhttps://visualcomputing.github.io/vc/posts/migrate-from-jekyll/Mon, 10 Mar 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/migrate-from-jekyll/Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like +Introduction on Showcase Templatehttps://visualcomputing.github.io/showcase/Recent content in Introduction on Showcase TemplateHugo -- gohugo.ioen-usCreating a New Themehttps://visualcomputing.github.io/showcase/posts/creating-a-new-theme/Sun, 28 Sep 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme. +We&rsquo;ll start with creating a new site with a very basic template.Migrate to Hugo from Jekyllhttps://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/Mon, 10 Mar 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like ▾ &lt;root&gt;/ ▾ images/ logo.png should become -▾ &lt;root&gt;/ ▾ static/ ▾ images/ logo.png Additionally, you&rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. -This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +▾ &lt;root&gt;/ ▾ static/ ▾ images/ logo.png Additionally, you&rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.(Hu)go Template Primerhttps://visualcomputing.github.io/showcase/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/showcase/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. -Follow the following steps:<link>https://visualcomputing.github.io/vc/docs/shortcodes/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/buttons/</guid><description>Buttons # Buttons are styled links that can lead to local page or external link. -Example # {{&lt; button relref=&#34;/&#34; [class=&#34;...&#34;] &gt;}}Get Home{{&lt; /button &gt;}} {{&lt; button href=&#34;https://github.com/alex-shpak/hugo-book&#34; &gt;}}Contribute{{&lt; /button &gt;}} Get Home Contribute</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/columns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/columns/</guid><description>Columns # Columns help organize shorter pieces of content horizontally for readability. -{{&lt; columns &gt;}} &lt;!-- begin columns block --&gt; # Left Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Mid Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Right Content Lorem markdownum insigne... {{&lt; /columns &gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis!</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/details/</guid><description>Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode. -Example # {{&lt; details &#34;Title&#34; [open] &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} {{&lt; details title=&#34;Title&#34; open=true &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} Title Markdown content # Lorem markdownum insigne&hellip;</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/expand/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/expand/</guid><description>Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it. -Example # Default # {{&lt; expand &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /expand &gt;}} Expand ↕ Markdown content # Lorem markdownum insigne&hellip; With Custom Label # {{&lt; expand &#34;Custom Label&#34; &#34;...&#34; &gt;}} ## Markdown content Lorem markdownum insigne.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/hints/</guid><description>Hints # Hint shortcode can be used as hint/alerts/notification block. +Follow the following steps:</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/</guid><description>Buttons # Buttons are styled links that can lead to local page or external link. +Example # {{&lt; button relref=&#34;/&#34; [class=&#34;...&#34;] &gt;}}Get Home{{&lt; /button &gt;}} {{&lt; button href=&#34;https://github.com/alex-shpak/hugo-book&#34; &gt;}}Contribute{{&lt; /button &gt;}} Get Home Contribute</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/columns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/columns/</guid><description>Columns # Columns help organize shorter pieces of content horizontally for readability. +{{&lt; columns &gt;}} &lt;!-- begin columns block --&gt; # Left Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Mid Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Right Content Lorem markdownum insigne... {{&lt; /columns &gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis!</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/details/</guid><description>Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode. +Example # {{&lt; details &#34;Title&#34; [open] &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} {{&lt; details title=&#34;Title&#34; open=true &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} Title Markdown content # Lorem markdownum insigne&hellip;</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/expand/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/expand/</guid><description>Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it. +Example # Default # {{&lt; expand &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /expand &gt;}} Expand ↕ Markdown content # Lorem markdownum insigne&hellip; With Custom Label # {{&lt; expand &#34;Custom Label&#34; &#34;...&#34; &gt;}} ## Markdown content Lorem markdownum insigne.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/hints/</guid><description>Hints # Hint shortcode can be used as hint/alerts/notification block. There are 3 colors to choose: info, warning and danger. {{&lt; hint [info|warning|danger] &gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{&lt; /hint &gt;}} Example # Markdown content -Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/katex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/katex/</guid><description>KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX -Example # {{&lt; katex [display] [class=&#34;text-center&#34;] &gt;}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{&lt; /katex &gt;}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/mermaid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/mermaid/</guid><description>Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text. +Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/katex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/katex/</guid><description>KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX +Example # {{&lt; katex [display] [class=&#34;text-center&#34;] &gt;}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{&lt; /katex &gt;}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/</guid><description>Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text. Override Mermaid Initialization Config To override the initialization config for Mermaid, create a mermaid.json file in your assets folder! -Example # {{&lt; mermaid [class=&#34;text-center&#34;]&gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --&gt; State2 note left of State2 : This is the note to the left.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. +Example # {{&lt; mermaid [class=&#34;text-center&#34;]&gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --&gt; State2 note left of State2 : This is the note to the left.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{&lt; p5-div ver=&#34;1.4.1&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. -p5-div markdown {{&lt; p5-div sketch=&#34;/vc/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. +p5-div markdown {{&lt; p5-div sketch=&#34;/showcase/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.1&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. -p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/vc/sketches/colors.</description></item><item><title/><link>https://visualcomputing.github.io/vc/docs/shortcodes/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/vc/docs/shortcodes/tabs/</guid><description>Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/showcase/sketches/colors.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/</guid><description>Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. {{&lt; tabs &#34;uniqueid&#34; &gt;}} {{&lt; tab &#34;MacOS&#34; &gt;}} # MacOS Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Linux&#34; &gt;}} # Linux Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Windows&#34; &gt;}} # Windows Content {{&lt; /tab &gt;}} {{&lt; /tabs &gt;}} Example # MacOS MacOS # This is tab MacOS content. Lorem markdownum insigne. Olympo signis Delphis!</description></item></channel></rss> \ No newline at end of file diff --git a/manifest.json b/manifest.json index 3c502fb1..eee49f24 100644 --- a/manifest.json +++ b/manifest.json @@ -1,14 +1,14 @@ { - "name": "Visual Computing", - "short_name": "Visual Computing", - "start_url": "/vc/", - "scope": "/vc/", + "name": "Showcase Template", + "short_name": "Showcase Template", + "start_url": "/showcase/", + "scope": "/showcase/", "display": "standalone", "background_color": "#000000", "theme_color": "#000000", "icons": [ { - "src": "/vc/favicon.svg", + "src": "/showcase/favicon.svg", "sizes": "512x512" } ] diff --git a/posts/creating-a-new-theme/index.html b/posts/creating-a-new-theme/index.html index b2b71729..0db04d65 100644 --- a/posts/creating-a-new-theme/index.html +++ b/posts/creating-a-new-theme/index.html @@ -1,11 +1,11 @@ -<!doctype html><html lang=en dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. +<!doctype html><html lang=en-us dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. We’ll start with creating a new site with a very basic template."><meta name=theme-color content="#FFFFFF"><meta name=color-scheme content="light dark"><meta property="og:title" content="Creating a New Theme"><meta property="og:description" content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template."><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/vc/posts/creating-a-new-theme/"><meta property="article:section" content="posts"><meta property="article:published_time" content="2014-09-28T00:00:00+00:00"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Creating a New Theme | Visual Computing - -
    +We’ll start with creating a new site with a very basic template.">Creating a New Theme | Showcase Template + +

    Creating a New Theme

    September 28, 2014

    Introduction #

    This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme.

    We’ll start with creating a new site with a very basic template. Then we’ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.

    In this tutorial, commands that you enter will start with the “$” prompt. The output will follow. Lines that start with “#” are comments that I’ve added to explain a point. When I show updates to a file, the “:wq” on the last line means to save the file.

    Here’s an example:

    ## this is a comment
     $ echo this is a command
     this is a command
    @@ -647,5 +647,5 @@
     {{ partial "footer.html" . }}
     :wq
     

    Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn’t.

    Don’t Repeat Yourself -#

    DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you’re figuring that out, accept that you’ll be doing some refactoring. Hugo makes that easy and fast, so it’s okay to delay splitting up a template.

    \ No newline at end of file diff --git a/posts/goisforlovers/index.html b/posts/goisforlovers/index.html index efa11b23..94b53466 100644 --- a/posts/goisforlovers/index.html +++ b/posts/goisforlovers/index.html @@ -1,16 +1,16 @@ -(Hu)go Template Primer | Visual Computing - -
    +This document is a brief primer on using Go templates.">(Hu)go Template Primer | Showcase Template + +

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other @@ -159,5 +159,5 @@ <li><a href="{{.RelPermalink}}">{{.Title}}</a></li> {{end}}</ul> </nav> -

    \ No newline at end of file diff --git a/posts/hugoisforlovers/index.html b/posts/hugoisforlovers/index.html index c6bb1df1..15d6cd0f 100644 --- a/posts/hugoisforlovers/index.html +++ b/posts/hugoisforlovers/index.html @@ -1,4 +1,4 @@ -Getting Started with Hugo | Visual Computing - -
    +Follow the following steps:">Getting Started with Hugo | Showcase Template + +

    Getting Started with Hugo

    April 2, 2014

    Step 1. Install Hugo #

    Go to Hugo releases and download the appropriate version for your OS and architecture.

    Save it somewhere specific as we will be using it in the next step.

    More complete instructions are available at Install Hugo

    Step 2. Build the Docs #

    Hugo has its own example site which happens to also be the documentation site @@ -45,5 +45,5 @@ > in 26 ms

    Refresh the browser and observe that the typo is now fixed.

    Notice how quick that was. Try to refresh the site before it’s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.

    Step 4. Have fun -#

    The best way to learn something is to play with it.

    \ No newline at end of file diff --git a/posts/index.html b/posts/index.html index 5246bc1b..884338f7 100644 --- a/posts/index.html +++ b/posts/index.html @@ -1,45 +1,45 @@ -Blog | Visual Computing - - -
    +Blog | Showcase Template + + +
    Blog -

    Creating a New Theme

    September 28, 2014

    Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. +

    Creating a New Theme

    September 28, 2014

    Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. We’ll start with creating a new site with a very basic template. -...

    Migrate to Hugo from Jekyll

    March 10, 2014

    Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like +...

    Migrate to Hugo from Jekyll

    March 10, 2014

    Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like ▾ <root>/ ▾ images/ logo.png should become ▾ <root>/ ▾ static/ ▾ images/ logo.png Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static. -...

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +...

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    Getting Started with Hugo

    April 2, 2014

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file diff --git a/posts/index.xml b/posts/index.xml index 4c8b9d2a..b151032e 100644 --- a/posts/index.xml +++ b/posts/index.xml @@ -1,8 +1,8 @@ -Blog on Visual Computinghttps://visualcomputing.github.io/vc/posts/Recent content in Blog on Visual ComputingHugo -- gohugo.ioen-usCreating a New Themehttps://visualcomputing.github.io/vc/posts/creating-a-new-theme/Sun, 28 Sep 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/creating-a-new-theme/Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme. -We&rsquo;ll start with creating a new site with a very basic template.Migrate to Hugo from Jekyllhttps://visualcomputing.github.io/vc/posts/migrate-from-jekyll/Mon, 10 Mar 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/migrate-from-jekyll/Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like +Blog on Showcase Templatehttps://visualcomputing.github.io/showcase/posts/Recent content in Blog on Showcase TemplateHugo -- gohugo.ioen-usCreating a New Themehttps://visualcomputing.github.io/showcase/posts/creating-a-new-theme/Sun, 28 Sep 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme. +We&rsquo;ll start with creating a new site with a very basic template.Migrate to Hugo from Jekyllhttps://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/Mon, 10 Mar 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like ▾ &lt;root&gt;/ ▾ images/ logo.png should become -▾ &lt;root&gt;/ ▾ static/ ▾ images/ logo.png Additionally, you&rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. -This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +▾ &lt;root&gt;/ ▾ static/ ▾ images/ logo.png Additionally, you&rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.(Hu)go Template Primerhttps://visualcomputing.github.io/showcase/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/showcase/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. diff --git a/posts/migrate-from-jekyll/index.html b/posts/migrate-from-jekyll/index.html index a85f31f5..4a93206d 100644 --- a/posts/migrate-from-jekyll/index.html +++ b/posts/migrate-from-jekyll/index.html @@ -1,13 +1,13 @@ -Migrate to Hugo from Jekyll | Visual Computing - -
    +▾ / ▾ static/ ▾ images/ logo.png Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static.">Migrate to Hugo from Jekyll | Showcase Template + +

    Migrate to Hugo from Jekyll

    March 10, 2014

    Move static content to static #

    Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like

    ▾ <root>/
         ▾ images/
    @@ -107,5 +107,5 @@
     #

    Fix content #

    Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.

    Clean up #

    You’ll want to remove the Jekyll configuration at this point. If you have anything else that isn’t used, delete it.

    A practical example in a diff -#

    Hey, it’s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.

    \ No newline at end of file diff --git a/posts/page/1/index.html b/posts/page/1/index.html index 215fa794..18d4b3fa 100644 --- a/posts/page/1/index.html +++ b/posts/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/posts/ \ No newline at end of file +https://visualcomputing.github.io/showcase/posts/ \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 89abe9d5..1913c2a6 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://visualcomputing.github.io/vc/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/details/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/expand/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/katex/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/mermaid/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/div/2022-03-15T17:17:31-05:00https://visualcomputing.github.io/vc/docs/shortcodes/p5/iframe/2022-03-15T17:17:31-05:00https://visualcomputing.github.io/vc/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/vc/docs/2022-03-15T17:17:31-05:00https://visualcomputing.github.io/vc/2022-03-14T06:49:59-05:00 \ No newline at end of file +https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/expand/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-03-18T15:30:54-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-03-18T15:30:54-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-03-18T15:30:54-05:00https://visualcomputing.github.io/showcase/2022-03-18T15:30:54-05:00 \ No newline at end of file diff --git a/sketches/depthmap.js b/sketches/depthmap.js index dcd08b44..a0c0e1d8 100644 --- a/sketches/depthmap.js +++ b/sketches/depthmap.js @@ -5,7 +5,7 @@ var near, far; var easycam; function preload() { - depthShader = loadShader('/vc/sketches/shader.vert', '/vc/sketches/depthmap.frag'); + depthShader = loadShader('/showcase/sketches/shader.vert', '/showcase/sketches/depthmap.frag'); } function setup () { diff --git a/sketches/sound.js b/sketches/sound.js index 3c7a154f..eaf69b23 100644 --- a/sketches/sound.js +++ b/sketches/sound.js @@ -42,7 +42,7 @@ function setup() { // Load the sound file. // We have included both an MP3 and an OGG version. soundFormats('mp3', 'ogg'); - dingdong = loadSound('/vc/sketches/doorbell.mp3'); + dingdong = loadSound('/showcase/sketches/doorbell.mp3'); // Create a new doorbell doorbell = new Doorbell(width / 2, height / 2, 32); diff --git a/sketches/video-canvas.js b/sketches/video-canvas.js index b25522f2..1935df69 100644 --- a/sketches/video-canvas.js +++ b/sketches/video-canvas.js @@ -3,7 +3,7 @@ let fingers; function setup() { createCanvas(710, 400); // specify multiple formats for different browsers - fingers = createVideo(['/vc/sketches/fingers.mov', '/vc/sketches/fingers.webm']); + fingers = createVideo(['/showcase/sketches/fingers.mov', '/showcase/sketches/fingers.webm']); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas // instead diff --git a/sketches/video-dom.js b/sketches/video-dom.js index 96a79687..bc457a6a 100644 --- a/sketches/video-dom.js +++ b/sketches/video-dom.js @@ -3,7 +3,7 @@ function setup() { noCanvas(); vid = createVideo( - ['/vc/sketches/fingers.mov', '/vc/sketches/fingers.webm'], + ['/showcase/sketches/fingers.mov', '/showcase/sketches/fingers.webm'], vidLoad ); diff --git a/tags/development/index.html b/tags/development/index.html index 182e6ec0..d645aaed 100644 --- a/tags/development/index.html +++ b/tags/development/index.html @@ -1,39 +1,39 @@ -development | Visual Computing - - -
    +development | Showcase Template + + +
    development -

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    Getting Started with Hugo

    April 2, 2014

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file diff --git a/tags/development/index.xml b/tags/development/index.xml index cfd99166..63cb6526 100644 --- a/tags/development/index.xml +++ b/tags/development/index.xml @@ -1,5 +1,5 @@ -development on Visual Computinghttps://visualcomputing.github.io/vc/tags/development/Recent content in development on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. -This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +development on Showcase Templatehttps://visualcomputing.github.io/showcase/tags/development/Recent content in development on Showcase TemplateHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/showcase/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/showcase/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. diff --git a/tags/development/page/1/index.html b/tags/development/page/1/index.html index eb5036bd..64f05235 100644 --- a/tags/development/page/1/index.html +++ b/tags/development/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/tags/development/ \ No newline at end of file +https://visualcomputing.github.io/showcase/tags/development/ \ No newline at end of file diff --git a/tags/go/index.html b/tags/go/index.html index 6259859e..879a25bc 100644 --- a/tags/go/index.html +++ b/tags/go/index.html @@ -1,39 +1,39 @@ -go | Visual Computing - - -
    +go | Showcase Template + + +
    go -

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    Getting Started with Hugo

    April 2, 2014

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file diff --git a/tags/go/index.xml b/tags/go/index.xml index a6c26a78..74cd5b7f 100644 --- a/tags/go/index.xml +++ b/tags/go/index.xml @@ -1,5 +1,5 @@ -go on Visual Computinghttps://visualcomputing.github.io/vc/tags/go/Recent content in go on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. -This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +go on Showcase Templatehttps://visualcomputing.github.io/showcase/tags/go/Recent content in go on Showcase TemplateHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/showcase/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/showcase/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. diff --git a/tags/go/page/1/index.html b/tags/go/page/1/index.html index e346737d..df0fb8b1 100644 --- a/tags/go/page/1/index.html +++ b/tags/go/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/tags/go/ \ No newline at end of file +https://visualcomputing.github.io/showcase/tags/go/ \ No newline at end of file diff --git a/tags/golang/index.html b/tags/golang/index.html index 4be51bf6..aa86a584 100644 --- a/tags/golang/index.html +++ b/tags/golang/index.html @@ -1,39 +1,39 @@ -golang | Visual Computing - - -
    +golang | Showcase Template + + +
    golang -

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    Getting Started with Hugo

    April 2, 2014

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file diff --git a/tags/golang/index.xml b/tags/golang/index.xml index 2a7b3ce1..a693db3f 100644 --- a/tags/golang/index.xml +++ b/tags/golang/index.xml @@ -1,5 +1,5 @@ -golang on Visual Computinghttps://visualcomputing.github.io/vc/tags/golang/Recent content in golang on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. -This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +golang on Showcase Templatehttps://visualcomputing.github.io/showcase/tags/golang/Recent content in golang on Showcase TemplateHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/showcase/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +This document is a brief primer on using Go templates.Getting Started with Hugohttps://visualcomputing.github.io/showcase/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. diff --git a/tags/golang/page/1/index.html b/tags/golang/page/1/index.html index 9f11a49c..c460132e 100644 --- a/tags/golang/page/1/index.html +++ b/tags/golang/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/tags/golang/ \ No newline at end of file +https://visualcomputing.github.io/showcase/tags/golang/ \ No newline at end of file diff --git a/tags/hugo/index.html b/tags/hugo/index.html index 28f468c5..76241063 100644 --- a/tags/hugo/index.html +++ b/tags/hugo/index.html @@ -1,32 +1,32 @@ -hugo | Visual Computing - - -
    +hugo | Showcase Template + + +
    hugo -

    Getting Started with Hugo

    April 2, 2014

    Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file diff --git a/tags/hugo/index.xml b/tags/hugo/index.xml index 6a9c550e..d01ddeeb 100644 --- a/tags/hugo/index.xml +++ b/tags/hugo/index.xml @@ -1,4 +1,4 @@ -hugo on Visual Computinghttps://visualcomputing.github.io/vc/tags/hugo/Recent content in hugo on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000Getting Started with Hugohttps://visualcomputing.github.io/vc/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. +hugo on Showcase Templatehttps://visualcomputing.github.io/showcase/tags/hugo/Recent content in hugo on Showcase TemplateHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000Getting Started with Hugohttps://visualcomputing.github.io/showcase/posts/hugoisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/hugoisforlovers/Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. diff --git a/tags/hugo/page/1/index.html b/tags/hugo/page/1/index.html index d8a212a8..227c214c 100644 --- a/tags/hugo/page/1/index.html +++ b/tags/hugo/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/tags/hugo/ \ No newline at end of file +https://visualcomputing.github.io/showcase/tags/hugo/ \ No newline at end of file diff --git a/tags/index.html b/tags/index.html index 74f6331d..365a18b5 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1,23 +1,23 @@ -Tags | Visual Computing - - -
    +Tags | Showcase Template + + +
    Tags -

    go

    April 2, 2014

    go

    April 2, 2014

    \ No newline at end of file diff --git a/tags/index.xml b/tags/index.xml index a9679ee4..e9d66066 100644 --- a/tags/index.xml +++ b/tags/index.xml @@ -1 +1 @@ -Tags on Visual Computinghttps://visualcomputing.github.io/vc/tags/Recent content in Tags on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000developmenthttps://visualcomputing.github.io/vc/tags/development/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/tags/development/gohttps://visualcomputing.github.io/vc/tags/go/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/tags/go/golanghttps://visualcomputing.github.io/vc/tags/golang/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/tags/golang/hugohttps://visualcomputing.github.io/vc/tags/hugo/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/tags/hugo/templateshttps://visualcomputing.github.io/vc/tags/templates/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/tags/templates/themeshttps://visualcomputing.github.io/vc/tags/themes/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/tags/themes/ \ No newline at end of file +Tags on Showcase Templatehttps://visualcomputing.github.io/showcase/tags/Recent content in Tags on Showcase TemplateHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000developmenthttps://visualcomputing.github.io/showcase/tags/development/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/tags/development/gohttps://visualcomputing.github.io/showcase/tags/go/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/tags/go/golanghttps://visualcomputing.github.io/showcase/tags/golang/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/tags/golang/hugohttps://visualcomputing.github.io/showcase/tags/hugo/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/tags/hugo/templateshttps://visualcomputing.github.io/showcase/tags/templates/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/tags/templates/themeshttps://visualcomputing.github.io/showcase/tags/themes/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/tags/themes/ \ No newline at end of file diff --git a/tags/page/1/index.html b/tags/page/1/index.html index 91dd454d..7b7c8ac3 100644 --- a/tags/page/1/index.html +++ b/tags/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/tags/ \ No newline at end of file +https://visualcomputing.github.io/showcase/tags/ \ No newline at end of file diff --git a/tags/templates/index.html b/tags/templates/index.html index 0a84b2bf..8b155488 100644 --- a/tags/templates/index.html +++ b/tags/templates/index.html @@ -1,30 +1,30 @@ -templates | Visual Computing - - -
    +templates | Showcase Template + + +
    templates -

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    \ No newline at end of file diff --git a/tags/templates/index.xml b/tags/templates/index.xml index 680aad38..c76b3443 100644 --- a/tags/templates/index.xml +++ b/tags/templates/index.xml @@ -1,2 +1,2 @@ -templates on Visual Computinghttps://visualcomputing.github.io/vc/tags/templates/Recent content in templates on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +templates on Showcase Templatehttps://visualcomputing.github.io/showcase/tags/templates/Recent content in templates on Showcase TemplateHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/showcase/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. \ No newline at end of file diff --git a/tags/templates/page/1/index.html b/tags/templates/page/1/index.html index 498ae4a5..73a682b6 100644 --- a/tags/templates/page/1/index.html +++ b/tags/templates/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/tags/templates/ \ No newline at end of file +https://visualcomputing.github.io/showcase/tags/templates/ \ No newline at end of file diff --git a/tags/themes/index.html b/tags/themes/index.html index 348dab73..ec075eeb 100644 --- a/tags/themes/index.html +++ b/tags/themes/index.html @@ -1,30 +1,30 @@ -themes | Visual Computing - - -
    +themes | Showcase Template + + +
    themes -

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +

    (Hu)go Template Primer

    April 2, 2014

    Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. -...

    \ No newline at end of file diff --git a/tags/themes/index.xml b/tags/themes/index.xml index f5a37d5f..ca95bea1 100644 --- a/tags/themes/index.xml +++ b/tags/themes/index.xml @@ -1,2 +1,2 @@ -themes on Visual Computinghttps://visualcomputing.github.io/vc/tags/themes/Recent content in themes on Visual ComputingHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/vc/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/vc/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. +themes on Showcase Templatehttps://visualcomputing.github.io/showcase/tags/themes/Recent content in themes on Showcase TemplateHugo -- gohugo.ioen-usWed, 02 Apr 2014 00:00:00 +0000(Hu)go Template Primerhttps://visualcomputing.github.io/showcase/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. This document is a brief primer on using Go templates. \ No newline at end of file diff --git a/tags/themes/page/1/index.html b/tags/themes/page/1/index.html index 8b263d01..7165f79e 100644 --- a/tags/themes/page/1/index.html +++ b/tags/themes/page/1/index.html @@ -1 +1 @@ -https://visualcomputing.github.io/vc/tags/themes/ \ No newline at end of file +https://visualcomputing.github.io/showcase/tags/themes/ \ No newline at end of file From 3a5e1ce2fd47f75087a1cb32e2792ea6a574b3db Mon Sep 17 00:00:00 2001 From: nakednous Date: Sat, 13 Aug 2022 17:16:50 +0000 Subject: [PATCH 22/49] deploy: abdcfa7963719ab3410f0c342395167fdad09972 --- 404.html | 2 +- categories/Development/index.html | 6 +- categories/golang/index.html | 6 +- categories/index.html | 6 +- docs/index.html | 6 +- docs/shortcodes/buttons/index.html | 14 +- docs/shortcodes/columns/index.html | 14 +- docs/shortcodes/details/index.html | 19 +-- docs/shortcodes/expand/index.html | 28 --- docs/shortcodes/hints/index.html | 18 +- docs/shortcodes/index.html | 8 +- docs/shortcodes/index.xml | 7 +- docs/shortcodes/katex/index.html | 17 +- docs/shortcodes/mermaid/index.html | 35 ++-- docs/shortcodes/p5/div/index.html | 161 +++++++++--------- docs/shortcodes/p5/iframe/index.html | 123 +++++++------ docs/shortcodes/p5/index.html | 16 +- docs/shortcodes/p5/index.xml | 4 +- docs/shortcodes/tabs/index.html | 16 +- ...d94114f786d47d017fe50cee0d173435ddac4.json | 1 - ...a0e8aaa75e8e152f09c6615536e658a8d2ab2.json | 1 + ...2e5f4a1a62747cd4383d7ca44278fd3b0c8fe8c.js | 2 +- index.html | 12 +- index.xml | 11 +- manifest.json | 6 +- posts/creating-a-new-theme/index.html | 12 +- posts/goisforlovers/index.html | 8 +- posts/hugoisforlovers/index.html | 16 +- posts/index.html | 8 +- posts/migrate-from-jekyll/index.html | 18 +- sitemap.xml | 2 +- tags/development/index.html | 6 +- tags/go/index.html | 6 +- tags/golang/index.html | 6 +- tags/hugo/index.html | 6 +- tags/index.html | 6 +- tags/templates/index.html | 6 +- tags/themes/index.html | 6 +- 38 files changed, 301 insertions(+), 344 deletions(-) delete mode 100644 docs/shortcodes/expand/index.html delete mode 100644 en.search-data.min.3ee16b273ace10c32ee365155a7d94114f786d47d017fe50cee0d173435ddac4.json create mode 100644 en.search-data.min.da31f6452d5f11446e7aed16308a0e8aaa75e8e152f09c6615536e658a8d2ab2.json rename en.search.min.eb53c068e0d326ec8968aca9dfa950a5be310a216dd7d557f8642823f255951e.js => en.search.min.dffb8e3960a2999282617f36e2e5f4a1a62747cd4383d7ca44278fd3b0c8fe8c.js (76%) diff --git a/404.html b/404.html index 07684b2f..62cb29e0 100644 --- a/404.html +++ b/404.html @@ -1,2 +1,2 @@ 404 Page not found | Showcase Template -

    404

    Page Not Found

    Showcase Template

    \ No newline at end of file +

    404

    Page Not Found

    Showcase Template

    \ No newline at end of file diff --git a/categories/Development/index.html b/categories/Development/index.html index e36274b9..d4988cd6 100644 --- a/categories/Development/index.html +++ b/categories/Development/index.html @@ -1,7 +1,7 @@ Development | Showcase Template - + -
    \ No newline at end of file diff --git a/docs/shortcodes/buttons/index.html b/docs/shortcodes/buttons/index.html index 7ff5adae..07f32f99 100644 --- a/docs/shortcodes/buttons/index.html +++ b/docs/shortcodes/buttons/index.html @@ -1,8 +1,8 @@ -Buttons | Showcase Template - -
    \ No newline at end of file diff --git a/docs/shortcodes/columns/index.html b/docs/shortcodes/columns/index.html index 1ddb7b84..567a8034 100644 --- a/docs/shortcodes/columns/index.html +++ b/docs/shortcodes/columns/index.html @@ -1,8 +1,8 @@ -Columns | Showcase Template - -
    \ No newline at end of file +Miseratus fonte Ditis conubia.
    \ No newline at end of file diff --git a/docs/shortcodes/details/index.html b/docs/shortcodes/details/index.html index 1b78e735..eb2ce6f0 100644 --- a/docs/shortcodes/details/index.html +++ b/docs/shortcodes/details/index.html @@ -1,8 +1,8 @@ -Details | Showcase Template - -
    \ No newline at end of file +#

    Lorem markdownum insigne…

    Title

    Markdown content +#

    Lorem markdownum insigne…

    \ No newline at end of file diff --git a/docs/shortcodes/expand/index.html b/docs/shortcodes/expand/index.html deleted file mode 100644 index a0012cb5..00000000 --- a/docs/shortcodes/expand/index.html +++ /dev/null @@ -1,28 +0,0 @@ -Expand | Showcase Template - -
    -Expand -

    Expand -#

    Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.

    Example -#

    Default -#

    {{< expand >}}
    -## Markdown content
    -Lorem markdownum insigne...
    -{{< /expand >}}
    -

    With Custom Label -#

    {{< expand "Custom Label" "..." >}}
    -## Markdown content
    -Lorem markdownum insigne...
    -{{< /expand >}}
    -
    \ No newline at end of file diff --git a/docs/shortcodes/hints/index.html b/docs/shortcodes/hints/index.html index df078398..5bce090a 100644 --- a/docs/shortcodes/hints/index.html +++ b/docs/shortcodes/hints/index.html @@ -1,12 +1,12 @@ -Hints | Showcase Template - -
    \ No newline at end of file diff --git a/docs/shortcodes/index.html b/docs/shortcodes/index.html index 1b9f00c2..6d5f9b27 100644 --- a/docs/shortcodes/index.html +++ b/docs/shortcodes/index.html @@ -1,8 +1,8 @@ Shortcodes | Showcase Template - + -
    \ No newline at end of file diff --git a/docs/shortcodes/index.xml b/docs/shortcodes/index.xml index ddd75962..a7892b5f 100644 --- a/docs/shortcodes/index.xml +++ b/docs/shortcodes/index.xml @@ -1,8 +1,7 @@ -Showcase Templatehttps://visualcomputing.github.io/showcase/docs/shortcodes/Recent content on Showcase TemplateHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/</guid><description>Buttons # Buttons are styled links that can lead to local page or external link. +<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Showcase Templatehttps://visualcomputing.github.io/showcase/docs/shortcodes/Recent content on Showcase TemplateHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/</guid><description> Buttons # Buttons are styled links that can lead to local page or external link. Example # {{&lt; button relref=&#34;/&#34; [class=&#34;...&#34;] &gt;}}Get Home{{&lt; /button &gt;}} {{&lt; button href=&#34;https://github.com/alex-shpak/hugo-book&#34; &gt;}}Contribute{{&lt; /button &gt;}} Get Home Contribute</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/columns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/columns/</guid><description>Columns # Columns help organize shorter pieces of content horizontally for readability. -{{&lt; columns &gt;}} &lt;!-- begin columns block --&gt; # Left Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Mid Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Right Content Lorem markdownum insigne... {{&lt; /columns &gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis!</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/details/</guid><description>Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode. -Example # {{&lt; details &#34;Title&#34; [open] &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} {{&lt; details title=&#34;Title&#34; open=true &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} Title Markdown content # Lorem markdownum insigne&hellip;</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/expand/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/expand/</guid><description>Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it. -Example # Default # {{&lt; expand &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /expand &gt;}} Expand ↕ Markdown content # Lorem markdownum insigne&hellip; With Custom Label # {{&lt; expand &#34;Custom Label&#34; &#34;...&#34; &gt;}} ## Markdown content Lorem markdownum insigne.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/hints/</guid><description>Hints # Hint shortcode can be used as hint/alerts/notification block. +{{&lt; columns &gt;}} &lt;!-- begin columns block --&gt; # Left Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Mid Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Right Content Lorem markdownum insigne... {{&lt; /columns &gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter!</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/details/</guid><description> Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode. +Example # {{&lt; details &#34;Title&#34; [open] &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} Title Markdown content # Lorem markdownum insigne&hellip; Title Markdown content # Lorem markdownum insigne&hellip;</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/hints/</guid><description>Hints # Hint shortcode can be used as hint/alerts/notification block. There are 3 colors to choose: info, warning and danger. {{&lt; hint [info|warning|danger] &gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{&lt; /hint &gt;}} Example # Markdown content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/katex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/katex/</guid><description>KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX diff --git a/docs/shortcodes/katex/index.html b/docs/shortcodes/katex/index.html index 2d57fd7b..83815bfc 100644 --- a/docs/shortcodes/katex/index.html +++ b/docs/shortcodes/katex/index.html @@ -1,20 +1,19 @@ -<!doctype html><html lang=en-us dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX -Example # {{< katex [display] [class="text-center"] >}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{< /katex >}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here."><meta name=theme-color content="#FFFFFF"><meta name=color-scheme content="light dark"><meta property="og:title" content><meta property="og:description" content="KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX -Example # {{< katex [display] [class="text-center"] >}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{< /katex >}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here."><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/showcase/docs/shortcodes/katex/"><meta property="article:section" content="docs"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Katex | Showcase Template - -
    \ No newline at end of file +Text continues here.

    \ No newline at end of file diff --git a/docs/shortcodes/mermaid/index.html b/docs/shortcodes/mermaid/index.html index b103bbd0..b5c97485 100644 --- a/docs/shortcodes/mermaid/index.html +++ b/docs/shortcodes/mermaid/index.html @@ -1,28 +1,27 @@ -Mermaid | Showcase Template - -
    \ No newline at end of file diff --git a/docs/shortcodes/p5/div/index.html b/docs/shortcodes/p5/div/index.html index ba7503d3..69f0fda5 100644 --- a/docs/shortcodes/p5/div/index.html +++ b/docs/shortcodes/p5/div/index.html @@ -1,100 +1,97 @@ Div | Showcase Template - -
    \ No newline at end of file diff --git a/docs/shortcodes/p5/iframe/index.html b/docs/shortcodes/p5/iframe/index.html index e1162b3a..2122ed8d 100644 --- a/docs/shortcodes/p5/iframe/index.html +++ b/docs/shortcodes/p5/iframe/index.html @@ -1,24 +1,23 @@ Iframe | Showcase Template - -
    \ No newline at end of file diff --git a/docs/shortcodes/p5/index.html b/docs/shortcodes/p5/index.html index f5bc69f9..d58926fe 100644 --- a/docs/shortcodes/p5/index.html +++ b/docs/shortcodes/p5/index.html @@ -1,17 +1,17 @@ -P5 | Showcase Template - +P5 | Showcase Template + -
    \ No newline at end of file diff --git a/docs/shortcodes/p5/index.xml b/docs/shortcodes/p5/index.xml index f96da685..dfeffe2f 100644 --- a/docs/shortcodes/p5/index.xml +++ b/docs/shortcodes/p5/index.xml @@ -1,7 +1,7 @@ Showcase Templatehttps://visualcomputing.github.io/showcase/docs/shortcodes/p5/Recent content on Showcase TemplateHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. -p5-div # {{&lt; p5-div ver=&#34;1.4.1&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +p5-div # {{&lt; p5-div ver=&#34;1.4.2&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{&lt; p5-div sketch=&#34;/showcase/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. -p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.1&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.2&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/showcase/sketches/colors.</description></item></channel></rss> \ No newline at end of file diff --git a/docs/shortcodes/tabs/index.html b/docs/shortcodes/tabs/index.html index a240e223..e1330d2b 100644 --- a/docs/shortcodes/tabs/index.html +++ b/docs/shortcodes/tabs/index.html @@ -1,10 +1,10 @@ -<!doctype html><html lang=en-us dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. -{{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS # This is tab MacOS content. -Lorem markdownum insigne. Olympo signis Delphis!"><meta name=theme-color content="#FFFFFF"><meta name=color-scheme content="light dark"><meta property="og:title" content><meta property="og:description" content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. -{{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS # This is tab MacOS content. +<!doctype html><html lang=en-us dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +{{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS # This is tab MacOS content. +Lorem markdownum insigne. Olympo signis Delphis!"><meta name=theme-color content="#FFFFFF"><meta name=color-scheme content="light dark"><meta property="og:title" content><meta property="og:description" content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +{{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS # This is tab MacOS content. Lorem markdownum insigne. Olympo signis Delphis!"><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/"><meta property="article:section" content="docs"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Tabs | Showcase Template - -
    \ No newline at end of file +Miseratus fonte Ditis conubia.

    \ No newline at end of file diff --git a/en.search-data.min.3ee16b273ace10c32ee365155a7d94114f786d47d017fe50cee0d173435ddac4.json b/en.search-data.min.3ee16b273ace10c32ee365155a7d94114f786d47d017fe50cee0d173435ddac4.json deleted file mode 100644 index 07ebb61b..00000000 --- a/en.search-data.min.3ee16b273ace10c32ee365155a7d94114f786d47d017fe50cee0d173435ddac4.json +++ /dev/null @@ -1 +0,0 @@ -[{"id":0,"href":"/showcase/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":"Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026#34;michael d henderson\u0026#34; description = \u0026#34;a minimal working template\u0026#34; license = \u0026#34;MIT\u0026#34; name = \u0026#34;zafta\u0026#34; source_repo = \u0026#34;\u0026#34; tags = [\u0026#34;tags\u0026#34;, \u0026#34;categories\u0026#34;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026#34;YOUR_NAME_HERE\u0026#34; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026#34;zafta\u0026#34; baseurl = \u0026#34;\u0026#34; languageCode = \u0026#34;en-us\u0026#34; title = \u0026#34;zafta - totally refreshing\u0026#34; MetaDataFormat = \u0026#34;toml\u0026#34; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\n Hugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\n Purge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026#34;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026#34;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\n index.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026#34;\u0026#34; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:54:53-05:00\u0026#34; title = \u0026#34;first\u0026#34; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:57:09-05:00\u0026#34; title = \u0026#34;second\u0026#34; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;, \u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\n range .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/second/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/first/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026#34;about\u0026#34; description = \u0026#34;about this site\u0026#34; date = \u0026#34;2014-09-27\u0026#34; slug = \u0026#34;about time\u0026#34; +++ ## about us i\u0026#39;m speechless :wq Generate the web site and verify the results.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/theme/\u0026#34;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/about-time/\u0026#34;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/second-post/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/first-post/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026#34;page\u0026#34; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026#34;/:title/\u0026#34; about = \u0026#34;/:filename/\u0026#34; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026#34;theme/partials/header.html\u0026#34; . }} versus\n{{ partial \u0026#34;header.html\u0026#34; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026#34;page\u0026#34;) (eq .Type \u0026#34;about\u0026#34;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":1,"href":"/showcase/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":"Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\n Change your submodule to point to map gh-pages to public instead of _site (recommended).\n git submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n { .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":2,"href":"/showcase/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\n false 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n {{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026#34;Permalinks\u0026#34; date: \u0026#34;2013-11-18\u0026#34; aliases: - \u0026#34;/doc/permalinks/\u0026#34; groups: [\u0026#34;extras\u0026#34;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n {{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026#34;text-center\u0026#34;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026#34;twitter\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://twitter.com/{{.}}\u0026#34; rel=\u0026#34;author\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;/images/twitter.png\u0026#34; width=\u0026#34;48\u0026#34; height=\u0026#34;48\u0026#34; title=\u0026#34;Twitter: {{.}}\u0026#34; alt=\u0026#34;Twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026#34;recent\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026#34;{{.RelPermalink}}\u0026#34;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":3,"href":"/showcase/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":"Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\n Clone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":4,"href":"/showcase/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":"Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":5,"href":"/showcase/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":"Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":6,"href":"/showcase/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":"Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} {{\u0026lt; details title=\u0026#34;Title\u0026#34; open=true \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content # Lorem markdownum insigne\u0026hellip; "},{"id":7,"href":"/showcase/docs/shortcodes/expand/","title":"Expand","section":"Shortcodes","content":"Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.\nExample # Default # {{\u0026lt; expand \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Expand ↕ Markdown content # Lorem markdownum insigne\u0026hellip; With Custom Label # {{\u0026lt; expand \u0026#34;Custom Label\u0026#34; \u0026#34;...\u0026#34; \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /expand \u0026gt;}} Custom Label ... Markdown content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/showcase/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":"Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":9,"href":"/showcase/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":"KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":10,"href":"/showcase/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":"Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\n Example # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} mermaid.initialize({ \"flowchart\": { \"useMaxWidth\":true }, \"theme\": \"default\" } ) stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 -- State2 note left of State2 : This is the note to the left. "},{"id":11,"href":"/showcase/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":"p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating. Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors. "},{"id":12,"href":"/showcase/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.1\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(380, 380); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i 0; i-=1.5) { if (opc Video on canvas # Adapted from here. Don\u0026rsquo;t forget to checkout also the video on dom example.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;video\u0026#34; \u0026gt;}} let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo([\u0026#39;/showcase/sketches/fingers.mov\u0026#39;, \u0026#39;/showcase/sketches/fingers.webm\u0026#39;]); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. new p5((p5) = { let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo(['/showcase/sketches/fingers.mov', '/showcase/sketches/fingers.webm']); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } }, \"video\" ); "},{"id":13,"href":"/showcase/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.1\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} \" Third party libraries # Example adapted from p5.EasyCam.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/quick_easycam.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js\u0026#34; width=\u0026#34;525\u0026#34; height=\u0026#34;525\u0026#34; \u0026gt;}} \" Sound # Example took from the p5 examples.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/sound.js\u0026#34; width=\u0026#34;225\u0026#34; height=\u0026#34;225\u0026#34; \u0026gt;}} \" p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.1\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle \u0026#43;= speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } \" p5-widget # The p5-widget shortcode embed p5.js code within an p5-widget.\n{{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.4.1\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-widget \u0026gt;}} All parameters are optional. Default ver is 1.4.1. For example:\nWidget example # {{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.4.1\u0026#34; \u0026gt;}} function setup() { createCanvas(300, 300); } function draw() { background(255, 0, 255); } {{\u0026lt; /p5-widget \u0026gt;}} function setup() { createCanvas(300, 300); } function draw() { background(255, 0, 255); } "},{"id":14,"href":"/showcase/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":"Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS # This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux # This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows # This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n "}] \ No newline at end of file diff --git a/en.search-data.min.da31f6452d5f11446e7aed16308a0e8aaa75e8e152f09c6615536e658a8d2ab2.json b/en.search-data.min.da31f6452d5f11446e7aed16308a0e8aaa75e8e152f09c6615536e658a8d2ab2.json new file mode 100644 index 00000000..5891083e --- /dev/null +++ b/en.search-data.min.da31f6452d5f11446e7aed16308a0e8aaa75e8e152f09c6615536e658a8d2ab2.json @@ -0,0 +1 @@ +[{"id":0,"href":"/showcase/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":" Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026#34;michael d henderson\u0026#34; description = \u0026#34;a minimal working template\u0026#34; license = \u0026#34;MIT\u0026#34; name = \u0026#34;zafta\u0026#34; source_repo = \u0026#34;\u0026#34; tags = [\u0026#34;tags\u0026#34;, \u0026#34;categories\u0026#34;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026#34;YOUR_NAME_HERE\u0026#34; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026#34;zafta\u0026#34; baseurl = \u0026#34;\u0026#34; languageCode = \u0026#34;en-us\u0026#34; title = \u0026#34;zafta - totally refreshing\u0026#34; MetaDataFormat = \u0026#34;toml\u0026#34; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\nHugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\nPurge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026#34;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026#34;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\nindex.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026#34;\u0026#34; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:54:53-05:00\u0026#34; title = \u0026#34;first\u0026#34; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:57:09-05:00\u0026#34; title = \u0026#34;second\u0026#34; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;, \u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\nrange .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/second/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/first/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026#34;about\u0026#34; description = \u0026#34;about this site\u0026#34; date = \u0026#34;2014-09-27\u0026#34; slug = \u0026#34;about time\u0026#34; +++ ## about us i\u0026#39;m speechless :wq Generate the web site and verify the results.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/theme/\u0026#34;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/about-time/\u0026#34;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/second-post/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/first-post/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026#34;page\u0026#34; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026#34;/:title/\u0026#34; about = \u0026#34;/:filename/\u0026#34; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026#34;theme/partials/header.html\u0026#34; . }} versus\n{{ partial \u0026#34;header.html\u0026#34; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026#34;page\u0026#34;) (eq .Type \u0026#34;about\u0026#34;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":1,"href":"/showcase/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":" Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\nChange your submodule to point to map gh-pages to public instead of _site (recommended).\ngit submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n{ .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":2,"href":"/showcase/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\nfalse 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n{{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026#34;Permalinks\u0026#34; date: \u0026#34;2013-11-18\u0026#34; aliases: - \u0026#34;/doc/permalinks/\u0026#34; groups: [\u0026#34;extras\u0026#34;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n{{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026#34;text-center\u0026#34;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026#34;twitter\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://twitter.com/{{.}}\u0026#34; rel=\u0026#34;author\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;/images/twitter.png\u0026#34; width=\u0026#34;48\u0026#34; height=\u0026#34;48\u0026#34; title=\u0026#34;Twitter: {{.}}\u0026#34; alt=\u0026#34;Twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026#34;recent\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026#34;{{.RelPermalink}}\u0026#34;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":3,"href":"/showcase/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":" Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\nClone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":4,"href":"/showcase/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":" Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":5,"href":"/showcase/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":" Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":6,"href":"/showcase/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":" Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content # Lorem markdownum insigne\u0026hellip; Title Markdown content # Lorem markdownum insigne\u0026hellip; "},{"id":7,"href":"/showcase/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":" Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":8,"href":"/showcase/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":" KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":9,"href":"/showcase/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":" Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\nExample # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u003e State2 note left of State2 : This is the note to the left. "},{"id":10,"href":"/showcase/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":" p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.2\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating. Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.2\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors. "},{"id":11,"href":"/showcase/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.2\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.2\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. Video on canvas # Adapted from here. Don\u0026rsquo;t forget to checkout also the video on dom example.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;video\u0026#34; \u0026gt;}} let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo([\u0026#39;/showcase/sketches/fingers.mov\u0026#39;, \u0026#39;/showcase/sketches/fingers.webm\u0026#39;]); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. "},{"id":12,"href":"/showcase/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.2\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} Third party libraries # Example adapted from p5.EasyCam.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/quick_easycam.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js\u0026#34; width=\u0026#34;525\u0026#34; height=\u0026#34;525\u0026#34; \u0026gt;}} Sound # Example took from the p5 examples.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/sound.js\u0026#34; width=\u0026#34;225\u0026#34; height=\u0026#34;225\u0026#34; \u0026gt;}} p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.2\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} p5-widget # The p5-widget shortcode embed p5.js code within an p5-widget.\n{{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.4.2\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-widget \u0026gt;}} All parameters are optional. Default ver is 1.4.2. For example:\nWidget example # p5-widget markdown {{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.4.2\u0026#34; \u0026gt;}} function setup() { createCanvas(300, 300); } function draw() { background(255, 0, 255); } {{\u0026lt; /p5-widget \u0026gt;}} "},{"id":13,"href":"/showcase/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":" Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS # This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux # This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows # This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n"}] \ No newline at end of file diff --git a/en.search.min.eb53c068e0d326ec8968aca9dfa950a5be310a216dd7d557f8642823f255951e.js b/en.search.min.dffb8e3960a2999282617f36e2e5f4a1a62747cd4383d7ca44278fd3b0c8fe8c.js similarity index 76% rename from en.search.min.eb53c068e0d326ec8968aca9dfa950a5be310a216dd7d557f8642823f255951e.js rename to en.search.min.dffb8e3960a2999282617f36e2e5f4a1a62747cd4383d7ca44278fd3b0c8fe8c.js index 6291977e..d89b93c2 100644 --- a/en.search.min.eb53c068e0d326ec8968aca9dfa950a5be310a216dd7d557f8642823f255951e.js +++ b/en.search.min.dffb8e3960a2999282617f36e2e5f4a1a62747cd4383d7ca44278fd3b0c8fe8c.js @@ -1 +1 @@ -'use strict';(function(){const a="/showcase/en.search-data.min.3ee16b273ace10c32ee365155a7d94114f786d47d017fe50cee0d173435ddac4.json",r=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",o);function o(t){if(t.target.value!==void 0)return;if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!i(n))return;e.focus(),t.preventDefault()}function i(t){const n=e.getAttribute("data-hotkeys")||'';return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(a).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",r),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(t){const e=document.createElement("div");return e.innerHTML=t,e.firstChild}})() \ No newline at end of file +"use strict";(function(){const a="/showcase/en.search-data.min.da31f6452d5f11446e7aed16308a0e8aaa75e8e152f09c6615536e658a8d2ab2.json",r=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",o);function o(t){if(t.target.value!==void 0)return;if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!i(n))return;e.focus(),t.preventDefault()}function i(t){const n=e.getAttribute("data-hotkeys")||"";return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(a).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",r),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(e){const t=document.createElement("div");return t.innerHTML=e,t.firstChild}})() \ No newline at end of file diff --git a/index.html b/index.html index 21ab3be1..c3040726 100644 --- a/index.html +++ b/index.html @@ -1,10 +1,10 @@ -Introduction | Showcase Template - + -
    \ No newline at end of file +

    Deploy with $git push after redefined baseURL in config.toml which should point to your actual public remote.

    The showcase template uses the hugo-book theme by default. Check the hugo themes site if you wish to add other ones.
    If you forked the repo don’t forget to activate the actions.
    If you changed the repo name don’t forget to update all the js related (both sketches and assets) urls.
    \ No newline at end of file diff --git a/index.xml b/index.xml index 00f1adfd..f0a7ae87 100644 --- a/index.xml +++ b/index.xml @@ -6,11 +6,10 @@ This document is a brief primer on using Go templates.
    <link>https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/</guid><description>Buttons # Buttons are styled links that can lead to local page or external link. +Follow the following steps:</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/</guid><description> Buttons # Buttons are styled links that can lead to local page or external link. Example # {{&lt; button relref=&#34;/&#34; [class=&#34;...&#34;] &gt;}}Get Home{{&lt; /button &gt;}} {{&lt; button href=&#34;https://github.com/alex-shpak/hugo-book&#34; &gt;}}Contribute{{&lt; /button &gt;}} Get Home Contribute</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/columns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/columns/</guid><description>Columns # Columns help organize shorter pieces of content horizontally for readability. -{{&lt; columns &gt;}} &lt;!-- begin columns block --&gt; # Left Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Mid Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Right Content Lorem markdownum insigne... {{&lt; /columns &gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis!</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/details/</guid><description>Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode. -Example # {{&lt; details &#34;Title&#34; [open] &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} {{&lt; details title=&#34;Title&#34; open=true &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} Title Markdown content # Lorem markdownum insigne&hellip;</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/expand/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/expand/</guid><description>Expand # Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it. -Example # Default # {{&lt; expand &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /expand &gt;}} Expand ↕ Markdown content # Lorem markdownum insigne&hellip; With Custom Label # {{&lt; expand &#34;Custom Label&#34; &#34;...&#34; &gt;}} ## Markdown content Lorem markdownum insigne.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/hints/</guid><description>Hints # Hint shortcode can be used as hint/alerts/notification block. +{{&lt; columns &gt;}} &lt;!-- begin columns block --&gt; # Left Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Mid Content Lorem markdownum insigne... &lt;---&gt; &lt;!-- magic separator, between columns --&gt; # Right Content Lorem markdownum insigne... {{&lt; /columns &gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter!</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/details/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/details/</guid><description> Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode. +Example # {{&lt; details &#34;Title&#34; [open] &gt;}} ## Markdown content Lorem markdownum insigne... {{&lt; /details &gt;}} Title Markdown content # Lorem markdownum insigne&hellip; Title Markdown content # Lorem markdownum insigne&hellip;</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/hints/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/hints/</guid><description>Hints # Hint shortcode can be used as hint/alerts/notification block. There are 3 colors to choose: info, warning and danger. {{&lt; hint [info|warning|danger] &gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{&lt; /hint &gt;}} Example # Markdown content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/katex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/katex/</guid><description>KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX @@ -18,10 +17,10 @@ Example # {{&lt; katex [display] [class=&#34;text-center&#34;] & Override Mermaid Initialization Config To override the initialization config for Mermaid, create a mermaid.json file in your assets folder! Example # {{&lt; mermaid [class=&#34;text-center&#34;]&gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --&gt; State2 note left of State2 : This is the note to the left.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. -p5-div # {{&lt; p5-div ver=&#34;1.4.1&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +p5-div # {{&lt; p5-div ver=&#34;1.4.2&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{&lt; p5-div sketch=&#34;/showcase/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. -p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.1&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.2&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/showcase/sketches/colors.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/</guid><description>Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. {{&lt; tabs &#34;uniqueid&#34; &gt;}} {{&lt; tab &#34;MacOS&#34; &gt;}} # MacOS Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Linux&#34; &gt;}} # Linux Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Windows&#34; &gt;}} # Windows Content {{&lt; /tab &gt;}} {{&lt; /tabs &gt;}} Example # MacOS MacOS # This is tab MacOS content. diff --git a/manifest.json b/manifest.json index eee49f24..386878dc 100644 --- a/manifest.json +++ b/manifest.json @@ -1,14 +1,14 @@ { "name": "Showcase Template", "short_name": "Showcase Template", - "start_url": "/showcase/", - "scope": "/showcase/", + "start_url": "/", + "scope": "/", "display": "standalone", "background_color": "#000000", "theme_color": "#000000", "icons": [ { - "src": "/showcase/favicon.svg", + "src": "/favicon.svg", "sizes": "512x512" } ] diff --git a/posts/creating-a-new-theme/index.html b/posts/creating-a-new-theme/index.html index 0db04d65..fc7ed5de 100644 --- a/posts/creating-a-new-theme/index.html +++ b/posts/creating-a-new-theme/index.html @@ -1,8 +1,8 @@ -<!doctype html><html lang=en-us dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. -We’ll start with creating a new site with a very basic template."><meta name=theme-color content="#FFFFFF"><meta name=color-scheme content="light dark"><meta property="og:title" content="Creating a New Theme"><meta property="og:description" content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. +<!doctype html><html lang=en-us dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. +We’ll start with creating a new site with a very basic template."><meta name=theme-color content="#FFFFFF"><meta name=color-scheme content="light dark"><meta property="og:title" content="Creating a New Theme"><meta property="og:description" content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. We’ll start with creating a new site with a very basic template."><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/"><meta property="article:section" content="posts"><meta property="article:published_time" content="2014-09-28T00:00:00+00:00"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Creating a New Theme | Showcase Template - -
    \ No newline at end of file diff --git a/posts/goisforlovers/index.html b/posts/goisforlovers/index.html index 94b53466..5ba9d1b5 100644 --- a/posts/goisforlovers/index.html +++ b/posts/goisforlovers/index.html @@ -1,8 +1,8 @@ (Hu)go Template Primer | Showcase Template - -
    \ No newline at end of file diff --git a/posts/hugoisforlovers/index.html b/posts/hugoisforlovers/index.html index 15d6cd0f..bf3d204e 100644 --- a/posts/hugoisforlovers/index.html +++ b/posts/hugoisforlovers/index.html @@ -1,14 +1,14 @@ -Getting Started with Hugo | Showcase Template - -
    \ No newline at end of file diff --git a/posts/index.html b/posts/index.html index 884338f7..4b987578 100644 --- a/posts/index.html +++ b/posts/index.html @@ -1,7 +1,7 @@ Blog | Showcase Template - + -
    \ No newline at end of file +#
    If you renamed the repo, say to newreponame, don’t forget to update all url references of the markdown and js file sources, to reflect that change, i.e., look within all content folder files for showcase occurrences and replace them by newreponame.
    If you forked the repo don’t forget to activate the actions.
    Don’t forget to select the gh-pages branch as the one to serve your site from at the pages section of your repo configuration page, if it is no so by default.
    The showcase template uses the hugo-book theme by default. Check the hugo themes site if you wish to add other ones.
    \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 5b1625cf..1d67706d 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/2022-08-21T06:23:29-05:00 \ No newline at end of file +https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/2022-08-23T12:58:31-05:00 \ No newline at end of file From c423c42f8cd84033b726f94808d9ab191b5f17a4 Mon Sep 17 00:00:00 2001 From: nakednous Date: Thu, 1 Sep 2022 11:27:10 +0000 Subject: [PATCH 32/49] deploy: 968a2b4fdb1b9d1c6871126d85eaabce387076f8 --- 404.html | 2 +- categories/Development/index.html | 2 +- categories/golang/index.html | 2 +- categories/index.html | 2 +- docs/index.html | 2 +- docs/shortcodes/buttons/index.html | 2 +- docs/shortcodes/columns/index.html | 2 +- docs/shortcodes/details/index.html | 2 +- docs/shortcodes/hints/index.html | 2 +- docs/shortcodes/index.html | 2 +- docs/shortcodes/katex/index.html | 2 +- docs/shortcodes/mermaid/index.html | 2 +- docs/shortcodes/p5/div/index.html | 2 +- docs/shortcodes/p5/iframe/index.html | 2 +- docs/shortcodes/p5/index.html | 2 +- docs/shortcodes/tabs/index.html | 2 +- ...6a8198a8022eed89b8603f76f4c041dac327ac4bd81629055bbe1eb.js | 2 +- index.html | 4 ++-- posts/creating-a-new-theme/index.html | 2 +- posts/goisforlovers/index.html | 2 +- posts/hugoisforlovers/index.html | 2 +- posts/index.html | 2 +- posts/migrate-from-jekyll/index.html | 2 +- tags/development/index.html | 2 +- tags/go/index.html | 2 +- tags/golang/index.html | 2 +- tags/hugo/index.html | 2 +- tags/index.html | 2 +- tags/templates/index.html | 2 +- tags/themes/index.html | 2 +- 30 files changed, 31 insertions(+), 31 deletions(-) rename en.search.min.dffb8e3960a2999282617f36e2e5f4a1a62747cd4383d7ca44278fd3b0c8fe8c.js => en.search.min.3bc3926246a8198a8022eed89b8603f76f4c041dac327ac4bd81629055bbe1eb.js (61%) diff --git a/404.html b/404.html index 62cb29e0..0771029e 100644 --- a/404.html +++ b/404.html @@ -1,2 +1,2 @@ 404 Page not found | Showcase Template -

    404

    Page Not Found

    Showcase Template

    \ No newline at end of file +

    404

    Page Not Found

    Showcase Template

    \ No newline at end of file diff --git a/categories/Development/index.html b/categories/Development/index.html index d4988cd6..7841e8e5 100644 --- a/categories/Development/index.html +++ b/categories/Development/index.html @@ -1,5 +1,5 @@ Development | Showcase Template - +
    diff --git a/categories/golang/index.html b/categories/golang/index.html index 9aae0ce3..2305a4d9 100644 --- a/categories/golang/index.html +++ b/categories/golang/index.html @@ -1,5 +1,5 @@ golang | Showcase Template - +
    diff --git a/categories/index.html b/categories/index.html index 85df48fd..daa6b719 100644 --- a/categories/index.html +++ b/categories/index.html @@ -1,5 +1,5 @@ Categories | Showcase Template - +
    diff --git a/docs/index.html b/docs/index.html index d567879b..818bac06 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,5 +1,5 @@ Docs | Showcase Template - +
    diff --git a/docs/shortcodes/buttons/index.html b/docs/shortcodes/buttons/index.html index 07f32f99..c9e94c23 100644 --- a/docs/shortcodes/buttons/index.html +++ b/docs/shortcodes/buttons/index.html @@ -1,7 +1,7 @@ Buttons | Showcase Template - +
    Buttons diff --git a/docs/shortcodes/columns/index.html b/docs/shortcodes/columns/index.html index 567a8034..11ab40de 100644 --- a/docs/shortcodes/columns/index.html +++ b/docs/shortcodes/columns/index.html @@ -1,7 +1,7 @@ Columns | Showcase Template - +
    Columns diff --git a/docs/shortcodes/details/index.html b/docs/shortcodes/details/index.html index eb2ce6f0..cd345b92 100644 --- a/docs/shortcodes/details/index.html +++ b/docs/shortcodes/details/index.html @@ -1,7 +1,7 @@ Details | Showcase Template - +
    Details diff --git a/docs/shortcodes/hints/index.html b/docs/shortcodes/hints/index.html index 5bce090a..e8626bae 100644 --- a/docs/shortcodes/hints/index.html +++ b/docs/shortcodes/hints/index.html @@ -5,7 +5,7 @@ There are 3 colors to choose: info, warning and danger. {{< hint [info|warning|danger] >}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{< /hint >}} Example # Markdown content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content">Hints | Showcase Template - +
    Hints diff --git a/docs/shortcodes/index.html b/docs/shortcodes/index.html index 6d5f9b27..9977cfa9 100644 --- a/docs/shortcodes/index.html +++ b/docs/shortcodes/index.html @@ -1,5 +1,5 @@ Shortcodes | Showcase Template - +
    diff --git a/docs/shortcodes/katex/index.html b/docs/shortcodes/katex/index.html index 83815bfc..d9837875 100644 --- a/docs/shortcodes/katex/index.html +++ b/docs/shortcodes/katex/index.html @@ -1,7 +1,7 @@ Katex | Showcase Template - +
    Katex diff --git a/docs/shortcodes/mermaid/index.html b/docs/shortcodes/mermaid/index.html index b5c97485..33fb4eb6 100644 --- a/docs/shortcodes/mermaid/index.html +++ b/docs/shortcodes/mermaid/index.html @@ -5,7 +5,7 @@ Override Mermaid Initialization Config To override the initialization config for Mermaid, create a mermaid.json file in your assets folder! Example # {{< mermaid [class="text-center"]>}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --> State2 note left of State2 : This is the note to the left.">Mermaid | Showcase Template - +
    Mermaid diff --git a/docs/shortcodes/p5/div/index.html b/docs/shortcodes/p5/div/index.html index 69f0fda5..47409282 100644 --- a/docs/shortcodes/p5/div/index.html +++ b/docs/shortcodes/p5/div/index.html @@ -5,7 +5,7 @@ p5-div # {{< p5-div ver="1.4.2" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{< p5-div sketch="/showcase/sketches/scintillating.">Div | Showcase Template - +
    Div diff --git a/docs/shortcodes/p5/iframe/index.html b/docs/shortcodes/p5/iframe/index.html index 2122ed8d..bc99721f 100644 --- a/docs/shortcodes/p5/iframe/index.html +++ b/docs/shortcodes/p5/iframe/index.html @@ -5,7 +5,7 @@ p5-iframe # {{< p5-iframe ver="1.4.2" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{< p5-iframe sketch="/showcase/sketches/colors.">Iframe | Showcase Template - +
    Iframe diff --git a/docs/shortcodes/p5/index.html b/docs/shortcodes/p5/index.html index d58926fe..e8d34f35 100644 --- a/docs/shortcodes/p5/index.html +++ b/docs/shortcodes/p5/index.html @@ -1,6 +1,6 @@ P5 | Showcase Template - +
    diff --git a/docs/shortcodes/tabs/index.html b/docs/shortcodes/tabs/index.html index e1330d2b..271352ff 100644 --- a/docs/shortcodes/tabs/index.html +++ b/docs/shortcodes/tabs/index.html @@ -3,7 +3,7 @@ Lorem markdownum insigne. Olympo signis Delphis!">Tabs | Showcase Template - +
    Tabs diff --git a/en.search.min.dffb8e3960a2999282617f36e2e5f4a1a62747cd4383d7ca44278fd3b0c8fe8c.js b/en.search.min.3bc3926246a8198a8022eed89b8603f76f4c041dac327ac4bd81629055bbe1eb.js similarity index 61% rename from en.search.min.dffb8e3960a2999282617f36e2e5f4a1a62747cd4383d7ca44278fd3b0c8fe8c.js rename to en.search.min.3bc3926246a8198a8022eed89b8603f76f4c041dac327ac4bd81629055bbe1eb.js index d89b93c2..333fb0b4 100644 --- a/en.search.min.dffb8e3960a2999282617f36e2e5f4a1a62747cd4383d7ca44278fd3b0c8fe8c.js +++ b/en.search.min.3bc3926246a8198a8022eed89b8603f76f4c041dac327ac4bd81629055bbe1eb.js @@ -1 +1 @@ -"use strict";(function(){const a="/showcase/en.search-data.min.da31f6452d5f11446e7aed16308a0e8aaa75e8e152f09c6615536e658a8d2ab2.json",r=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",o);function o(t){if(t.target.value!==void 0)return;if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!i(n))return;e.focus(),t.preventDefault()}function i(t){const n=e.getAttribute("data-hotkeys")||"";return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(a).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",r),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(e){const t=document.createElement("div");return t.innerHTML=e,t.firstChild}})() \ No newline at end of file +"use strict";(function(){const o="/showcase/en.search-data.min.da31f6452d5f11446e7aed16308a0e8aaa75e8e152f09c6615536e658a8d2ab2.json",i=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",a);function a(t){if(t.target.value!==void 0)return;if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!r(n))return;e.focus(),t.preventDefault()}function r(t){const n=e.getAttribute("data-hotkeys")||"";return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(o).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",i),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(e){const t=document.createElement("div");return t.innerHTML=e,t.firstChild}})() \ No newline at end of file diff --git a/index.html b/index.html index 6ae28a57..9d95d79a 100644 --- a/index.html +++ b/index.html @@ -1,8 +1,8 @@ -Introduction | Showcase Template - +
    diff --git a/posts/creating-a-new-theme/index.html b/posts/creating-a-new-theme/index.html index fc7ed5de..bf2bd41b 100644 --- a/posts/creating-a-new-theme/index.html +++ b/posts/creating-a-new-theme/index.html @@ -1,7 +1,7 @@ Creating a New Theme | Showcase Template - +
    Creating a New Theme diff --git a/posts/goisforlovers/index.html b/posts/goisforlovers/index.html index 5ba9d1b5..fa148cee 100644 --- a/posts/goisforlovers/index.html +++ b/posts/goisforlovers/index.html @@ -1,7 +1,7 @@ (Hu)go Template Primer | Showcase Template - +
    (Hu)go Template Primer diff --git a/posts/hugoisforlovers/index.html b/posts/hugoisforlovers/index.html index bf3d204e..0ab34d17 100644 --- a/posts/hugoisforlovers/index.html +++ b/posts/hugoisforlovers/index.html @@ -7,7 +7,7 @@ More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps:">Getting Started with Hugo | Showcase Template - +
    Getting Started with Hugo diff --git a/posts/index.html b/posts/index.html index 4b987578..23e155be 100644 --- a/posts/index.html +++ b/posts/index.html @@ -1,5 +1,5 @@ Blog | Showcase Template - +
    diff --git a/posts/migrate-from-jekyll/index.html b/posts/migrate-from-jekyll/index.html index 9622f5d5..3793978f 100644 --- a/posts/migrate-from-jekyll/index.html +++ b/posts/migrate-from-jekyll/index.html @@ -3,7 +3,7 @@ ▾ / ▾ static/ ▾ images/ logo.png Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static.">Migrate to Hugo from Jekyll | Showcase Template - +
    Migrate to Hugo from Jekyll diff --git a/tags/development/index.html b/tags/development/index.html index 9312bead..cf8cc8d5 100644 --- a/tags/development/index.html +++ b/tags/development/index.html @@ -1,5 +1,5 @@ development | Showcase Template - +
    diff --git a/tags/go/index.html b/tags/go/index.html index 756a0ed9..90f85f71 100644 --- a/tags/go/index.html +++ b/tags/go/index.html @@ -1,5 +1,5 @@ go | Showcase Template - +
    diff --git a/tags/golang/index.html b/tags/golang/index.html index cd3ad7f2..5615ccf2 100644 --- a/tags/golang/index.html +++ b/tags/golang/index.html @@ -1,5 +1,5 @@ golang | Showcase Template - +
    diff --git a/tags/hugo/index.html b/tags/hugo/index.html index 896f86f3..550e203c 100644 --- a/tags/hugo/index.html +++ b/tags/hugo/index.html @@ -1,5 +1,5 @@ hugo | Showcase Template - +
    diff --git a/tags/index.html b/tags/index.html index 519228e0..0a09f776 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1,5 +1,5 @@ Tags | Showcase Template - +
    diff --git a/tags/templates/index.html b/tags/templates/index.html index d8713c20..d210cea2 100644 --- a/tags/templates/index.html +++ b/tags/templates/index.html @@ -1,5 +1,5 @@ templates | Showcase Template - +
    diff --git a/tags/themes/index.html b/tags/themes/index.html index fb3bbff0..4edc41f6 100644 --- a/tags/themes/index.html +++ b/tags/themes/index.html @@ -1,5 +1,5 @@ themes | Showcase Template - +
    From f7b2e32e1ce3688f6cbdc14291b7808f10f6c5da Mon Sep 17 00:00:00 2001 From: nakednous Date: Sat, 26 Nov 2022 15:01:40 +0000 Subject: [PATCH 33/49] deploy: 4509a5cd9756b7c1e6fbccb36e165b1f05475cf9 --- 404.html | 2 +- categories/Development/index.html | 4 +- categories/golang/index.html | 4 +- categories/index.html | 4 +- docs/index.html | 4 +- docs/shortcodes/buttons/index.html | 4 +- docs/shortcodes/columns/index.html | 4 +- docs/shortcodes/details/index.html | 4 +- docs/shortcodes/hints/index.html | 4 +- docs/shortcodes/index.html | 4 +- docs/shortcodes/katex/index.html | 4 +- docs/shortcodes/mermaid/index.html | 4 +- docs/shortcodes/p5/div/index.html | 28 ++++++------- docs/shortcodes/p5/iframe/index.html | 42 +++++++++---------- docs/shortcodes/p5/index.html | 18 ++++---- docs/shortcodes/p5/index.xml | 12 +++--- docs/shortcodes/tabs/index.html | 4 +- ...a0e8aaa75e8e152f09c6615536e658a8d2ab2.json | 1 - ...2a632efd4a804c6c3f1ec848ed80f15bf23bb.json | 1 + ...2d9e897f44fd8adf88986184b9353e30bb1cac9.js | 2 +- index.html | 6 +-- index.xml | 16 +++---- posts/creating-a-new-theme/index.html | 4 +- posts/goisforlovers/index.html | 4 +- posts/hugoisforlovers/index.html | 4 +- posts/index.html | 4 +- posts/migrate-from-jekyll/index.html | 4 +- sitemap.xml | 2 +- tags/development/index.html | 4 +- tags/go/index.html | 4 +- tags/golang/index.html | 4 +- tags/hugo/index.html | 4 +- tags/index.html | 4 +- tags/templates/index.html | 4 +- tags/themes/index.html | 4 +- 35 files changed, 113 insertions(+), 113 deletions(-) delete mode 100644 en.search-data.min.da31f6452d5f11446e7aed16308a0e8aaa75e8e152f09c6615536e658a8d2ab2.json create mode 100644 en.search-data.min.e954e35b20afeff66433252af972a632efd4a804c6c3f1ec848ed80f15bf23bb.json rename en.search.min.3bc3926246a8198a8022eed89b8603f76f4c041dac327ac4bd81629055bbe1eb.js => en.search.min.9164918341aa27e254a33a2e12d9e897f44fd8adf88986184b9353e30bb1cac9.js (90%) diff --git a/404.html b/404.html index 0771029e..5e3cdee8 100644 --- a/404.html +++ b/404.html @@ -1,2 +1,2 @@ 404 Page not found | Showcase Template -

    404

    Page Not Found

    Showcase Template

    \ No newline at end of file +

    404

    Page Not Found

    Showcase Template

    \ No newline at end of file diff --git a/categories/Development/index.html b/categories/Development/index.html index 7841e8e5..59a85c71 100644 --- a/categories/Development/index.html +++ b/categories/Development/index.html @@ -1,8 +1,8 @@ Development | Showcase Template - +
    +
  • Tabs
  • Development
    golang
    Categories
    Docs
    \ No newline at end of file diff --git a/docs/shortcodes/buttons/index.html b/docs/shortcodes/buttons/index.html index c9e94c23..6c6c6086 100644 --- a/docs/shortcodes/buttons/index.html +++ b/docs/shortcodes/buttons/index.html @@ -1,9 +1,9 @@ Buttons | Showcase Template - +
    +
  • Tabs
  • Buttons

    Buttons #

    Buttons are styled links that can lead to local page or external link.

    Example diff --git a/docs/shortcodes/columns/index.html b/docs/shortcodes/columns/index.html index 11ab40de..ed78ec43 100644 --- a/docs/shortcodes/columns/index.html +++ b/docs/shortcodes/columns/index.html @@ -1,9 +1,9 @@ Columns | Showcase Template - +
    +
  • Tabs
  • Columns

    Columns #

    Columns help organize shorter pieces of content horizontally for readability.

    {{< columns >}} <!-- begin columns block -->
    diff --git a/docs/shortcodes/details/index.html b/docs/shortcodes/details/index.html
    index cd345b92..ea5733b7 100644
    --- a/docs/shortcodes/details/index.html
    +++ b/docs/shortcodes/details/index.html
    @@ -1,9 +1,9 @@
     Details | Showcase Template
    -
    +
     
    +
  • Tabs
  • Details

    Details #

    Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.

    Example diff --git a/docs/shortcodes/hints/index.html b/docs/shortcodes/hints/index.html index e8626bae..cdef1d99 100644 --- a/docs/shortcodes/hints/index.html +++ b/docs/shortcodes/hints/index.html @@ -5,9 +5,9 @@ There are 3 colors to choose: info, warning and danger. {{< hint [info|warning|danger] >}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{< /hint >}} Example # Markdown content Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content">Hints | Showcase Template - +
    +
  • Tabs
  • Hints

    Hints #

    Hint shortcode can be used as hint/alerts/notification block.
    There are 3 colors to choose: info, warning and danger.

    {{< hint [info|warning|danger] >}}
    diff --git a/docs/shortcodes/index.html b/docs/shortcodes/index.html
    index 9977cfa9..da6dadb0 100644
    --- a/docs/shortcodes/index.html
    +++ b/docs/shortcodes/index.html
    @@ -1,8 +1,8 @@
     Shortcodes | Showcase Template
    -
    +
     
     
    +
  • Tabs
  • Shortcodes
    \ No newline at end of file diff --git a/docs/shortcodes/katex/index.html b/docs/shortcodes/katex/index.html index d9837875..8701209e 100644 --- a/docs/shortcodes/katex/index.html +++ b/docs/shortcodes/katex/index.html @@ -1,9 +1,9 @@ Katex | Showcase Template - +
    +
  • Tabs
  • Katex

    KaTeX #

    KaTeX shortcode let you render math typesetting in markdown document. See KaTeX

    Example diff --git a/docs/shortcodes/mermaid/index.html b/docs/shortcodes/mermaid/index.html index 33fb4eb6..0fb013b6 100644 --- a/docs/shortcodes/mermaid/index.html +++ b/docs/shortcodes/mermaid/index.html @@ -5,9 +5,9 @@ Override Mermaid Initialization Config To override the initialization config for Mermaid, create a mermaid.json file in your assets folder! Example # {{< mermaid [class="text-center"]>}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --> State2 note left of State2 : This is the note to the left.">Mermaid | Showcase Template - +
    +
  • Tabs
  • Mermaid

    Mermaid Chart #

    MermaidJS is library for generating svg charts and diagrams from text.

    Override Mermaid Initialization Config

    To override the initialization config for Mermaid, diff --git a/docs/shortcodes/p5/div/index.html b/docs/shortcodes/p5/div/index.html index 47409282..63d0d6eb 100644 --- a/docs/shortcodes/p5/div/index.html +++ b/docs/shortcodes/p5/div/index.html @@ -1,21 +1,21 @@ Div | Showcase Template - +p5-div markdown {{< p5-div sketch="/showcase/sketches/scintillating.">Div | Showcase Template +

    +
  • Tabs
  • Div

    {{< p5-div ver="1.5.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}}
     

    All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

    Scintillating grid -#

    Look at this and also this among many more references there are.

    p5-div markdown
    {{< p5-div sketch="/showcase/sketches/scintillating.js" >}}
    - +#

    Look at this and also this among many more references there are.

    p5-div markdown
    {{< p5-div sketch="/showcase/sketches/scintillating.js" >}}
    +

    p5-instance-div -#

    {{< p5-instance-div id="sketchid" ver="1.4.2" lib1="https://cdntolib1/lib1.js" >}}
    +#

    {{< p5-instance-div id="sketchid" ver="1.5.0" lib1="https://cdntolib1/lib1.js" >}}
       // inline sketch code
     {{< /p5-instance-div >}}
     
    Note that the inline sketch should be coded in p5 instance mode syntax.

    All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

    Lilac chaser @@ -69,8 +69,8 @@ p5.pop(); p5.pop(); } -{{< /p5-instance-div >}}

    Note that p5 should be the name to be used for the sketch object variable.
    -

    Video on canvas +{{< /p5-instance-div >}}

    Note that p5 should be the name to be used for the sketch object variable.
    +

    Video on canvas #

    Adapted from here. Don’t forget to checkout also the video on dom example.

    p5-instance-div markdown
    {{< p5-instance-div id="video" >}}
       let fingers;
     
    @@ -92,6 +92,6 @@
       p5.mousePressed = function() {
         fingers.loop(); // set the video to loop and start playing  
       }
    -{{< /p5-instance-div >}}
    Note that p5 should be the name to be used for the sketch object variable.
    -
    \ No newline at end of file +{{< /p5-instance-div >}}
    Note that p5 should be the name to be used for the sketch object variable.
    +
    \ No newline at end of file diff --git a/docs/shortcodes/p5/iframe/index.html b/docs/shortcodes/p5/iframe/index.html index bc99721f..78010605 100644 --- a/docs/shortcodes/p5/iframe/index.html +++ b/docs/shortcodes/p5/iframe/index.html @@ -1,23 +1,23 @@ Iframe | Showcase Template - +p5-iframe markdown {{< p5-iframe sketch="/showcase/sketches/colors.">Iframe | Showcase Template +
    +
  • Tabs
  • Iframe

    p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.

    p5-iframe -#

    {{< p5-iframe ver="1.4.2" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}}
    +#
    {{< p5-iframe ver="1.5.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}}
     

    All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

    Color relativity #

    Look at this brief explanation about what color relativity is.

    p5-iframe markdown
    {{< p5-iframe sketch="/showcase/sketches/colors.js" width="725" height="425 >}}

    p5-global-iframe -#

    {{< p5-global-iframe id="sketchid" ver="1.4.2" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}}
    +#
    {{< p5-global-iframe id="sketchid" ver="1.5.0" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}}
       // inline sketch code
     {{< /p5-global-iframe >}}
     
    Note that the inline sketch should be coded in p5 global mode syntax.

    All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.

    Breathing square @@ -105,8 +105,8 @@ - - + + @@ -153,11 +153,11 @@ ">

    p5-widget -#

    The p5-widget shortcode embed p5.js code within an p5-widget.

    {{< p5-widget autoplay=true height="400" width="400" ver="1.4.2" >}}
    +#

    The p5-widget shortcode embed p5.js code within an p5-widget.

    {{< p5-widget autoplay=true height="400" width="400" ver="1.5.0" >}}
       // inline sketch code
     {{< /p5-widget >}}
    -

    All parameters are optional. Default ver is 1.4.2. For example:

    Widget example -#

    p5-widget markdown
    {{< p5-widget autoplay=true height="400" width="400" ver="1.4.2" >}}
    +

    All parameters are optional. Default ver is 1.5.0. For example:

    Widget example +#

    p5-widget markdown
    {{< p5-widget autoplay=true height="400" width="400" ver="1.5.0" >}}
     function setup() {
       createCanvas(300, 300);
     }
    @@ -166,7 +166,7 @@
       background(255, 0, 255);
     }
     {{< /p5-widget >}}
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/docs/shortcodes/p5/index.html b/docs/shortcodes/p5/index.html index e8d34f35..75d516d4 100644 --- a/docs/shortcodes/p5/index.html +++ b/docs/shortcodes/p5/index.html @@ -1,17 +1,17 @@ P5 | Showcase Template - +Types # Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{< p5-iframe ver="1.5.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*.">P5 | Showcase Template +
    +
  • Tabs
  • P5

    p5 #

    p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.

    Types -#

    Div
    p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. -p5-div # {{< p5-div ver="1.4.2" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. -Scintillating grid # Look at this and also this among many more references there are. -p5-div markdown {{< p5-div sketch="/showcase/sketches/scintillating.
    Iframe
    p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. -p5-iframe # {{< p5-iframe ver="1.4.2" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +#
    Iframe
    p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. +p5-iframe # {{< p5-iframe ver="1.5.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. -p5-iframe markdown {{< p5-iframe sketch="/showcase/sketches/colors.
    Calendar +p5-iframe markdown {{< p5-iframe sketch="/showcase/sketches/colors.
    Div
    p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. +p5-div # {{< p5-div ver="1.5.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +Scintillating grid # Look at this and also this among many more references there are. +p5-div markdown {{< p5-div sketch="/showcase/sketches/scintillating.
    \ No newline at end of file diff --git a/docs/shortcodes/p5/index.xml b/docs/shortcodes/p5/index.xml index dfeffe2f..9df7815c 100644 --- a/docs/shortcodes/p5/index.xml +++ b/docs/shortcodes/p5/index.xml @@ -1,7 +1,7 @@ -Showcase Templatehttps://visualcomputing.github.io/showcase/docs/shortcodes/p5/Recent content on Showcase TemplateHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. -p5-div # {{&lt; p5-div ver=&#34;1.4.2&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. -Scintillating grid # Look at this and also this among many more references there are. -p5-div markdown {{&lt; p5-div sketch=&#34;/showcase/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. -p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.2&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Showcase Templatehttps://visualcomputing.github.io/showcase/docs/shortcodes/p5/Recent content on Showcase TemplateHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. +p5-iframe # {{&lt; p5-iframe ver=&#34;1.5.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. -p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/showcase/sketches/colors.</description></item></channel></rss> \ No newline at end of file +p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/showcase/sketches/colors.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. +p5-div # {{&lt; p5-div ver=&#34;1.5.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +Scintillating grid # Look at this and also this among many more references there are. +p5-div markdown {{&lt; p5-div sketch=&#34;/showcase/sketches/scintillating.</description></item></channel></rss> \ No newline at end of file diff --git a/docs/shortcodes/tabs/index.html b/docs/shortcodes/tabs/index.html index 271352ff..978eb94b 100644 --- a/docs/shortcodes/tabs/index.html +++ b/docs/shortcodes/tabs/index.html @@ -3,9 +3,9 @@ Lorem markdownum insigne. Olympo signis Delphis!"><meta name=theme-color content="#FFFFFF"><meta name=color-scheme content="light dark"><meta property="og:title" content><meta property="og:description" content="Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. {{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS # This is tab MacOS content. Lorem markdownum insigne. Olympo signis Delphis!"><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/"><meta property="article:section" content="docs"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Tabs | Showcase Template - +
    +
  • Tabs
  • Tabs

    Tabs #

    Tabs let you organize content by context, for example installation instructions for each supported platform.

    {{< tabs "uniqueid" >}}
    diff --git a/en.search-data.min.da31f6452d5f11446e7aed16308a0e8aaa75e8e152f09c6615536e658a8d2ab2.json b/en.search-data.min.da31f6452d5f11446e7aed16308a0e8aaa75e8e152f09c6615536e658a8d2ab2.json
    deleted file mode 100644
    index 5891083e..00000000
    --- a/en.search-data.min.da31f6452d5f11446e7aed16308a0e8aaa75e8e152f09c6615536e658a8d2ab2.json
    +++ /dev/null
    @@ -1 +0,0 @@
    -[{"id":0,"href":"/showcase/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":" Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026#34;michael d henderson\u0026#34; description = \u0026#34;a minimal working template\u0026#34; license = \u0026#34;MIT\u0026#34; name = \u0026#34;zafta\u0026#34; source_repo = \u0026#34;\u0026#34; tags = [\u0026#34;tags\u0026#34;, \u0026#34;categories\u0026#34;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026#34;YOUR_NAME_HERE\u0026#34; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026#34;zafta\u0026#34; baseurl = \u0026#34;\u0026#34; languageCode = \u0026#34;en-us\u0026#34; title = \u0026#34;zafta - totally refreshing\u0026#34; MetaDataFormat = \u0026#34;toml\u0026#34; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\nHugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\nPurge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026#34;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026#34;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\nindex.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026#34;\u0026#34; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:54:53-05:00\u0026#34; title = \u0026#34;first\u0026#34; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:57:09-05:00\u0026#34; title = \u0026#34;second\u0026#34; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;, \u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\nrange .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/second/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/first/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026#34;about\u0026#34; description = \u0026#34;about this site\u0026#34; date = \u0026#34;2014-09-27\u0026#34; slug = \u0026#34;about time\u0026#34; +++ ## about us i\u0026#39;m speechless :wq Generate the web site and verify the results.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/theme/\u0026#34;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/about-time/\u0026#34;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/second-post/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/first-post/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026#34;page\u0026#34; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026#34;/:title/\u0026#34; about = \u0026#34;/:filename/\u0026#34; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026#34;theme/partials/header.html\u0026#34; . }} versus\n{{ partial \u0026#34;header.html\u0026#34; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026#34;page\u0026#34;) (eq .Type \u0026#34;about\u0026#34;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":1,"href":"/showcase/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":" Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\nChange your submodule to point to map gh-pages to public instead of _site (recommended).\ngit submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n{ .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":2,"href":"/showcase/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\nfalse 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n{{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026#34;Permalinks\u0026#34; date: \u0026#34;2013-11-18\u0026#34; aliases: - \u0026#34;/doc/permalinks/\u0026#34; groups: [\u0026#34;extras\u0026#34;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n{{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026#34;text-center\u0026#34;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026#34;twitter\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://twitter.com/{{.}}\u0026#34; rel=\u0026#34;author\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;/images/twitter.png\u0026#34; width=\u0026#34;48\u0026#34; height=\u0026#34;48\u0026#34; title=\u0026#34;Twitter: {{.}}\u0026#34; alt=\u0026#34;Twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026#34;recent\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026#34;{{.RelPermalink}}\u0026#34;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":3,"href":"/showcase/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":" Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\nClone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":4,"href":"/showcase/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":" Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":5,"href":"/showcase/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":" Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":6,"href":"/showcase/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":" Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content # Lorem markdownum insigne\u0026hellip; Title Markdown content # Lorem markdownum insigne\u0026hellip; "},{"id":7,"href":"/showcase/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":" Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":8,"href":"/showcase/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":" KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":9,"href":"/showcase/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":" Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\nExample # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u003e State2 note left of State2 : This is the note to the left. "},{"id":10,"href":"/showcase/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":" p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.2\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating. Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.2\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors. "},{"id":11,"href":"/showcase/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.4.2\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.2\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. Video on canvas # Adapted from here. Don\u0026rsquo;t forget to checkout also the video on dom example.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;video\u0026#34; \u0026gt;}} let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo([\u0026#39;/showcase/sketches/fingers.mov\u0026#39;, \u0026#39;/showcase/sketches/fingers.webm\u0026#39;]); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. "},{"id":12,"href":"/showcase/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.4.2\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} Third party libraries # Example adapted from p5.EasyCam.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/quick_easycam.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js\u0026#34; width=\u0026#34;525\u0026#34; height=\u0026#34;525\u0026#34; \u0026gt;}} Sound # Example took from the p5 examples.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/sound.js\u0026#34; width=\u0026#34;225\u0026#34; height=\u0026#34;225\u0026#34; \u0026gt;}} p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.4.2\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} p5-widget # The p5-widget shortcode embed p5.js code within an p5-widget.\n{{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.4.2\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-widget \u0026gt;}} All parameters are optional. Default ver is 1.4.2. For example:\nWidget example # p5-widget markdown {{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.4.2\u0026#34; \u0026gt;}} function setup() { createCanvas(300, 300); } function draw() { background(255, 0, 255); } {{\u0026lt; /p5-widget \u0026gt;}} "},{"id":13,"href":"/showcase/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":" Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS # This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux # This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows # This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n"}]
    \ No newline at end of file
    diff --git a/en.search-data.min.e954e35b20afeff66433252af972a632efd4a804c6c3f1ec848ed80f15bf23bb.json b/en.search-data.min.e954e35b20afeff66433252af972a632efd4a804c6c3f1ec848ed80f15bf23bb.json
    new file mode 100644
    index 00000000..69c82e84
    --- /dev/null
    +++ b/en.search-data.min.e954e35b20afeff66433252af972a632efd4a804c6c3f1ec848ed80f15bf23bb.json
    @@ -0,0 +1 @@
    +[{"id":0,"href":"/showcase/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.5.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} Third party libraries # Example adapted from p5.EasyCam.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/quick_easycam.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js\u0026#34; width=\u0026#34;525\u0026#34; height=\u0026#34;525\u0026#34; \u0026gt;}} Sound # Example took from the p5 examples.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/sound.js\u0026#34; width=\u0026#34;225\u0026#34; height=\u0026#34;225\u0026#34; \u0026gt;}} p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.5.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} p5-widget # The p5-widget shortcode embed p5.js code within an p5-widget.\n{{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.5.0\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-widget \u0026gt;}} All parameters are optional. Default ver is 1.5.0. For example:\nWidget example # p5-widget markdown {{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.5.0\u0026#34; \u0026gt;}} function setup() { createCanvas(300, 300); } function draw() { background(255, 0, 255); } {{\u0026lt; /p5-widget \u0026gt;}} "},{"id":1,"href":"/showcase/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.5.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.5.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. Video on canvas # Adapted from here. Don\u0026rsquo;t forget to checkout also the video on dom example.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;video\u0026#34; \u0026gt;}} let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo([\u0026#39;/showcase/sketches/fingers.mov\u0026#39;, \u0026#39;/showcase/sketches/fingers.webm\u0026#39;]); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. "},{"id":2,"href":"/showcase/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":" Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026#34;michael d henderson\u0026#34; description = \u0026#34;a minimal working template\u0026#34; license = \u0026#34;MIT\u0026#34; name = \u0026#34;zafta\u0026#34; source_repo = \u0026#34;\u0026#34; tags = [\u0026#34;tags\u0026#34;, \u0026#34;categories\u0026#34;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026#34;YOUR_NAME_HERE\u0026#34; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026#34;zafta\u0026#34; baseurl = \u0026#34;\u0026#34; languageCode = \u0026#34;en-us\u0026#34; title = \u0026#34;zafta - totally refreshing\u0026#34; MetaDataFormat = \u0026#34;toml\u0026#34; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\nHugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\nPurge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026#34;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026#34;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\nindex.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026#34;\u0026#34; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:54:53-05:00\u0026#34; title = \u0026#34;first\u0026#34; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:57:09-05:00\u0026#34; title = \u0026#34;second\u0026#34; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;, \u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\nrange .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/second/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/first/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026#34;about\u0026#34; description = \u0026#34;about this site\u0026#34; date = \u0026#34;2014-09-27\u0026#34; slug = \u0026#34;about time\u0026#34; +++ ## about us i\u0026#39;m speechless :wq Generate the web site and verify the results.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/theme/\u0026#34;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/about-time/\u0026#34;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/second-post/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/first-post/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026#34;page\u0026#34; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026#34;/:title/\u0026#34; about = \u0026#34;/:filename/\u0026#34; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026#34;theme/partials/header.html\u0026#34; . }} versus\n{{ partial \u0026#34;header.html\u0026#34; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026#34;page\u0026#34;) (eq .Type \u0026#34;about\u0026#34;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":3,"href":"/showcase/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":" Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\nChange your submodule to point to map gh-pages to public instead of _site (recommended).\ngit submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n{ .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":4,"href":"/showcase/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\nfalse 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n{{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026#34;Permalinks\u0026#34; date: \u0026#34;2013-11-18\u0026#34; aliases: - \u0026#34;/doc/permalinks/\u0026#34; groups: [\u0026#34;extras\u0026#34;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n{{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026#34;text-center\u0026#34;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026#34;twitter\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://twitter.com/{{.}}\u0026#34; rel=\u0026#34;author\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;/images/twitter.png\u0026#34; width=\u0026#34;48\u0026#34; height=\u0026#34;48\u0026#34; title=\u0026#34;Twitter: {{.}}\u0026#34; alt=\u0026#34;Twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026#34;recent\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026#34;{{.RelPermalink}}\u0026#34;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":5,"href":"/showcase/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":" Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\nClone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":6,"href":"/showcase/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":" Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":7,"href":"/showcase/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":" Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/showcase/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":" Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content # Lorem markdownum insigne\u0026hellip; Title Markdown content # Lorem markdownum insigne\u0026hellip; "},{"id":9,"href":"/showcase/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":" Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":10,"href":"/showcase/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":" KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":11,"href":"/showcase/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":" Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\nExample # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u003e State2 note left of State2 : This is the note to the left. "},{"id":12,"href":"/showcase/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":" p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.5.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors. Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.5.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating. "},{"id":13,"href":"/showcase/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":" Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS # This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux # This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows # This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n"}]
    \ No newline at end of file
    diff --git a/en.search.min.3bc3926246a8198a8022eed89b8603f76f4c041dac327ac4bd81629055bbe1eb.js b/en.search.min.9164918341aa27e254a33a2e12d9e897f44fd8adf88986184b9353e30bb1cac9.js
    similarity index 90%
    rename from en.search.min.3bc3926246a8198a8022eed89b8603f76f4c041dac327ac4bd81629055bbe1eb.js
    rename to en.search.min.9164918341aa27e254a33a2e12d9e897f44fd8adf88986184b9353e30bb1cac9.js
    index 333fb0b4..04edf7e1 100644
    --- a/en.search.min.3bc3926246a8198a8022eed89b8603f76f4c041dac327ac4bd81629055bbe1eb.js
    +++ b/en.search.min.9164918341aa27e254a33a2e12d9e897f44fd8adf88986184b9353e30bb1cac9.js
    @@ -1 +1 @@
    -"use strict";(function(){const o="/showcase/en.search-data.min.da31f6452d5f11446e7aed16308a0e8aaa75e8e152f09c6615536e658a8d2ab2.json",i=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",a);function a(t){if(t.target.value!==void 0)return;if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!r(n))return;e.focus(),t.preventDefault()}function r(t){const n=e.getAttribute("data-hotkeys")||"";return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(o).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",i),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(e){const t=document.createElement("div");return t.innerHTML=e,t.firstChild}})() \ No newline at end of file +"use strict";(function(){const o="/showcase/en.search-data.min.e954e35b20afeff66433252af972a632efd4a804c6c3f1ec848ed80f15bf23bb.json",i=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",a);function a(t){if(t.target.value!==void 0)return;if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!r(n))return;e.focus(),t.preventDefault()}function r(t){const n=e.getAttribute("data-hotkeys")||"";return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(o).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",i),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(e){const t=document.createElement("div");return t.innerHTML=e,t.firstChild}})() \ No newline at end of file diff --git a/index.html b/index.html index 9d95d79a..34500aef 100644 --- a/index.html +++ b/index.html @@ -1,11 +1,11 @@ -Introduction | Showcase Template - +
    +
  • Tabs
  • Introduction

    Showcase Template #

    Welcome to the gohugo template to create rich content academic reports having p5.js sketches.

    Hacking diff --git a/index.xml b/index.xml index f0a7ae87..41b55f4c 100644 --- a/index.xml +++ b/index.xml @@ -1,4 +1,10 @@ -Introduction on Showcase Templatehttps://visualcomputing.github.io/showcase/Recent content in Introduction on Showcase TemplateHugo -- gohugo.ioen-usCreating a New Themehttps://visualcomputing.github.io/showcase/posts/creating-a-new-theme/Sun, 28 Sep 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme. +Introduction on Showcase Templatehttps://visualcomputing.github.io/showcase/Recent content in Introduction on Showcase TemplateHugo -- gohugo.ioen-us<link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. +p5-iframe # {{&lt; p5-iframe ver=&#34;1.5.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +Color relativity # Look at this brief explanation about what color relativity is. +p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/showcase/sketches/colors.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. +p5-div # {{&lt; p5-div ver=&#34;1.5.0&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. +Scintillating grid # Look at this and also this among many more references there are. +p5-div markdown {{&lt; p5-div sketch=&#34;/showcase/sketches/scintillating.</description></item><item><title>Creating a New Themehttps://visualcomputing.github.io/showcase/posts/creating-a-new-theme/Sun, 28 Sep 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I&rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won&rsquo;t cover using CSS to style your theme. We&rsquo;ll start with creating a new site with a very basic template.Migrate to Hugo from Jekyllhttps://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/Mon, 10 Mar 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like ▾ &lt;root&gt;/ ▾ images/ logo.png should become ▾ &lt;root&gt;/ ▾ static/ ▾ images/ logo.png Additionally, you&rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.(Hu)go Template Primerhttps://visualcomputing.github.io/showcase/posts/goisforlovers/Wed, 02 Apr 2014 00:00:00 +0000https://visualcomputing.github.io/showcase/posts/goisforlovers/Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates. @@ -16,12 +22,6 @@ Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat str Example # {{&lt; katex [display] [class=&#34;text-center&#34;] &gt;}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{&lt; /katex &gt;}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here.<link>https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/</guid><description>Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text. Override Mermaid Initialization Config To override the initialization config for Mermaid, create a mermaid.json file in your assets folder! -Example # {{&lt; mermaid [class=&#34;text-center&#34;]&gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --&gt; State2 note left of State2 : This is the note to the left.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/</guid><description>p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. -p5-div # {{&lt; p5-div ver=&#34;1.4.2&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. -Scintillating grid # Look at this and also this among many more references there are. -p5-div markdown {{&lt; p5-div sketch=&#34;/showcase/sketches/scintillating.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/</guid><description>p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. -p5-iframe # {{&lt; p5-iframe ver=&#34;1.4.2&#34; sketch=&#34;/path/to/sketch.js&#34; lib1=&#34;https://cdntolib1/lib1.js&#34; width=&#34;800&#34; height=&#34;600&#34; &gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. -Color relativity # Look at this brief explanation about what color relativity is. -p5-iframe markdown {{&lt; p5-iframe sketch=&#34;/showcase/sketches/colors.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/</guid><description>Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. +Example # {{&lt; mermaid [class=&#34;text-center&#34;]&gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --&gt; State2 note left of State2 : This is the note to the left.</description></item><item><title/><link>https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/</guid><description>Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform. {{&lt; tabs &#34;uniqueid&#34; &gt;}} {{&lt; tab &#34;MacOS&#34; &gt;}} # MacOS Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Linux&#34; &gt;}} # Linux Content {{&lt; /tab &gt;}} {{&lt; tab &#34;Windows&#34; &gt;}} # Windows Content {{&lt; /tab &gt;}} {{&lt; /tabs &gt;}} Example # MacOS MacOS # This is tab MacOS content. Lorem markdownum insigne. Olympo signis Delphis!</description></item></channel></rss> \ No newline at end of file diff --git a/posts/creating-a-new-theme/index.html b/posts/creating-a-new-theme/index.html index bf2bd41b..66758683 100644 --- a/posts/creating-a-new-theme/index.html +++ b/posts/creating-a-new-theme/index.html @@ -1,9 +1,9 @@ <!doctype html><html lang=en-us dir=ltr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. We’ll start with creating a new site with a very basic template."><meta name=theme-color content="#FFFFFF"><meta name=color-scheme content="light dark"><meta property="og:title" content="Creating a New Theme"><meta property="og:description" content="Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme. We’ll start with creating a new site with a very basic template."><meta property="og:type" content="article"><meta property="og:url" content="https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/"><meta property="article:section" content="posts"><meta property="article:published_time" content="2014-09-28T00:00:00+00:00"><meta property="article:modified_time" content="2021-07-12T07:11:39-05:00"><title>Creating a New Theme | Showcase Template - +
    +
  • Tabs
  • Creating a New Theme

    Creating a New Theme

    September 28, 2014

    Introduction #

    This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I’ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won’t cover using CSS to style your theme.

    We’ll start with creating a new site with a very basic template. Then we’ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.

    In this tutorial, commands that you enter will start with the “$” prompt. The output will follow. Lines that start with “#” are comments that I’ve added to explain a point. When I show updates to a file, the “:wq” on the last line means to save the file.

    Here’s an example:

    ## this is a comment
    diff --git a/posts/goisforlovers/index.html b/posts/goisforlovers/index.html
    index fa148cee..f425f2da 100644
    --- a/posts/goisforlovers/index.html
    +++ b/posts/goisforlovers/index.html
    @@ -1,9 +1,9 @@
     (Hu)go Template Primer | Showcase Template
    -
    +
     
    +
  • Tabs
  • (Hu)go Template Primer

    (Hu)go Template Primer

    April 2, 2014
    go, diff --git a/posts/hugoisforlovers/index.html b/posts/hugoisforlovers/index.html index 0ab34d17..68086196 100644 --- a/posts/hugoisforlovers/index.html +++ b/posts/hugoisforlovers/index.html @@ -7,9 +7,9 @@ More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps:">Getting Started with Hugo | Showcase Template - +
    +
  • Tabs
  • Getting Started with Hugo

    Getting Started with Hugo

    April 2, 2014
    go, diff --git a/posts/index.html b/posts/index.html index 23e155be..45ec7f6c 100644 --- a/posts/index.html +++ b/posts/index.html @@ -1,8 +1,8 @@ Blog | Showcase Template - +
    +
  • Tabs
  • Blog
    Migrate to Hugo from Jekyll

    Migrate to Hugo from Jekyll

    March 10, 2014

    Move static content to static #

    Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. diff --git a/sitemap.xml b/sitemap.xml index 1d67706d..13355773 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/2022-08-23T12:58:31-05:00 \ No newline at end of file +https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/2022-08-23T12:58:31-05:00 \ No newline at end of file diff --git a/tags/development/index.html b/tags/development/index.html index cf8cc8d5..a1d8c71d 100644 --- a/tags/development/index.html +++ b/tags/development/index.html @@ -1,8 +1,8 @@ development | Showcase Template - +

    +
  • Tabs
  • development
    go
    golang
    hugo
    Tags
    templates
    themes

    Deploy with $git push after redefined baseURL in config.toml which should point to your actual public remote.

    Remarks -#

    If you renamed the repo, say to newreponame, don’t forget to update all url references of the markdown and js file sources, to reflect that change, i.e., look within all content folder files for showcase occurrences and replace them by newreponame.
    If you forked the repo don’t forget to activate the actions.
    Don’t forget to select the gh-pages branch as the one to serve your site from at the pages section of your repo configuration page, if it is no so by default.
    The showcase template uses the hugo-book theme by default. Check the hugo themes site if you wish to add other ones.

    \ No newline at end of file +

    Deploy with $git push after redefined baseURL in config.toml which should point to your actual public remote.

    Don’t rename the repo but leave it as ‘showcase’
    if you decided to rename the repo anyways, say to newreponame, don’t forget to update all url references of the markdown and js file sources, to reflect that change, i.e., look within all content folder files for showcase occurrences and replace them by newreponame, which btw should easily be doable in any recent open source code editor, e.g., 🔎 in kate or vs-codium.

    Remarks +#

    If you renamed the repo, say to newreponame, don’t forget to update all url references of the markdown and js file sources, to reflect that change, i.e., look within all content folder files for showcase occurrences and replace them by newreponame.
    If you forked the repo don’t forget to activate the actions.
    Don’t forget to select the gh-pages branch as the one to serve your site from at the pages section of your repo configuration page, if it is no so by default.
    The showcase template uses the hugo-book theme by default. Check the hugo themes site if you wish to add other ones.
    \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 13355773..90101cf4 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/2022-08-23T12:58:31-05:00 \ No newline at end of file +https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/2023-01-23T06:17:09-05:00 \ No newline at end of file From 97e9ce9bb848b4d3001c46d1cf4969054239a86e Mon Sep 17 00:00:00 2001 From: nakednous Date: Mon, 23 Jan 2023 11:20:57 +0000 Subject: [PATCH 35/49] deploy: 9fe4954659f471ad4f7159de3e1b9f04d7c6c826 --- index.html | 2 +- sitemap.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 6d771b14..207e20d9 100644 --- a/index.html +++ b/index.html @@ -15,5 +15,5 @@ $git submodule update --init --recursive $hugo server -D --disableFastRender

    Deploy with $git push after redefined baseURL in config.toml which should point to your actual public remote.

    Don’t rename the repo but leave it as ‘showcase’
    if you decided to rename the repo anyways, say to newreponame, don’t forget to update all url references of the markdown and js file sources, to reflect that change, i.e., look within all content folder files for showcase occurrences and replace them by newreponame, which btw should easily be doable in any recent open source code editor, e.g., 🔎 in kate or vs-codium.

    Remarks -#

    If you renamed the repo, say to newreponame, don’t forget to update all url references of the markdown and js file sources, to reflect that change, i.e., look within all content folder files for showcase occurrences and replace them by newreponame.
    If you forked the repo don’t forget to activate the actions.
    Don’t forget to select the gh-pages branch as the one to serve your site from at the pages section of your repo configuration page, if it is no so by default.
    The showcase template uses the hugo-book theme by default. Check the hugo themes site if you wish to add other ones.
    Calendar +#
    If you forked the repo don’t forget to activate the actions.
    Don’t forget to select the gh-pages branch as the one to serve your site from at the pages section of your repo configuration page, if it is no so by default.
    The showcase template uses the hugo-book theme by default. Check the hugo themes site if you wish to add other ones.
    \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 90101cf4..5790aeb0 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/2023-01-23T06:17:09-05:00 \ No newline at end of file +https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/2023-01-23T06:20:35-05:00 \ No newline at end of file From ae1f501c0b54c18abdda3ee8277eb11a9cfb7786 Mon Sep 17 00:00:00 2001 From: nakednous Date: Mon, 23 Jan 2023 11:23:50 +0000 Subject: [PATCH 36/49] deploy: 8102593b795aa625c823f850fc4a3f15d9ec7913 --- index.html | 4 ++-- sitemap.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 207e20d9..ece5417d 100644 --- a/index.html +++ b/index.html @@ -14,6 +14,6 @@ $cd showcase $git submodule update --init --recursive $hugo server -D --disableFastRender -

    Deploy with $git push after redefined baseURL in config.toml which should point to your actual public remote.

    Don’t rename the repo but leave it as ‘showcase’
    if you decided to rename the repo anyways, say to newreponame, don’t forget to update all url references of the markdown and js file sources, to reflect that change, i.e., look within all content folder files for showcase occurrences and replace them by newreponame, which btw should easily be doable in any recent open source code editor, e.g., 🔎 in kate or vs-codium.

    Remarks -#

    If you forked the repo don’t forget to activate the actions.
    Don’t forget to select the gh-pages branch as the one to serve your site from at the pages section of your repo configuration page, if it is no so by default.
    The showcase template uses the hugo-book theme by default. Check the hugo themes site if you wish to add other ones.
    \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 5790aeb0..1cbb1462 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/2023-01-23T06:20:35-05:00 \ No newline at end of file +https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/2023-01-23T06:23:30-05:00 \ No newline at end of file From 570fc9788899e7dce60286eecd2dbe07f29a8f1c Mon Sep 17 00:00:00 2001 From: nakednous Date: Mon, 23 Jan 2023 11:30:10 +0000 Subject: [PATCH 37/49] deploy: 3ca1e093277085db3ce1e87c22e831f2c281541d --- index.html | 6 +++--- sitemap.xml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index ece5417d..13678cbe 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ Hacking # Install the gohugo static site generator then: $git clone https://github.com/VisualComputing/showcase $cd showcase $git submodule update --init --recursive $hugo server -D --disableFastRender Deploy with $git push after redefined baseURL in config.toml which should point to your actual public remote. Don’t rename the repo but leave it as ‘showcase’ -if you decided to rename the repo anyways, say to newreponame, don’t forget to update all url references of the markdown and js file sources, to reflect that change, i.">Introduction | Showcase Template +even so if you decided to rename the repo anyways, say to newreponame, don’t forget to update all url references of the markdown and js file sources, to reflect that change, i.">Introduction | Showcase Template
    \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 1cbb1462..f92890ac 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/2023-01-23T06:23:30-05:00 \ No newline at end of file +https://visualcomputing.github.io/showcase/docs/shortcodes/p5/iframe/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/div/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/posts/creating-a-new-theme/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/migrate-from-jekyll/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/goisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/Development/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/hugoisforlovers/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/go/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/categories/golang/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/hugo/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/templates/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/tags/themes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/buttons/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/columns/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/details/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/hints/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/katex/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/mermaid/2022-08-13T12:16:24-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/p5/2021-07-18T11:25:55-05:00https://visualcomputing.github.io/showcase/docs/shortcodes/tabs/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/posts/2021-07-12T07:11:39-05:00https://visualcomputing.github.io/showcase/docs/2022-11-26T10:01:17-05:00https://visualcomputing.github.io/showcase/2023-01-23T06:29:47-05:00 \ No newline at end of file From 8f8ec5827738a5076034554b36add7bef1526e0b Mon Sep 17 00:00:00 2001 From: nakednous Date: Wed, 1 Feb 2023 12:17:14 +0000 Subject: [PATCH 38/49] deploy: fbf94d1eb17b2326f63dcd89eef64613c8855ef8 --- 404.html | 4 +- ...14b73fb9c68cfcc586b9382adfb9b7b103ba06.css | 1 + ...3a0067534a37289b063c9f8d011515a63097a8.css | 1 - categories/Development/index.html | 6 +- categories/golang/index.html | 6 +- categories/index.html | 6 +- docs/index.html | 6 +- docs/shortcodes/buttons/index.html | 6 +- docs/shortcodes/columns/index.html | 6 +- docs/shortcodes/details/index.html | 6 +- docs/shortcodes/hints/index.html | 6 +- docs/shortcodes/index.html | 6 +- docs/shortcodes/katex/index.html | 6 +- docs/shortcodes/mermaid/index.html | 6 +- docs/shortcodes/p5/div/index.html | 6 +- docs/shortcodes/p5/iframe/index.html | 6 +- docs/shortcodes/p5/index.html | 6 +- docs/shortcodes/tabs/index.html | 6 +- ...dac7bf8fee5472e7c5cb6fb7fc803e963ebbe.json | 2 +- ...865b72a46cf98e5da4dd4f6a3e4951e8b5ab523.js | 2 +- index.html | 8 +- mermaid.min.js | 1272 ++++++++++++++++- posts/creating-a-new-theme/index.html | 6 +- posts/goisforlovers/index.html | 6 +- posts/hugoisforlovers/index.html | 6 +- posts/index.html | 8 +- posts/migrate-from-jekyll/index.html | 10 +- sitemap.xml | 2 +- tags/development/index.html | 6 +- tags/go/index.html | 6 +- tags/golang/index.html | 6 +- tags/hugo/index.html | 6 +- tags/index.html | 6 +- tags/templates/index.html | 6 +- tags/themes/index.html | 6 +- 35 files changed, 1354 insertions(+), 106 deletions(-) create mode 100644 book.min.4b35fed0bea034bbc19c89c71e14b73fb9c68cfcc586b9382adfb9b7b103ba06.css delete mode 100644 book.min.ab46de3e725a6415339a37bba23a0067534a37289b063c9f8d011515a63097a8.css rename en.search-data.min.e954e35b20afeff66433252af972a632efd4a804c6c3f1ec848ed80f15bf23bb.json => en.search-data.min.4523b412b2ce328005cf4fde738dac7bf8fee5472e7c5cb6fb7fc803e963ebbe.json (68%) rename en.search.min.9164918341aa27e254a33a2e12d9e897f44fd8adf88986184b9353e30bb1cac9.js => en.search.min.4e805735f1c9a4df9b6c89829865b72a46cf98e5da4dd4f6a3e4951e8b5ab523.js (90%) diff --git a/404.html b/404.html index 5e3cdee8..bdec84c6 100644 --- a/404.html +++ b/404.html @@ -1,2 +1,2 @@ -404 Page not found | Showcase Template -

    404

    Page Not Found

    Showcase Template

    \ No newline at end of file +404 Page not found | Showcase Template +

    404

    Page Not Found

    Showcase Template

    \ No newline at end of file diff --git a/book.min.4b35fed0bea034bbc19c89c71e14b73fb9c68cfcc586b9382adfb9b7b103ba06.css b/book.min.4b35fed0bea034bbc19c89c71e14b73fb9c68cfcc586b9382adfb9b7b103ba06.css new file mode 100644 index 00000000..721229eb --- /dev/null +++ b/book.min.4b35fed0bea034bbc19c89c71e14b73fb9c68cfcc586b9382adfb9b7b103ba06.css @@ -0,0 +1 @@ +@charset "UTF-8";:root{--gray-100:rgba(255, 255, 255, 0.1);--gray-200:rgba(255, 255, 255, 0.2);--gray-500:rgba(255, 255, 255, 0.5);--color-link:#84b2ff;--color-visited-link:#b88dff;--body-background:#343a40;--body-font-color:#e9ecef;--icon-filter:brightness(0) invert(1);--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none;padding-inline-start:0}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸"}.book-menu input.toggle:checked+label::after{content:"▾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"▾"}.book-section-flat{margin:2rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header img.book-icon{height:1.5em;width:1.5em}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-block-end:2rem}.book-languages .book-icon{height:1em;width:1em;margin-inline-end:.5em}.book-languages ul{padding-inline-start:1.5em}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown p{word-wrap:break-word}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)} \ No newline at end of file diff --git a/book.min.ab46de3e725a6415339a37bba23a0067534a37289b063c9f8d011515a63097a8.css b/book.min.ab46de3e725a6415339a37bba23a0067534a37289b063c9f8d011515a63097a8.css deleted file mode 100644 index a6f33ff7..00000000 --- a/book.min.ab46de3e725a6415339a37bba23a0067534a37289b063c9f8d011515a63097a8.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";:root{--gray-100:rgba(255, 255, 255, 0.1);--gray-200:rgba(255, 255, 255, 0.2);--gray-500:rgba(255, 255, 255, 0.5);--color-link:#84b2ff;--color-visited-link:#b88dff;--body-background:#343a40;--body-font-color:#e9ecef;--icon-filter:brightness(0) invert(1);--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸"}.book-menu input.toggle:checked+label::after{content:"▾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"▾"}.book-section-flat{margin:2rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header img.book-icon{height:1.5em;width:1.5em}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-block-end:2rem}.book-languages .book-icon{height:1em;width:1em;margin-inline-end:.5em}.book-languages ul{padding-inline-start:1.5em}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown p{word-wrap:break-word}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)} \ No newline at end of file diff --git a/categories/Development/index.html b/categories/Development/index.html index 59a85c71..17e8a50e 100644 --- a/categories/Development/index.html +++ b/categories/Development/index.html @@ -1,5 +1,5 @@ -Development | Showcase Template - +Development | Showcase Template +
    @@ -28,7 +28,7 @@ More complete instructions are available at Install Hugo Step 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: -...

    \ No newline at end of file diff --git a/docs/shortcodes/buttons/index.html b/docs/shortcodes/buttons/index.html index 6c6c6086..dc292c9e 100644 --- a/docs/shortcodes/buttons/index.html +++ b/docs/shortcodes/buttons/index.html @@ -1,7 +1,7 @@ Buttons | Showcase Template - +Example # {{< button relref="/" [class="..."] >}}Get Home{{< /button >}} {{< button href="https://github.com/alex-shpak/hugo-book" >}}Contribute{{< /button >}} Get Home Contribute ">Buttons | Showcase Template +
    Buttons @@ -11,4 +11,4 @@ {{< button href="https://github.com/alex-shpak/hugo-book" >}}Contribute{{< /button >}}

    Get Home Contribute

    \ No newline at end of file +July 12, 2021
    \ No newline at end of file diff --git a/docs/shortcodes/columns/index.html b/docs/shortcodes/columns/index.html index ed78ec43..cc8c663d 100644 --- a/docs/shortcodes/columns/index.html +++ b/docs/shortcodes/columns/index.html @@ -1,7 +1,7 @@ Columns | Showcase Template - +{{< columns >}} # Left Content Lorem markdownum insigne... <---> # Mid Content Lorem markdownum insigne... <---> # Right Content Lorem markdownum insigne... {{< /columns >}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter!">Columns | Showcase Template +
    Columns @@ -32,4 +32,4 @@ stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.
    \ No newline at end of file +July 12, 2021
    \ No newline at end of file diff --git a/docs/shortcodes/details/index.html b/docs/shortcodes/details/index.html index ea5733b7..cdba0da1 100644 --- a/docs/shortcodes/details/index.html +++ b/docs/shortcodes/details/index.html @@ -1,7 +1,7 @@ Details | Showcase Template - +Example # {{< details "Title" [open] >}} ## Markdown content Lorem markdownum insigne... {{< /details >}} Title Markdown content # Lorem markdownum insigne… Title Markdown content # Lorem markdownum insigne… ">Details | Showcase Template +
    Details @@ -14,4 +14,4 @@
    Title

    Markdown content #

    Lorem markdownum insigne…

    Title

    Markdown content #

    Lorem markdownum insigne…

    \ No newline at end of file +August 13, 2022
    \ No newline at end of file diff --git a/docs/shortcodes/hints/index.html b/docs/shortcodes/hints/index.html index cdef1d99..487c0559 100644 --- a/docs/shortcodes/hints/index.html +++ b/docs/shortcodes/hints/index.html @@ -4,8 +4,8 @@ Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content">Hints | Showcase Template - +Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content">Hints | Showcase Template +
    Hints @@ -20,4 +20,4 @@ stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
    Markdown content
    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
    Markdown content
    Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
    \ No newline at end of file +July 12, 2021
    \ No newline at end of file diff --git a/docs/shortcodes/index.html b/docs/shortcodes/index.html index da6dadb0..ce83793b 100644 --- a/docs/shortcodes/index.html +++ b/docs/shortcodes/index.html @@ -1,8 +1,8 @@ -Shortcodes | Showcase Template - +Shortcodes | Showcase Template +
    Shortcodes
    \ No newline at end of file +July 12, 2021
    \ No newline at end of file diff --git a/docs/shortcodes/katex/index.html b/docs/shortcodes/katex/index.html index 8701209e..7da8408a 100644 --- a/docs/shortcodes/katex/index.html +++ b/docs/shortcodes/katex/index.html @@ -1,7 +1,7 @@ Katex | Showcase Template - +Example # {{< katex [display] [class="text-center"] >}} f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi {{< /katex >}} \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Display Mode Example # Here is some inline example: \(\pi(x)\) , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here.">Katex | Showcase Template +
    Katex @@ -16,4 +16,4 @@ , rendered in the same line. And below is display example, having display: block \[f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi\] Text continues here.

    \ No newline at end of file +August 13, 2022
    \ No newline at end of file diff --git a/docs/shortcodes/mermaid/index.html b/docs/shortcodes/mermaid/index.html index 0fb013b6..9de5c281 100644 --- a/docs/shortcodes/mermaid/index.html +++ b/docs/shortcodes/mermaid/index.html @@ -4,8 +4,8 @@ Example # {{< mermaid [class="text-center"]>}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --> State2 note left of State2 : This is the note to the left.">Mermaid | Showcase Template - +Example # {{< mermaid [class="text-center"]>}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --> State2 note left of State2 : This is the note to the left.">Mermaid | Showcase Template +
    Mermaid @@ -30,4 +30,4 @@ end note State1 --> State2 note left of State2 : This is the note to the left.
    \ No newline at end of file +August 13, 2022
    \ No newline at end of file diff --git a/docs/shortcodes/p5/div/index.html b/docs/shortcodes/p5/div/index.html index 63d0d6eb..bf66908f 100644 --- a/docs/shortcodes/p5/div/index.html +++ b/docs/shortcodes/p5/div/index.html @@ -4,8 +4,8 @@ p5-div markdown {{< p5-div sketch="/showcase/sketches/scintillating.">Div | Showcase Template - +p5-div markdown {{< p5-div sketch="/showcase/sketches/scintillating.">Div | Showcase Template +
    Div @@ -94,4 +94,4 @@ } {{< /p5-instance-div >}}
    Note that p5 should be the name to be used for the sketch object variable.
    \ No newline at end of file +November 26, 2022
    \ No newline at end of file diff --git a/docs/shortcodes/p5/iframe/index.html b/docs/shortcodes/p5/iframe/index.html index 78010605..df8c08f3 100644 --- a/docs/shortcodes/p5/iframe/index.html +++ b/docs/shortcodes/p5/iframe/index.html @@ -4,8 +4,8 @@ p5-iframe markdown {{< p5-iframe sketch="/showcase/sketches/colors.">Iframe | Showcase Template - +p5-iframe markdown {{< p5-iframe sketch="/showcase/sketches/colors.">Iframe | Showcase Template +
    Iframe @@ -177,4 +177,4 @@ }
    \ No newline at end of file +November 26, 2022
    \ No newline at end of file diff --git a/docs/shortcodes/p5/index.html b/docs/shortcodes/p5/index.html index 75d516d4..484717c1 100644 --- a/docs/shortcodes/p5/index.html +++ b/docs/shortcodes/p5/index.html @@ -1,6 +1,6 @@ P5 | Showcase Template - +Types # Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{< p5-iframe ver="1.5.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" width="800" height="600" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*.">P5 | Showcase Template +
    @@ -14,4 +14,4 @@ p5-div # {{< p5-div ver="1.5.0" sketch="/path/to/sketch.js" lib1="https://cdntolib1/lib1.js" >}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{< p5-div sketch="/showcase/sketches/scintillating.
    \ No newline at end of file +July 18, 2021
    \ No newline at end of file diff --git a/docs/shortcodes/tabs/index.html b/docs/shortcodes/tabs/index.html index 978eb94b..b85443f6 100644 --- a/docs/shortcodes/tabs/index.html +++ b/docs/shortcodes/tabs/index.html @@ -2,8 +2,8 @@ {{< tabs "uniqueid" >}} {{< tab "MacOS" >}} # MacOS Content {{< /tab >}} {{< tab "Linux" >}} # Linux Content {{< /tab >}} {{< tab "Windows" >}} # Windows Content {{< /tab >}} {{< /tabs >}} Example # MacOS MacOS # This is tab MacOS content. Lorem markdownum insigne. Olympo signis Delphis!">Tabs | Showcase Template - +Lorem markdownum insigne. Olympo signis Delphis!">Tabs | Showcase Template +
    Tabs @@ -30,4 +30,4 @@ stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.

    \ No newline at end of file +July 12, 2021
    \ No newline at end of file diff --git a/en.search-data.min.e954e35b20afeff66433252af972a632efd4a804c6c3f1ec848ed80f15bf23bb.json b/en.search-data.min.4523b412b2ce328005cf4fde738dac7bf8fee5472e7c5cb6fb7fc803e963ebbe.json similarity index 68% rename from en.search-data.min.e954e35b20afeff66433252af972a632efd4a804c6c3f1ec848ed80f15bf23bb.json rename to en.search-data.min.4523b412b2ce328005cf4fde738dac7bf8fee5472e7c5cb6fb7fc803e963ebbe.json index 69c82e84..de129d28 100644 --- a/en.search-data.min.e954e35b20afeff66433252af972a632efd4a804c6c3f1ec848ed80f15bf23bb.json +++ b/en.search-data.min.4523b412b2ce328005cf4fde738dac7bf8fee5472e7c5cb6fb7fc803e963ebbe.json @@ -1 +1 @@ -[{"id":0,"href":"/showcase/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.5.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} Third party libraries # Example adapted from p5.EasyCam.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/quick_easycam.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js\u0026#34; width=\u0026#34;525\u0026#34; height=\u0026#34;525\u0026#34; \u0026gt;}} Sound # Example took from the p5 examples.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/sound.js\u0026#34; width=\u0026#34;225\u0026#34; height=\u0026#34;225\u0026#34; \u0026gt;}} p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.5.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} p5-widget # The p5-widget shortcode embed p5.js code within an p5-widget.\n{{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.5.0\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-widget \u0026gt;}} All parameters are optional. Default ver is 1.5.0. For example:\nWidget example # p5-widget markdown {{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.5.0\u0026#34; \u0026gt;}} function setup() { createCanvas(300, 300); } function draw() { background(255, 0, 255); } {{\u0026lt; /p5-widget \u0026gt;}} "},{"id":1,"href":"/showcase/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.5.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.5.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. Video on canvas # Adapted from here. Don\u0026rsquo;t forget to checkout also the video on dom example.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;video\u0026#34; \u0026gt;}} let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo([\u0026#39;/showcase/sketches/fingers.mov\u0026#39;, \u0026#39;/showcase/sketches/fingers.webm\u0026#39;]); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. "},{"id":2,"href":"/showcase/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":" Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026#34;michael d henderson\u0026#34; description = \u0026#34;a minimal working template\u0026#34; license = \u0026#34;MIT\u0026#34; name = \u0026#34;zafta\u0026#34; source_repo = \u0026#34;\u0026#34; tags = [\u0026#34;tags\u0026#34;, \u0026#34;categories\u0026#34;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026#34;YOUR_NAME_HERE\u0026#34; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026#34;zafta\u0026#34; baseurl = \u0026#34;\u0026#34; languageCode = \u0026#34;en-us\u0026#34; title = \u0026#34;zafta - totally refreshing\u0026#34; MetaDataFormat = \u0026#34;toml\u0026#34; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\nHugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\nPurge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026#34;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026#34;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\nindex.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026#34;\u0026#34; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:54:53-05:00\u0026#34; title = \u0026#34;first\u0026#34; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:57:09-05:00\u0026#34; title = \u0026#34;second\u0026#34; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;, \u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\nrange .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/second/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/first/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026#34;about\u0026#34; description = \u0026#34;about this site\u0026#34; date = \u0026#34;2014-09-27\u0026#34; slug = \u0026#34;about time\u0026#34; +++ ## about us i\u0026#39;m speechless :wq Generate the web site and verify the results.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/theme/\u0026#34;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/about-time/\u0026#34;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/second-post/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/first-post/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026#34;page\u0026#34; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026#34;/:title/\u0026#34; about = \u0026#34;/:filename/\u0026#34; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026#34;theme/partials/header.html\u0026#34; . }} versus\n{{ partial \u0026#34;header.html\u0026#34; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026#34;page\u0026#34;) (eq .Type \u0026#34;about\u0026#34;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":3,"href":"/showcase/posts/migrate-from-jekyll/","title":"Migrate to Hugo from Jekyll","section":"Blog","content":" Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\nChange your submodule to point to map gh-pages to public instead of _site (recommended).\ngit submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n{ .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":4,"href":"/showcase/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\nfalse 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n{{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026#34;Permalinks\u0026#34; date: \u0026#34;2013-11-18\u0026#34; aliases: - \u0026#34;/doc/permalinks/\u0026#34; groups: [\u0026#34;extras\u0026#34;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n{{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026#34;text-center\u0026#34;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026#34;twitter\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://twitter.com/{{.}}\u0026#34; rel=\u0026#34;author\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;/images/twitter.png\u0026#34; width=\u0026#34;48\u0026#34; height=\u0026#34;48\u0026#34; title=\u0026#34;Twitter: {{.}}\u0026#34; alt=\u0026#34;Twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026#34;recent\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026#34;{{.RelPermalink}}\u0026#34;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":5,"href":"/showcase/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":" Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\nClone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":6,"href":"/showcase/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":" Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":7,"href":"/showcase/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":" Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/showcase/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":" Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content # Lorem markdownum insigne\u0026hellip; Title Markdown content # Lorem markdownum insigne\u0026hellip; "},{"id":9,"href":"/showcase/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":" Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":10,"href":"/showcase/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":" KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":11,"href":"/showcase/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":" Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\nExample # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u003e State2 note left of State2 : This is the note to the left. "},{"id":12,"href":"/showcase/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":" p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.5.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors. Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.5.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating. "},{"id":13,"href":"/showcase/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":" Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS # This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux # This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows # This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n"}] \ No newline at end of file +[{"id":0,"href":"/showcase/docs/shortcodes/p5/iframe/","title":"Iframe","section":"P5","content":"p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe.\np5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.5.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nColor relativity # Look at this brief explanation about what color relativity is.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors.js\u0026#34; width=\u0026#34;725\u0026#34; height=\u0026#34;425 \u0026gt;}} Third party libraries # Example adapted from p5.EasyCam.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/quick_easycam.js\u0026#34; lib1=\u0026#34;https://cdn.jsdelivr.net/gh/freshfork/p5.EasyCam@1.2.1/p5.easycam.min.js\u0026#34; width=\u0026#34;525\u0026#34; height=\u0026#34;525\u0026#34; \u0026gt;}} Sound # Example took from the p5 examples.\np5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/sound.js\u0026#34; width=\u0026#34;225\u0026#34; height=\u0026#34;225\u0026#34; \u0026gt;}} p5-global-iframe # {{\u0026lt; p5-global-iframe id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.5.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-global-iframe \u0026gt;}} Note that the inline sketch should be coded in p5 global mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nBreathing square # Look at this reference for an explanation and further parameterization of the illusion.\np5-global-iframe markdown {{\u0026lt; p5-global-iframe id=\u0026#34;breath\u0026#34; width=\u0026#34;625\u0026#34; height=\u0026#34;625\u0026#34; \u0026gt;}} // Coded as `global mode` of [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/rotateSquare.js) let angle = 0; let speed = 0.06; function setup() { createCanvas(600, 600); } function draw() { background(255, 255, 255); rotateSquare(); if (!mouseIsPressed) { strokeWeight(0); stroke(0); fill(255, 140, 0); rect(0, 0, 281, 281); rect(318, 0, 281, 281); rect(0, 318, 281, 281); rect(318, 318, 281, 281); } } function rotateSquare() { push(); angle += speed; strokeWeight(0); stroke(0); fill(0, 0, 255); translate(width / 2, height / 2); rotate(angle); rect(-187.5, -187.5, 375, 375); pop(); } {{\u0026lt; /p5-global-iframe \u0026gt;}} p5-widget # The p5-widget shortcode embed p5.js code within an p5-widget.\n{{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.5.0\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-widget \u0026gt;}} All parameters are optional. Default ver is 1.5.0. For example:\nWidget example # p5-widget markdown {{\u0026lt; p5-widget autoplay=true height=\u0026#34;400\u0026#34; width=\u0026#34;400\u0026#34; ver=\u0026#34;1.5.0\u0026#34; \u0026gt;}} function setup() { createCanvas(300, 300); } function draw() { background(255, 0, 255); } {{\u0026lt; /p5-widget \u0026gt;}} "},{"id":1,"href":"/showcase/docs/shortcodes/p5/div/","title":"Div","section":"P5","content":"p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div.\np5-div # {{\u0026lt; p5-div ver=\u0026#34;1.5.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nScintillating grid # Look at this and also this among many more references there are.\np5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating.js\u0026#34; \u0026gt;}} p5-instance-div # {{\u0026lt; p5-instance-div id=\u0026#34;sketchid\u0026#34; ver=\u0026#34;1.5.0\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} // inline sketch code {{\u0026lt; /p5-instance-div \u0026gt;}} Note that the inline sketch should be coded in p5 instance mode syntax. All parameters are optional but id. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified.\nLilac chaser # Look at this introductory reference.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;lilac-chaser\u0026#34; \u0026gt;}} // Adapted from [this](https://github.com/VisualComputing/Cognitive/blob/gh-pages/sketches/lilacChaser.js) let jump = 0; let count = 0; p5.setup = function() { p5.createCanvas(400, 400); p5.frameRate(7); }; function drawBlurCircles(x, y, r) { p5.push(); p5.noStroke(); var opc = 0.4; var step = 3.0/r; for (var i = r; i \u0026gt; 0; i-=1.5) { if (opc \u0026lt; 5) { opc += step; p5.fill(255, 20, 180, opc); } p5.ellipse(x, y, i, i); } p5.pop(); }; p5.draw = function() { p5.background(200); var numCircles = 12; var stepAngle = 360.0/numCircles; p5.push(); p5.translate(p5.width/2.0, p5.height/2.0); for (var i = 0; i \u0026lt; 360; i = i + stepAngle) { if (i != jump) { p5.push(); p5.rotate(p5.radians(i)); drawBlurCircles(120, 0, 60); p5.pop(); } } if( !p5.mouseIsPressed ) { jump = (jump + stepAngle)%360; } p5.push(); p5.strokeWeight(1.5); p5.line(-7, 0, 7, 0); p5.line(0, -7, 0, 7); p5.pop(); p5.pop(); } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. Video on canvas # Adapted from here. Don\u0026rsquo;t forget to checkout also the video on dom example.\np5-instance-div markdown {{\u0026lt; p5-instance-div id=\u0026#34;video\u0026#34; \u0026gt;}} let fingers; p5.setup = function() { p5.createCanvas(710, 400); // specify multiple formats for different browsers fingers = p5.createVideo([\u0026#39;/showcase/sketches/fingers.mov\u0026#39;, \u0026#39;/showcase/sketches/fingers.webm\u0026#39;]); fingers.hide(); // by default video shows up in separate dom // element. hide it and draw it to the canvas instead }; p5.draw = function() { p5.background(150); p5.image(fingers, 10, 10); // draw the video frame to canvas p5.filter(p5.GRAY); p5.image(fingers, 150, 150); // draw a second copy to canvas }; p5.mousePressed = function() { fingers.loop(); // set the video to loop and start playing } {{\u0026lt; /p5-instance-div \u0026gt;}} Note that p5 should be the name to be used for the sketch object variable. "},{"id":2,"href":"/showcase/posts/creating-a-new-theme/","title":"Creating a New Theme","section":"Blog","content":" Introduction # This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content. I\u0026rsquo;ll explain how Hugo uses templates and how you can organize your templates to create a theme. I won\u0026rsquo;t cover using CSS to style your theme.\nWe\u0026rsquo;ll start with creating a new site with a very basic template. Then we\u0026rsquo;ll add in a few pages and posts. With small variations on that, you will be able to create many different types of web sites.\nIn this tutorial, commands that you enter will start with the \u0026ldquo;$\u0026rdquo; prompt. The output will follow. Lines that start with \u0026ldquo;#\u0026rdquo; are comments that I\u0026rsquo;ve added to explain a point. When I show updates to a file, the \u0026ldquo;:wq\u0026rdquo; on the last line means to save the file.\nHere\u0026rsquo;s an example:\n## this is a comment $ echo this is a command this is a command ## edit the file $ vi foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug :wq ## show it $ cat foo.md +++ date = \u0026#34;2014-09-28\u0026#34; title = \u0026#34;creating a new theme\u0026#34; +++ bah and humbug $ Some Definitions # There are a few concepts that you need to understand before creating a theme.\nSkins # Skins are the files responsible for the look and feel of your site. It’s the CSS that controls colors and fonts, it’s the Javascript that determines actions and reactions. It’s also the rules that Hugo uses to transform your content into the HTML that the site will serve to visitors.\nYou have two ways to create a skin. The simplest way is to create it in the layouts/ directory. If you do, then you don’t have to worry about configuring Hugo to recognize it. The first place that Hugo will look for rules and files is in the layouts/ directory so it will always find the skin.\nYour second choice is to create it in a sub-directory of the themes/ directory. If you do, then you must always tell Hugo where to search for the skin. It’s extra work, though, so why bother with it?\nThe difference between creating a skin in layouts/ and creating it in themes/ is very subtle. A skin in layouts/ can’t be customized without updating the templates and static files that it is built from. A skin created in themes/, on the other hand, can be and that makes it easier for other people to use it.\nThe rest of this tutorial will call a skin created in the themes/ directory a theme.\nNote that you can use this tutorial to create a skin in the layouts/ directory if you wish to. The main difference will be that you won’t need to update the site’s configuration file to use a theme.\nThe Home Page # The home page, or landing page, is the first page that many visitors to a site see. It is the index.html file in the root directory of the web site. Since Hugo writes files to the public/ directory, our home page is public/index.html.\nSite Configuration File # When Hugo runs, it looks for a configuration file that contains settings that override default values for the entire site. The file can use TOML, YAML, or JSON. I prefer to use TOML for my configuration files. If you prefer to use JSON or YAML, you’ll need to translate my examples. You’ll also need to change the name of the file since Hugo uses the extension to determine how to process it.\nHugo translates Markdown files into HTML. By default, Hugo expects to find Markdown files in your content/ directory and template files in your themes/ directory. It will create HTML files in your public/ directory. You can change this by specifying alternate locations in the configuration file.\nContent # Content is stored in text files that contain two sections. The first section is the “front matter,” which is the meta-information on the content. The second section contains Markdown that will be converted to HTML.\nFront Matter # The front matter is information about the content. Like the configuration file, it can be written in TOML, YAML, or JSON. Unlike the configuration file, Hugo doesn’t use the file’s extension to know the format. It looks for markers to signal the type. TOML is surrounded by “+++”, YAML by “---”, and JSON is enclosed in curly braces. I prefer to use TOML, so you’ll need to translate my examples if you prefer YAML or JSON.\nThe information in the front matter is passed into the template before the content is rendered into HTML.\nMarkdown # Content is written in Markdown which makes it easier to create the content. Hugo runs the content through a Markdown engine to create the HTML which will be written to the output file.\nTemplate Files # Hugo uses template files to render content into HTML. Template files are a bridge between the content and presentation. Rules in the template define what content is published, where it\u0026rsquo;s published to, and how it will rendered to the HTML file. The template guides the presentation by specifying the style to use.\nThere are three types of templates: single, list, and partial. Each type takes a bit of content as input and transforms it based on the commands in the template.\nHugo uses its knowledge of the content to find the template file used to render the content. If it can’t find a template that is an exact match for the content, it will shift up a level and search from there. It will continue to do so until it finds a matching template or runs out of templates to try. If it can’t find a template, it will use the default template for the site.\nPlease note that you can use the front matter to influence Hugo’s choice of templates.\nSingle Template # A single template is used to render a single piece of content. For example, an article or post would be a single piece of content and use a single template.\nList Template # A list template renders a group of related content. That could be a summary of recent postings or all articles in a category. List templates can contain multiple groups.\nThe homepage template is a special type of list template. Hugo assumes that the home page of your site will act as the portal for the rest of the content in the site.\nPartial Template # A partial template is a template that can be included in other templates. Partial templates must be called using the “partial” template command. They are very handy for rolling up common behavior. For example, your site may have a banner that all pages use. Instead of copying the text of the banner into every single and list template, you could create a partial with the banner in it. That way if you decide to change the banner, you only have to change the partial template.\nCreate a New Site # Let\u0026rsquo;s use Hugo to create a new web site. I\u0026rsquo;m a Mac user, so I\u0026rsquo;ll create mine in my home directory, in the Sites folder. If you\u0026rsquo;re using Linux, you might have to create the folder first.\nThe \u0026ldquo;new site\u0026rdquo; command will create a skeleton of a site. It will give you the basic directory structure and a useable configuration file.\n$ hugo new site ~/Sites/zafta $ cd ~/Sites/zafta $ ls -l total 8 drwxr-xr-x 7 quoha staff 238 Sep 29 16:49 . drwxr-xr-x 3 quoha staff 102 Sep 29 16:49 .. drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ Take a look in the content/ directory to confirm that it is empty.\nThe other directories (archetypes/, layouts/, and static/) are used when customizing a theme. That\u0026rsquo;s a topic for a different tutorial, so please ignore them for now.\nGenerate the HTML For the New Site # Running the hugo command with no options will read all the available content and generate the HTML files. It will also copy all static files (that\u0026rsquo;s everything that\u0026rsquo;s not content). Since we have an empty site, it won\u0026rsquo;t do much, but it will do it very quickly.\n$ hugo --verbose INFO: 2014/09/29 Using config file: config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ The \u0026ldquo;--verbose\u0026rdquo; flag gives extra information that will be helpful when we build the template. Every line of the output that starts with \u0026ldquo;INFO:\u0026rdquo; or \u0026ldquo;WARN:\u0026rdquo; is present because we used that flag. The lines that start with \u0026ldquo;WARN:\u0026rdquo; are warning messages. We\u0026rsquo;ll go over them later.\nWe can verify that the command worked by looking at the directory again.\n$ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static $ See that new public/ directory? Hugo placed all generated content there. When you\u0026rsquo;re ready to publish your web site, that\u0026rsquo;s the place to start. For now, though, let\u0026rsquo;s just confirm that we have what we\u0026rsquo;d expect from a site with no content.\n$ ls -l public total 16 -rw-r--r-- 1 quoha staff 416 Sep 29 17:02 index.xml -rw-r--r-- 1 quoha staff 262 Sep 29 17:02 sitemap.xml $ Hugo created two XML files, which is standard, but there are no HTML files.\nTest the New Site # Verify that you can run the built-in web server. It will dramatically shorten your development cycle if you do. Start it by running the \u0026ldquo;server\u0026rdquo; command. If it is successful, you will see output similar to the following:\n$ hugo server --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop Connect to the listed URL (it\u0026rsquo;s on the line that starts with \u0026ldquo;Web Server\u0026rdquo;). If everything is working correctly, you should get a page that shows the following:\nindex.xml sitemap.xml That\u0026rsquo;s a listing of your public/ directory. Hugo didn\u0026rsquo;t create a home page because our site has no content. When there\u0026rsquo;s no index.html file in a directory, the server lists the files in the directory, which is what you should see in your browser.\nLet’s go back and look at those warnings again.\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] WARN: 2014/09/29 Unable to locate layout: [404.html] That second warning is easier to explain. We haven’t created a template to be used to generate “page not found errors.” The 404 message is a topic for a separate tutorial.\nNow for the first warning. It is for the home page. You can tell because the first layout that it looked for was “index.html.” That’s only used by the home page.\nI like that the verbose flag causes Hugo to list the files that it\u0026rsquo;s searching for. For the home page, they are index.html, _default/list.html, and _default/single.html. There are some rules that we\u0026rsquo;ll cover later that explain the names and paths. For now, just remember that Hugo couldn\u0026rsquo;t find a template for the home page and it told you so.\nAt this point, you\u0026rsquo;ve got a working installation and site that we can build upon. All that’s left is to add some content and a theme to display it.\nCreate a New Theme # Hugo doesn\u0026rsquo;t ship with a default theme. There are a few available (I counted a dozen when I first installed Hugo) and Hugo comes with a command to create new themes.\nWe\u0026rsquo;re going to create a new theme called \u0026ldquo;zafta.\u0026rdquo; Since the goal of this tutorial is to show you how to fill out the files to pull in your content, the theme will not contain any CSS. In other words, ugly but functional.\nAll themes have opinions on content and layout. For example, Zafta uses \u0026ldquo;post\u0026rdquo; over \u0026ldquo;blog\u0026rdquo;. Strong opinions make for simpler templates but differing opinions make it tougher to use themes. When you build a theme, consider using the terms that other themes do.\nCreate a Skeleton # Use the hugo \u0026ldquo;new\u0026rdquo; command to create the skeleton of a theme. This creates the directory structure and places empty files for you to fill out.\n$ hugo new theme zafta $ ls -l total 8 drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 archetypes -rw-r--r-- 1 quoha staff 82 Sep 29 16:49 config.toml drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 content drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:02 public drwxr-xr-x 2 quoha staff 68 Sep 29 16:49 static drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes $ find themes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 1081 Sep 29 17:31 themes/zafta/LICENSE.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html -rw-r--r-- 1 quoha staff 93 Sep 29 17:31 themes/zafta/theme.toml $ The skeleton includes templates (the files ending in .html), license file, a description of your theme (the theme.toml file), and an empty archetype.\nPlease take a minute to fill out the theme.toml and LICENSE.md files. They\u0026rsquo;re optional, but if you\u0026rsquo;re going to be distributing your theme, it tells the world who to praise (or blame). It\u0026rsquo;s also nice to declare the license so that people will know how they can use the theme.\n$ vi themes/zafta/theme.toml author = \u0026#34;michael d henderson\u0026#34; description = \u0026#34;a minimal working template\u0026#34; license = \u0026#34;MIT\u0026#34; name = \u0026#34;zafta\u0026#34; source_repo = \u0026#34;\u0026#34; tags = [\u0026#34;tags\u0026#34;, \u0026#34;categories\u0026#34;] :wq ## also edit themes/zafta/LICENSE.md and change ## the bit that says \u0026#34;YOUR_NAME_HERE\u0026#34; Note that the the skeleton\u0026rsquo;s template files are empty. Don\u0026rsquo;t worry, we\u0026rsquo;ll be changing that shortly.\n$ find themes/zafta -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/single.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/footer.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/partials/header.html $ Update the Configuration File to Use the Theme # Now that we\u0026rsquo;ve got a theme to work with, it\u0026rsquo;s a good idea to add the theme name to the configuration file. This is optional, because you can always add \u0026ldquo;-t zafta\u0026rdquo; on all your commands. I like to put it the configuration file because I like shorter command lines. If you don\u0026rsquo;t put it in the configuration file or specify it on the command line, you won\u0026rsquo;t use the template that you\u0026rsquo;re expecting to.\nEdit the file to add the theme, add a title for the site, and specify that all of our content will use the TOML format.\n$ vi config.toml theme = \u0026#34;zafta\u0026#34; baseurl = \u0026#34;\u0026#34; languageCode = \u0026#34;en-us\u0026#34; title = \u0026#34;zafta - totally refreshing\u0026#34; MetaDataFormat = \u0026#34;toml\u0026#34; :wq $ Generate the Site # Now that we have an empty theme, let\u0026rsquo;s generate the site again.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ Did you notice that the output is different? The warning message for the home page has disappeared and we have an additional information line saying that Hugo is syncing from the theme\u0026rsquo;s directory.\nLet\u0026rsquo;s check the public/ directory to see what Hugo\u0026rsquo;s created.\n$ ls -l public total 16 drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 css -rw-r--r-- 1 quoha staff 0 Sep 29 17:56 index.html -rw-r--r-- 1 quoha staff 407 Sep 29 17:56 index.xml drwxr-xr-x 2 quoha staff 68 Sep 29 17:56 js -rw-r--r-- 1 quoha staff 243 Sep 29 17:56 sitemap.xml $ Notice four things:\nHugo created a home page. This is the file public/index.html. Hugo created a css/ directory. Hugo created a js/ directory. Hugo claimed that it created 0 pages. It created a file and copied over static files, but didn\u0026rsquo;t create any pages. That\u0026rsquo;s because it considers a \u0026ldquo;page\u0026rdquo; to be a file created directly from a content file. It doesn\u0026rsquo;t count things like the index.html files that it creates automatically. The Home Page # Hugo supports many different types of templates. The home page is special because it gets its own type of template and its own template file. The file, layouts/index.html, is used to generate the HTML for the home page. The Hugo documentation says that this is the only required template, but that depends. Hugo\u0026rsquo;s warning message shows that it looks for three different templates:\nWARN: 2014/09/29 Unable to locate layout: [index.html _default/list.html _default/single.html] If it can\u0026rsquo;t find any of these, it completely skips creating the home page. We noticed that when we built the site without having a theme installed.\nWhen Hugo created our theme, it created an empty home page template. Now, when we build the site, Hugo finds the template and uses it to generate the HTML for the home page. Since the template file is empty, the HTML file is empty, too. If the template had any rules in it, then Hugo would have used them to generate the home page.\n$ find . -name index.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 20:21 ./public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 ./themes/zafta/layouts/index.html $ The Magic of Static # Hugo does two things when generating the site. It uses templates to transform content into HTML and it copies static files into the site. Unlike content, static files are not transformed. They are copied exactly as they are.\nHugo assumes that your site will use both CSS and JavaScript, so it creates directories in your theme to hold them. Remember opinions? Well, Hugo\u0026rsquo;s opinion is that you\u0026rsquo;ll store your CSS in a directory named css/ and your JavaScript in a directory named js/. If you don\u0026rsquo;t like that, you can change the directory names in your theme directory or even delete them completely. Hugo\u0026rsquo;s nice enough to offer its opinion, then behave nicely if you disagree.\n$ find themes/zafta -type d | xargs ls -ld drwxr-xr-x 7 quoha staff 238 Sep 29 17:38 themes/zafta drwxr-xr-x 3 quoha staff 102 Sep 29 17:31 themes/zafta/archetypes drwxr-xr-x 5 quoha staff 170 Sep 29 17:31 themes/zafta/layouts drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/_default drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/layouts/partials drwxr-xr-x 4 quoha staff 136 Sep 29 17:31 themes/zafta/static drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/css drwxr-xr-x 2 quoha staff 68 Sep 29 17:31 themes/zafta/static/js $ The Theme Development Cycle # When you\u0026rsquo;re working on a theme, you will make changes in the theme\u0026rsquo;s directory, rebuild the site, and check your changes in the browser. Hugo makes this very easy:\nPurge the public/ directory. Run the built in web server in watch mode. Open your site in a browser. Update the theme. Glance at your browser window to see changes. Return to step 4. I’ll throw in one more opinion: never work on a theme on a live site. Always work on a copy of your site. Make changes to your theme, test them, then copy them up to your site. For added safety, use a tool like Git to keep a revision history of your content and your theme. Believe me when I say that it is too easy to lose both your mind and your changes.\nCheck the main Hugo site for information on using Git with Hugo.\nPurge the public/ Directory # When generating the site, Hugo will create new files and update existing ones in the public/ directory. It will not delete files that are no longer used. For example, files that were created in the wrong directory or with the wrong title will remain. If you leave them, you might get confused by them later. I recommend cleaning out your site prior to generating it.\nNote: If you\u0026rsquo;re building on an SSD, you should ignore this. Churning on a SSD can be costly.\nHugo\u0026rsquo;s Watch Option # Hugo\u0026rsquo;s \u0026ldquo;--watch\u0026rdquo; option will monitor the content/ and your theme directories for changes and rebuild the site automatically.\nLive Reload # Hugo\u0026rsquo;s built in web server supports live reload. As pages are saved on the server, the browser is told to refresh the page. Usually, this happens faster than you can say, \u0026ldquo;Wow, that\u0026rsquo;s totally amazing.\u0026rdquo;\nDevelopment Commands # Use the following commands as the basis for your workflow.\n## purge old files. hugo will recreate the public directory. ## $ rm -rf public ## ## run hugo in watch mode ## $ hugo server --watch --verbose Here\u0026rsquo;s sample output showing Hugo detecting a change to the template for the home page. Once generated, the web browser automatically reloaded the page. I\u0026rsquo;ve said this before, it\u0026rsquo;s amazing.\n$ rm -rf public $ hugo server --watch --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms Watching for changes in /Users/quoha/Sites/zafta/content Serving pages from /Users/quoha/Sites/zafta/public Web Server is available at http://localhost:1313 Press Ctrl+C to stop INFO: 2014/09/29 File System Event: [\u0026#34;/Users/quoha/Sites/zafta/themes/zafta/layouts/index.html\u0026#34;: MODIFY|ATTRIB] Change detected, rebuilding site WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 1 ms Update the Home Page Template # The home page is one of a few special pages that Hugo creates automatically. As mentioned earlier, it looks for one of three files in the theme\u0026rsquo;s layout/ directory:\nindex.html _default/list.html _default/single.html We could update one of the default templates, but a good design decision is to update the most specific template available. That\u0026rsquo;s not a hard and fast rule (in fact, we\u0026rsquo;ll break it a few times in this tutorial), but it is a good generalization.\nMake a Static Home Page # Right now, that page is empty because we don\u0026rsquo;t have any content and we don\u0026rsquo;t have any logic in the template. Let\u0026rsquo;s change that by adding some text to the template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and then verify the results.\n$ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 0 pages created 0 tags created 0 categories created in 2 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 21:26 public/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;/html\u0026gt; Live Reload # Note: If you\u0026rsquo;re running the server with the --watch option, you\u0026rsquo;ll see different content in the file:\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;hugo says hello!\u0026lt;/p\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; When you use --watch, the Live Reload script is added by Hugo. Look for live reload in the documentation to see what it does and how to disable it.\nBuild a \u0026ldquo;Dynamic\u0026rdquo; Home Page # \u0026ldquo;Dynamic home page?\u0026rdquo; Hugo\u0026rsquo;s a static web site generator, so this seems an odd thing to say. I mean let\u0026rsquo;s have the home page automatically reflect the content in the site every time Hugo builds it. We\u0026rsquo;ll use iteration in the template to do that.\nCreate New Posts # Now that we have the home page generating static content, let\u0026rsquo;s add some content to the site. We\u0026rsquo;ll display these posts as a list on the home page and on their own page, too.\nHugo has a command to generate a skeleton post, just like it does for sites and themes.\n$ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/default.md ERROR: 2014/09/29 Unable to Cast \u0026lt;nil\u0026gt; to map[string]interface{} $ That wasn\u0026rsquo;t very nice, was it?\nThe \u0026ldquo;new\u0026rdquo; command uses an archetype to create the post file. Hugo created an empty default archetype file, but that causes an error when there\u0026rsquo;s a theme. For me, the workaround was to create an archetypes file specifically for the post type.\n$ vi themes/zafta/archetypes/post.md +++ Description = \u0026#34;\u0026#34; Tags = [] Categories = [] +++ :wq $ find themes/zafta/archetypes -type f | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 21:53 themes/zafta/archetypes/default.md -rw-r--r-- 1 quoha staff 51 Sep 29 21:54 themes/zafta/archetypes/post.md $ hugo --verbose new post/first.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/first.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/first.md /Users/quoha/Sites/zafta/content/post/first.md created $ hugo --verbose new post/second.md INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 attempting to create post/second.md of post INFO: 2014/09/29 curpath: /Users/quoha/Sites/zafta/themes/zafta/archetypes/post.md INFO: 2014/09/29 creating /Users/quoha/Sites/zafta/content/post/second.md /Users/quoha/Sites/zafta/content/post/second.md created $ ls -l content/post total 16 -rw-r--r-- 1 quoha staff 104 Sep 29 21:54 first.md -rw-r--r-- 1 quoha staff 105 Sep 29 21:57 second.md $ cat content/post/first.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:54:53-05:00\u0026#34; title = \u0026#34;first\u0026#34; +++ my first post $ cat content/post/second.md +++ Categories = [] Description = \u0026#34;\u0026#34; Tags = [] date = \u0026#34;2014-09-29T21:57:09-05:00\u0026#34; title = \u0026#34;second\u0026#34; +++ my second post $ Build the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;, \u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ The output says that it created 2 pages. Those are our new posts:\n$ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 78 Sep 29 22:13 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:13 public/post/second/index.html $ The new files are empty because because the templates used to generate the content are empty. The homepage doesn\u0026rsquo;t show the new content, either. We have to update the templates to add the posts.\nList and Single Templates # In Hugo, we have three major kinds of templates. There\u0026rsquo;s the home page template that we updated previously. It is used only by the home page. We also have \u0026ldquo;single\u0026rdquo; templates which are used to generate output for a single content file. We also have \u0026ldquo;list\u0026rdquo; templates that are used to group multiple pieces of content before generating output.\nGenerally speaking, list templates are named \u0026ldquo;list.html\u0026rdquo; and single templates are named \u0026ldquo;single.html.\u0026rdquo;\nThere are three other types of templates: partials, content views, and terms. We will not go into much detail on these.\nAdd Content to the Homepage # The home page will contain a list of posts. Let\u0026rsquo;s update its template to add the posts that we just created. The logic in the template will run every time we build the site.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Hugo uses the Go template engine. That engine scans the template files for commands which are enclosed between \u0026ldquo;{{\u0026rdquo; and \u0026ldquo;}}\u0026rdquo;. In our template, the commands are:\nrange .Title end The \u0026ldquo;range\u0026rdquo; command is an iterator. We\u0026rsquo;re going to use it to go through the first ten pages. Every HTML file that Hugo creates is treated as a page, so looping through the list of pages will look at every file that will be created.\nThe \u0026ldquo;.Title\u0026rdquo; command prints the value of the \u0026ldquo;title\u0026rdquo; variable. Hugo pulls it from the front matter in the Markdown file.\nThe \u0026ldquo;end\u0026rdquo; command signals the end of the range iterator. The engine loops back to the top of the iteration when it finds \u0026ldquo;end.\u0026rdquo; Everything between the \u0026ldquo;range\u0026rdquo; and \u0026ldquo;end\u0026rdquo; is evaluated every time the engine goes through the iteration. In this file, that would cause the title from the first ten pages to be output as heading level one.\nIt\u0026rsquo;s helpful to remember that some variables, like .Data, are created before any output files. Hugo loads every content file into the variable and then gives the template a chance to process before creating the HTML files.\nBuild the web site and then verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:23 public/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:23 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Congratulations, the home page shows the title of the two posts. The posts themselves are still empty, but let\u0026rsquo;s take a moment to appreciate what we\u0026rsquo;ve done. Your template now generates output dynamically. Believe it or not, by inserting the range command inside of those curly braces, you\u0026rsquo;ve learned everything you need to know to build a theme. All that\u0026rsquo;s really left is understanding which template will be used to generate each content file and becoming familiar with the commands for the template engine.\nAnd, if that were entirely true, this tutorial would be much shorter. There are a few things to know that will make creating a new template much easier. Don\u0026rsquo;t worry, though, that\u0026rsquo;s all to come.\nAdd Content to the Posts # We\u0026rsquo;re working with posts, which are in the content/post/ directory. That means that their section is \u0026ldquo;post\u0026rdquo; (and if we don\u0026rsquo;t do something weird, their type is also \u0026ldquo;post\u0026rdquo;).\nHugo uses the section and type to find the template file for every piece of content. Hugo will first look for a template file that matches the section or type name. If it can\u0026rsquo;t find one, then it will look in the _default/ directory. There are some twists that we\u0026rsquo;ll cover when we get to categories and tags, but for now we can assume that Hugo will try post/single.html, then _default/single.html.\nNow that we know the search rule, let\u0026rsquo;s see what we actually have available:\n$ find themes/zafta -name single.html | xargs ls -l -rw-r--r-- 1 quoha staff 132 Sep 29 17:31 themes/zafta/layouts/_default/single.html We could create a new template, post/single.html, or change the default. Since we don\u0026rsquo;t know of any other content types, let\u0026rsquo;s start with updating the default.\nRemember, any content that we haven\u0026rsquo;t created a template for will end up using this template. That can be good or bad. Bad because I know that we\u0026rsquo;re going to be adding different types of content and we\u0026rsquo;re going to end up undoing some of the changes we\u0026rsquo;ve made. It\u0026rsquo;s good because we\u0026rsquo;ll be able to see immediate results. It\u0026rsquo;s also good to start here because we can start to build the basic layout for the site. As we add more content types, we\u0026rsquo;ll refactor this file and move logic around. Hugo makes that fairly painless, so we\u0026rsquo;ll accept the cost and proceed.\nPlease see the Hugo documentation on template rendering for all the details on determining which template to use. And, as the docs mention, if you\u0026rsquo;re building a single page application (SPA) web site, you can delete all of the other templates and work with just the default single page. That\u0026rsquo;s a refreshing amount of joy right there.\nUpdate the Template File # $ vi themes/zafta/layouts/_default/single.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq $ Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 94 Sep 29 22:40 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:40 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:40 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:40 public/post/second/index.html $ cat public/post/first/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;first\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;first\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my first post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ cat public/post/second/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;second\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;second\u0026lt;/h1\u0026gt; \u0026lt;p\u0026gt;my second post\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Notice that the posts now have content. You can go to localhost:1313/post/first to verify.\nLinking to Content # The posts are on the home page. Let\u0026rsquo;s add a link from there to the post. Since this is the home page, we\u0026rsquo;ll update its template.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; {{ range first 10 .Data.Pages }} \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Build the web site and verify the results.\n$ rm -rf public $ hugo --verbose INFO: 2014/09/29 Using config file: /Users/quoha/Sites/zafta/config.toml INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/themes/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 syncing from /Users/quoha/Sites/zafta/static/ to /Users/quoha/Sites/zafta/public/ INFO: 2014/09/29 found taxonomies: map[string]string{\u0026#34;tag\u0026#34;:\u0026#34;tags\u0026#34;, \u0026#34;category\u0026#34;:\u0026#34;categories\u0026#34;} WARN: 2014/09/29 Unable to locate layout: [404.html theme/404.html] 0 draft content 0 future content 2 pages created 0 tags created 0 categories created in 4 ms $ find public -type f -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-r--r-- 1 quoha staff 149 Sep 29 22:44 public/index.html -rw-r--r-- 1 quoha staff 125 Sep 29 22:44 public/post/first/index.html -rw-r--r-- 1 quoha staff 0 Sep 29 22:44 public/post/index.html -rw-r--r-- 1 quoha staff 128 Sep 29 22:44 public/post/second/index.html $ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/second/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;/post/first/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; $ Create a Post Listing # We have the posts displaying on the home page and on their own page. We also have a file public/post/index.html that is empty. Let\u0026rsquo;s make it show a list of all posts (not just the first ten).\nWe need to decide which template to update. This will be a listing, so it should be a list template. Let\u0026rsquo;s take a quick look and see which list templates are available.\n$ find themes/zafta -name list.html | xargs ls -l -rw-r--r-- 1 quoha staff 0 Sep 29 17:31 themes/zafta/layouts/_default/list.html As with the single post, we have to decide to update _default/list.html or create post/list.html. We still don\u0026rsquo;t have multiple content types, so let\u0026rsquo;s stay consistent and update the default list template.\nCreating Top Level Pages # Let\u0026rsquo;s add an \u0026ldquo;about\u0026rdquo; page and display it at the top level (as opposed to a sub-level like we did with posts).\nThe default in Hugo is to use the directory structure of the content/ directory to guide the location of the generated html in the public/ directory. Let\u0026rsquo;s verify that by creating an \u0026ldquo;about\u0026rdquo; page at the top level:\n$ vi content/about.md +++ title = \u0026#34;about\u0026#34; description = \u0026#34;about this site\u0026#34; date = \u0026#34;2014-09-27\u0026#34; slug = \u0026#34;about time\u0026#34; +++ ## about us i\u0026#39;m speechless :wq Generate the web site and verify the results.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:08 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 527 Sep 27 15:08 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:08 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:08 public/post/second-post/index.html Notice that the page wasn\u0026rsquo;t created at the top level. It was created in a sub-directory named \u0026lsquo;about-time/\u0026rsquo;. That name came from our slug. Hugo will use the slug to name the generated content. It\u0026rsquo;s a reasonable default, by the way, but we can learn a few things by fighting it for this file.\nOne other thing. Take a look at the home page.\n$ cat public/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/theme/\u0026#34;\u0026gt;creating a new theme\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/about-time/\u0026#34;\u0026gt;about\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/second-post/\u0026#34;\u0026gt;second\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;h1\u0026gt;\u0026lt;a href=\u0026#34;http://localhost:1313/post/first-post/\u0026#34;\u0026gt;first\u0026lt;/a\u0026gt;\u0026lt;/h1\u0026gt; \u0026lt;script\u0026gt;document.write(\u0026#39;\u0026lt;script src=\u0026#34;http://\u0026#39; + (location.host || \u0026#39;localhost\u0026#39;).split(\u0026#39;:\u0026#39;)[0] + \u0026#39;:1313/livereload.js?mindelay=10\u0026#34;\u0026gt;\u0026lt;/\u0026#39; + \u0026#39;script\u0026gt;\u0026#39;)\u0026lt;/script\u0026gt;\u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Notice that the \u0026ldquo;about\u0026rdquo; link is listed with the posts? That\u0026rsquo;s not desirable, so let\u0026rsquo;s change that first.\n$ vi themes/zafta/layouts/index.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;body\u0026gt; \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if eq .Type \u0026#34;page\u0026#34; }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Generate the web site and verify the results. The home page has two sections, posts and pages, and each section has the right set of headings and links in it.\nBut, that about page still renders to about-time/index.html.\n$ find public -name \u0026#39;*.html\u0026#39; | xargs ls -l -rw-rw-r-- 1 mdhender staff 334 Sep 27 15:33 public/about-time/index.html -rw-rw-r-- 1 mdhender staff 645 Sep 27 15:33 public/index.html -rw-rw-r-- 1 mdhender staff 358 Sep 27 15:33 public/post/first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r-- 1 mdhender staff 342 Sep 27 15:33 public/post/second-post/index.html Knowing that hugo is using the slug to generate the file name, the simplest solution is to change the slug. Let\u0026rsquo;s do it the hard way and change the permalink in the configuration file.\n$ vi config.toml [permalinks] page = \u0026#34;/:title/\u0026#34; about = \u0026#34;/:filename/\u0026#34; Generate the web site and verify that this didn\u0026rsquo;t work. Hugo lets \u0026ldquo;slug\u0026rdquo; or \u0026ldquo;URL\u0026rdquo; override the permalinks setting in the configuration file. Go ahead and comment out the slug in content/about.md, then generate the web site to get it to be created in the right place.\nSharing Templates # If you\u0026rsquo;ve been following along, you probably noticed that posts have titles in the browser and the home page doesn\u0026rsquo;t. That\u0026rsquo;s because we didn\u0026rsquo;t put the title in the home page\u0026rsquo;s template (layouts/index.html). That\u0026rsquo;s an easy thing to do, but let\u0026rsquo;s look at a different option.\nWe can put the common bits into a shared template that\u0026rsquo;s stored in the themes/zafta/layouts/partials/ directory.\nCreate the Header and Footer Partials # In Hugo, a partial is a sugar-coated template. Normally a template reference has a path specified. Partials are different. Hugo searches for them along a TODO defined search path. This makes it easier for end-users to override the theme\u0026rsquo;s presentation.\n$ vi themes/zafta/layouts/partials/header.html \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html\u0026gt; \u0026lt;head\u0026gt; \u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; :wq $ vi themes/zafta/layouts/partials/footer.html \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; :wq Update the Home Page Template to Use the Partials # The most noticeable difference between a template call and a partials call is the lack of path:\n{{ template \u0026#34;theme/partials/header.html\u0026#34; . }} versus\n{{ partial \u0026#34;header.html\u0026#34; . }} Both pass in the context.\nLet\u0026rsquo;s change the home page template to use these new partials.\n$ vi themes/zafta/layouts/index.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;posts\u0026lt;/h1\u0026gt; {{ range first 10 .Data.Pages }} {{ if eq .Type \u0026#34;post\u0026#34;}} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Title }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} \u0026lt;h1\u0026gt;pages\u0026lt;/h1\u0026gt; {{ range .Data.Pages }} {{ if or (eq .Type \u0026#34;page\u0026#34;) (eq .Type \u0026#34;about\u0026#34;) }} \u0026lt;h2\u0026gt;\u0026lt;a href=\u0026#34;{{ .Permalink }}\u0026#34;\u0026gt;{{ .Type }} - {{ .Title }} - {{ .RelPermalink }}\u0026lt;/a\u0026gt;\u0026lt;/h2\u0026gt; {{ end }} {{ end }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the home page is now \u0026ldquo;your title here\u0026rdquo;, which comes from the \u0026ldquo;title\u0026rdquo; variable in the config.toml file.\nUpdate the Default Single Template to Use the Partials # $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The title on the posts and the about page should both reflect the value in the markdown file.\nAdd “Date Published” to Posts # It\u0026rsquo;s common to have posts display the date that they were written or published, so let\u0026rsquo;s add that. The front matter of our posts has a variable named \u0026ldquo;date.\u0026rdquo; It\u0026rsquo;s usually the date the content was created, but let\u0026rsquo;s pretend that\u0026rsquo;s the value we want to display.\nAdd “Date Published” to the Template # We\u0026rsquo;ll start by updating the template used to render the posts. The template code will look like:\n{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }} Posts use the default single template, so we\u0026rsquo;ll change that file.\n$ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Generate the web site and verify the results. The posts now have the date displayed in them. There\u0026rsquo;s a problem, though. The \u0026ldquo;about\u0026rdquo; page also has the date displayed.\nAs usual, there are a couple of ways to make the date display only on posts. We could do an \u0026ldquo;if\u0026rdquo; statement like we did on the home page. Another way would be to create a separate template for posts.\nThe \u0026ldquo;if\u0026rdquo; solution works for sites that have just a couple of content types. It aligns with the principle of \u0026ldquo;code for today,\u0026rdquo; too.\nLet\u0026rsquo;s assume, though, that we\u0026rsquo;ve made our site so complex that we feel we have to create a new template type. In Hugo-speak, we\u0026rsquo;re going to create a section template.\nLet\u0026rsquo;s restore the default single template before we forget.\n$ mkdir themes/zafta/layouts/post $ vi themes/zafta/layouts/_default/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Now we\u0026rsquo;ll update the post\u0026rsquo;s version of the single template. If you remember Hugo\u0026rsquo;s rules, the template engine will use this version over the default.\n$ vi themes/zafta/layouts/post/single.html {{ partial \u0026#34;header.html\u0026#34; . }} \u0026lt;h1\u0026gt;{{ .Title }}\u0026lt;/h1\u0026gt; \u0026lt;h2\u0026gt;{{ .Date.Format \u0026#34;Mon, Jan 2, 2006\u0026#34; }}\u0026lt;/h2\u0026gt; {{ .Content }} {{ partial \u0026#34;footer.html\u0026#34; . }} :wq Note that we removed the date logic from the default template and put it in the post template. Generate the web site and verify the results. Posts have dates and the about page doesn\u0026rsquo;t.\nDon\u0026rsquo;t Repeat Yourself # DRY is a good design goal and Hugo does a great job supporting it. Part of the art of a good template is knowing when to add a new template and when to update an existing one. While you\u0026rsquo;re figuring that out, accept that you\u0026rsquo;ll be doing some refactoring. Hugo makes that easy and fast, so it\u0026rsquo;s okay to delay splitting up a template.\n"},{"id":3,"href":"/showcase/posts/migrate-from-jekyll/","title":"Migrating from Jekyll","section":"Blog","content":" Move static content to static # Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like\n▾ \u0026lt;root\u0026gt;/ ▾ images/ logo.png should become\n▾ \u0026lt;root\u0026gt;/ ▾ static/ ▾ images/ logo.png Additionally, you\u0026rsquo;ll want any files that should reside at the root (such as CNAME) to be moved to static.\nCreate your Hugo configuration file # Hugo can read your configuration as JSON, YAML or TOML. Hugo supports parameters custom configuration too. Refer to the Hugo configuration documentation for details.\nSet your configuration publish folder to _site # The default is for Jekyll to publish to _site and for Hugo to publish to public. If, like me, you have _site mapped to a git submodule on the gh-pages branch, you\u0026rsquo;ll want to do one of two alternatives:\nChange your submodule to point to map gh-pages to public instead of _site (recommended).\ngit submodule deinit _site git rm _site git submodule add -b gh-pages git@github.com:your-username/your-repo.git public Or, change the Hugo configuration to use _site instead of public.\n{ .. \u0026quot;publishdir\u0026quot;: \u0026quot;_site\u0026quot;, .. } Convert Jekyll templates to Hugo templates # That\u0026rsquo;s the bulk of the work right here. The documentation is your friend. You should refer to Jekyll\u0026rsquo;s template documentation if you need to refresh your memory on how you built your blog and Hugo\u0026rsquo;s template to learn Hugo\u0026rsquo;s way.\nAs a single reference data point, converting my templates for heyitsalex.net took me no more than a few hours.\nConvert Jekyll plugins to Hugo shortcodes # Jekyll has plugins; Hugo has shortcodes. It\u0026rsquo;s fairly trivial to do a port.\nImplementation # As an example, I was using a custom image_tag plugin to generate figures with caption when running Jekyll. As I read about shortcodes, I found Hugo had a nice built-in shortcode that does exactly the same thing.\nJekyll\u0026rsquo;s plugin:\nmodule Jekyll class ImageTag \u0026lt; Liquid::Tag @url = nil @caption = nil @class = nil @link = nil // Patterns IMAGE_URL_WITH_CLASS_AND_CAPTION = IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;(\\s+)-\u0026gt;((https?:\\/\\/|\\/)(\\S+))(\\s*)/i IMAGE_URL_WITH_CAPTION = /((https?:\\/\\/|\\/)(\\S+))(\\s+)\u0026quot;(.*?)\u0026quot;/i IMAGE_URL_WITH_CLASS = /(\\w+)(\\s+)((https?:\\/\\/|\\/)(\\S+))/i IMAGE_URL = /((https?:\\/\\/|\\/)(\\S+))/i def initialize(tag_name, markup, tokens) super if markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION_AND_LINK @class = $1 @url = $3 @caption = $7 @link = $9 elsif markup =~ IMAGE_URL_WITH_CLASS_AND_CAPTION @class = $1 @url = $3 @caption = $7 elsif markup =~ IMAGE_URL_WITH_CAPTION @url = $1 @caption = $5 elsif markup =~ IMAGE_URL_WITH_CLASS @class = $1 @url = $3 elsif markup =~ IMAGE_URL @url = $1 end end def render(context) if @class source = \u0026quot;\u0026lt;figure class='#{@class}'\u0026gt;\u0026quot; else source = \u0026quot;\u0026lt;figure\u0026gt;\u0026quot; end if @link source += \u0026quot;\u0026lt;a href=\\\u0026quot;#{@link}\\\u0026quot;\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;img src=\\\u0026quot;#{@url}\\\u0026quot;\u0026gt;\u0026quot; if @link source += \u0026quot;\u0026lt;/a\u0026gt;\u0026quot; end source += \u0026quot;\u0026lt;figcaption\u0026gt;#{@caption}\u0026lt;/figcaption\u0026gt;\u0026quot; if @caption source += \u0026quot;\u0026lt;/figure\u0026gt;\u0026quot; source end end end Liquid::Template.register_tag('image', Jekyll::ImageTag) is written as this Hugo shortcode:\n\u0026lt;!-- image --\u0026gt; \u0026lt;figure {{ with .Get \u0026quot;class\u0026quot; }}class=\u0026quot;{{.}}\u0026quot;{{ end }}\u0026gt; {{ with .Get \u0026quot;link\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt;{{ end }} \u0026lt;img src=\u0026quot;{{ .Get \u0026quot;src\u0026quot; }}\u0026quot; {{ if or (.Get \u0026quot;alt\u0026quot;) (.Get \u0026quot;caption\u0026quot;) }}alt=\u0026quot;{{ with .Get \u0026quot;alt\u0026quot;}}{{.}}{{else}}{{ .Get \u0026quot;caption\u0026quot; }}{{ end }}\u0026quot;{{ end }} /\u0026gt; {{ if .Get \u0026quot;link\u0026quot;}}\u0026lt;/a\u0026gt;{{ end }} {{ if or (or (.Get \u0026quot;title\u0026quot;) (.Get \u0026quot;caption\u0026quot;)) (.Get \u0026quot;attr\u0026quot;)}} \u0026lt;figcaption\u0026gt;{{ if isset .Params \u0026quot;title\u0026quot; }} {{ .Get \u0026quot;title\u0026quot; }}{{ end }} {{ if or (.Get \u0026quot;caption\u0026quot;) (.Get \u0026quot;attr\u0026quot;)}}\u0026lt;p\u0026gt; {{ .Get \u0026quot;caption\u0026quot; }} {{ with .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;a href=\u0026quot;{{.}}\u0026quot;\u0026gt; {{ end }} {{ .Get \u0026quot;attr\u0026quot; }} {{ if .Get \u0026quot;attrlink\u0026quot;}}\u0026lt;/a\u0026gt; {{ end }} \u0026lt;/p\u0026gt; {{ end }} \u0026lt;/figcaption\u0026gt; {{ end }} \u0026lt;/figure\u0026gt; \u0026lt;!-- image --\u0026gt; Usage # I simply changed:\n{% image full http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg \u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were \u0026quot;having fun\u0026quot; and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; -\u0026gt;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/ %} to this (this example uses a slightly extended version named fig, different than the built-in figure):\n{{% fig class=\u0026quot;full\u0026quot; src=\u0026quot;http://farm5.staticflickr.com/4136/4829260124_57712e570a_o_d.jpg\u0026quot; title=\u0026quot;One of my favorite touristy-type photos. I secretly waited for the good light while we were having fun and took this. Only regret: a stupid pole in the top-left corner of the frame I had to clumsily get rid of at post-processing.\u0026quot; link=\u0026quot;http://www.flickr.com/photos/alexnormand/4829260124/in/set-72157624547713078/\u0026quot; %}} As a bonus, the shortcode named parameters are, arguably, more readable.\nFinishing touches # Fix content # Depending on the amount of customization that was done with each post with Jekyll, this step will require more or less effort. There are no hard and fast rules here except that hugo server --watch is your friend. Test your changes and fix errors as needed.\nClean up # You\u0026rsquo;ll want to remove the Jekyll configuration at this point. If you have anything else that isn\u0026rsquo;t used, delete it.\nA practical example in a diff # Hey, it\u0026rsquo;s Alex was migrated in less than a father-with-kids day from Jekyll to Hugo. You can see all the changes (and screw-ups) by looking at this diff.\n"},{"id":4,"href":"/showcase/posts/goisforlovers/","title":"(Hu)go Template Primer","section":"Blog","content":"Hugo uses the excellent Go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in Go templates.\nThis document is a brief primer on using Go templates. The Go docs provide more details.\nIntroduction to Go Templates # Go templates provide an extremely simple template language. It adheres to the belief that only the most basic of logic belongs in the template or view layer. One consequence of this simplicity is that Go templates parse very quickly.\nA unique characteristic of Go templates is they are content aware. Variables and content will be sanitized depending on the context of where they are used. More details can be found in the Go docs.\nBasic Syntax # Golang templates are HTML files with the addition of variables and functions.\nGo variables and functions are accessible within {{ }}\nAccessing a predefined variable \u0026ldquo;foo\u0026rdquo;:\n{{ foo }} Parameters are separated using spaces\nCalling the add function with input of 1, 2:\n{{ add 1 2 }} Methods and fields are accessed via dot notation\nAccessing the Page Parameter \u0026ldquo;bar\u0026rdquo;\n{{ .Params.bar }} Parentheses can be used to group items together\n{{ if or (isset .Params \u0026quot;alt\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;) }} Caption {{ end }} Variables # Each Go template has a struct (object) made available to it. In hugo each template is passed either a page or a node struct depending on which type of page you are rendering. More details are available on the variables page.\nA variable is accessed by referencing the variable name.\n\u0026lt;title\u0026gt;{{ .Title }}\u0026lt;/title\u0026gt; Variables can also be defined and referenced.\n{{ $address := \u0026quot;123 Main St.\u0026quot;}} {{ $address }} Functions # Go template ship with a few functions which provide basic functionality. The Go template system also provides a mechanism for applications to extend the available functions with their own. Hugo template functions provide some additional functionality we believe are useful for building websites. Functions are called by using their name followed by the required parameters separated by spaces. Template functions cannot be added without recompiling hugo.\nExample:\n{{ add 1 2 }} Includes # When including another template you will pass to it the data it will be able to access. To pass along the current context please remember to include a trailing dot. The templates location will always be starting at the /layout/ directory within Hugo.\nExample:\n{{ template \u0026quot;chrome/header.html\u0026quot; . }} Logic # Go templates provide the most basic iteration and conditional logic.\nIteration # Just like in Go, the Go templates make heavy use of range to iterate over a map, array or slice. The following are different examples of how to use range.\nExample 1: Using Context\n{{ range array }} {{ . }} {{ end }} Example 2: Declaring value variable name\n{{range $element := array}} {{ $element }} {{ end }} Example 2: Declaring key and value variable name\n{{range $index, $element := array}} {{ $index }} {{ $element }} {{ end }} Conditionals # If, else, with, or, \u0026amp; and provide the framework for handling conditional logic in Go Templates. Like range, each statement is closed with end.\nGo Templates treat the following values as false:\nfalse 0 any array, slice, map, or string of length zero Example 1: If\n{{ if isset .Params \u0026quot;title\u0026quot; }}\u0026lt;h4\u0026gt;{{ index .Params \u0026quot;title\u0026quot; }}\u0026lt;/h4\u0026gt;{{ end }} Example 2: If -\u0026gt; Else\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{else}} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Example 3: And \u0026amp; Or\n{{ if and (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Example 4: With\nAn alternative way of writing \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent.\nThe first example above could be simplified as:\n{{ with .Params.title }}\u0026lt;h4\u0026gt;{{ . }}\u0026lt;/h4\u0026gt;{{ end }} Example 5: If -\u0026gt; Else If\n{{ if isset .Params \u0026quot;alt\u0026quot; }} {{ index .Params \u0026quot;alt\u0026quot; }} {{ else if isset .Params \u0026quot;caption\u0026quot; }} {{ index .Params \u0026quot;caption\u0026quot; }} {{ end }} Pipes # One of the most powerful components of Go templates is the ability to stack actions one after another. This is done by using pipes. Borrowed from unix pipes, the concept is simple, each pipeline\u0026rsquo;s output becomes the input of the following pipe.\nBecause of the very simple syntax of Go templates, the pipe is essential to being able to chain together function calls. One limitation of the pipes is that they only can work with a single value and that value becomes the last parameter of the next pipeline.\nA few simple examples should help convey how to use the pipe.\nExample 1 :\n{{ if eq 1 1 }} Same {{ end }} is the same as\n{{ eq 1 1 | if }} Same {{ end }} It does look odd to place the if at the end, but it does provide a good illustration of how to use the pipes.\nExample 2 :\n{{ index .Params \u0026quot;disqus_url\u0026quot; | html }} Access the page parameter called \u0026ldquo;disqus_url\u0026rdquo; and escape the HTML.\nExample 3 :\n{{ if or (or (isset .Params \u0026quot;title\u0026quot;) (isset .Params \u0026quot;caption\u0026quot;)) (isset .Params \u0026quot;attr\u0026quot;)}} Stuff Here {{ end }} Could be rewritten as\n{{ isset .Params \u0026quot;caption\u0026quot; | or isset .Params \u0026quot;title\u0026quot; | or isset .Params \u0026quot;attr\u0026quot; | if }} Stuff Here {{ end }} Context (aka. the dot) # The most easily overlooked concept to understand about Go templates is that {{ . }} always refers to the current context. In the top level of your template this will be the data set made available to it. Inside of a iteration it will have the value of the current item. When inside of a loop the context has changed. . will no longer refer to the data available to the entire page. If you need to access this from within the loop you will likely want to set it to a variable instead of depending on the context.\nExample:\n{{ $title := .Site.Title }} {{ range .Params.tags }} \u0026lt;li\u0026gt; \u0026lt;a href=\u0026quot;{{ $baseurl }}/tags/{{ . | urlize }}\u0026quot;\u0026gt;{{ . }}\u0026lt;/a\u0026gt; - {{ $title }} \u0026lt;/li\u0026gt; {{ end }} Notice how once we have entered the loop the value of {{ . }} has changed. We have defined a variable outside of the loop so we have access to it from within the loop.\nHugo Parameters # Hugo provides the option of passing values to the template language through the site configuration (for sitewide values), or through the meta data of each specific piece of content. You can define any values of any type (supported by your front matter/config format) and use them however you want to inside of your templates.\nUsing Content (page) Parameters # In each piece of content you can provide variables to be used by the templates. This happens in the front matter.\nAn example of this is used in this documentation site. Most of the pages benefit from having the table of contents provided. Sometimes the TOC just doesn\u0026rsquo;t make a lot of sense. We\u0026rsquo;ve defined a variable in our front matter of some pages to turn off the TOC from being displayed.\nHere is the example front matter:\n--- title: \u0026#34;Permalinks\u0026#34; date: \u0026#34;2013-11-18\u0026#34; aliases: - \u0026#34;/doc/permalinks/\u0026#34; groups: [\u0026#34;extras\u0026#34;] groups_weight: 30 notoc: true --- Here is the corresponding code inside of the template:\n{{ if not .Params.notoc }} \u0026lt;div id=\u0026quot;toc\u0026quot; class=\u0026quot;well col-md-4 col-sm-6\u0026quot;\u0026gt; {{ .TableOfContents }} \u0026lt;/div\u0026gt; {{ end }} Using Site (config) Parameters # In your top-level configuration file (eg, config.yaml) you can define site parameters, which are values which will be available to you in chrome.\nFor instance, you might declare:\nparams: CopyrightHTML: \u0026#34;Copyright \u0026amp;#xA9; 2013 John Doe. All Rights Reserved.\u0026#34; TwitterUser: \u0026#34;spf13\u0026#34; SidebarRecentLimit: 5 Within a footer layout, you might then declare a \u0026lt;footer\u0026gt; which is only provided if the CopyrightHTML parameter is provided, and if it is given, you would declare it to be HTML-safe, so that the HTML entity is not escaped again. This would let you easily update just your top-level config file each January 1st, instead of hunting through your templates.\n{{if .Site.Params.CopyrightHTML}}\u0026lt;footer\u0026gt; \u0026lt;div class=\u0026#34;text-center\u0026#34;\u0026gt;{{.Site.Params.CopyrightHTML | safeHtml}}\u0026lt;/div\u0026gt; \u0026lt;/footer\u0026gt;{{end}} An alternative way of writing the \u0026ldquo;if\u0026rdquo; and then referencing the same value is to use \u0026ldquo;with\u0026rdquo; instead. With rebinds the context . within its scope, and skips the block if the variable is absent:\n{{with .Site.Params.TwitterUser}}\u0026lt;span class=\u0026#34;twitter\u0026#34;\u0026gt; \u0026lt;a href=\u0026#34;https://twitter.com/{{.}}\u0026#34; rel=\u0026#34;author\u0026#34;\u0026gt; \u0026lt;img src=\u0026#34;/images/twitter.png\u0026#34; width=\u0026#34;48\u0026#34; height=\u0026#34;48\u0026#34; title=\u0026#34;Twitter: {{.}}\u0026#34; alt=\u0026#34;Twitter\u0026#34;\u0026gt;\u0026lt;/a\u0026gt; \u0026lt;/span\u0026gt;{{end}} Finally, if you want to pull \u0026ldquo;magic constants\u0026rdquo; out of your layouts, you can do so, such as in this example:\n\u0026lt;nav class=\u0026#34;recent\u0026#34;\u0026gt; \u0026lt;h1\u0026gt;Recent Posts\u0026lt;/h1\u0026gt; \u0026lt;ul\u0026gt;{{range first .Site.Params.SidebarRecentLimit .Site.Recent}} \u0026lt;li\u0026gt;\u0026lt;a href=\u0026#34;{{.RelPermalink}}\u0026#34;\u0026gt;{{.Title}}\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt; {{end}}\u0026lt;/ul\u0026gt; \u0026lt;/nav\u0026gt; "},{"id":5,"href":"/showcase/posts/hugoisforlovers/","title":"Getting Started with Hugo","section":"Blog","content":" Step 1. Install Hugo # Go to Hugo releases and download the appropriate version for your OS and architecture.\nSave it somewhere specific as we will be using it in the next step.\nMore complete instructions are available at Install Hugo\nStep 2. Build the Docs # Hugo has its own example site which happens to also be the documentation site you are reading right now.\nFollow the following steps:\nClone the Hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands:\ngit clone https://github.com/spf13/hugo cd hugo /path/to/where/you/installed/hugo server --source=./docs \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Press ctrl+c to stop Once you\u0026rsquo;ve gotten here, follow along the rest of this page on your local build.\nStep 3. Change the docs site # Stop the Hugo process by hitting Ctrl+C.\nNow we are going to run hugo again, but this time with hugo in watch mode.\n/path/to/hugo/from/step/1/hugo server --source=./docs --watch \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 27 ms \u0026gt; Web Server is available at http://localhost:1313 \u0026gt; Watching for changes in /Users/spf13/Code/hugo/docs/content \u0026gt; Press ctrl+c to stop Open your favorite editor and change one of the source content pages. How about changing this very file to fix the typo. How about changing this very file to fix the typo.\nContent files are found in docs/content/. Unless otherwise specified, files are located at the same relative location as the url, in our case docs/content/overview/quickstart.md.\nChange and save this file.. Notice what happened in your terminal.\n\u0026gt; Change detected, rebuilding site \u0026gt; 29 pages created \u0026gt; 0 tags index created \u0026gt; in 26 ms Refresh the browser and observe that the typo is now fixed.\nNotice how quick that was. Try to refresh the site before it\u0026rsquo;s finished building. I double dare you. Having nearly instant feedback enables you to have your creativity flow without waiting for long builds.\nStep 4. Have fun # The best way to learn something is to play with it.\n"},{"id":6,"href":"/showcase/docs/shortcodes/buttons/","title":"Buttons","section":"Shortcodes","content":" Buttons # Buttons are styled links that can lead to local page or external link.\nExample # {{\u0026lt; button relref=\u0026#34;/\u0026#34; [class=\u0026#34;...\u0026#34;] \u0026gt;}}Get Home{{\u0026lt; /button \u0026gt;}} {{\u0026lt; button href=\u0026#34;https://github.com/alex-shpak/hugo-book\u0026#34; \u0026gt;}}Contribute{{\u0026lt; /button \u0026gt;}} Get Home Contribute "},{"id":7,"href":"/showcase/docs/shortcodes/columns/","title":"Columns","section":"Shortcodes","content":" Columns # Columns help organize shorter pieces of content horizontally for readability.\n{{\u0026lt; columns \u0026gt;}} \u0026lt;!-- begin columns block --\u0026gt; # Left Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Mid Content Lorem markdownum insigne... \u0026lt;---\u0026gt; \u0026lt;!-- magic separator, between columns --\u0026gt; # Right Content Lorem markdownum insigne... {{\u0026lt; /columns \u0026gt;}} Example # Left Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. Mid Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Right Content # Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia. "},{"id":8,"href":"/showcase/docs/shortcodes/details/","title":"Details","section":"Shortcodes","content":" Details # Details shortcode is a helper for details html5 element. It is going to replace expand shortcode.\nExample # {{\u0026lt; details \u0026#34;Title\u0026#34; [open] \u0026gt;}} ## Markdown content Lorem markdownum insigne... {{\u0026lt; /details \u0026gt;}} Title Markdown content # Lorem markdownum insigne\u0026hellip; Title Markdown content # Lorem markdownum insigne\u0026hellip; "},{"id":9,"href":"/showcase/docs/shortcodes/hints/","title":"Hints","section":"Shortcodes","content":" Hints # Hint shortcode can be used as hint/alerts/notification block.\nThere are 3 colors to choose: info, warning and danger.\n{{\u0026lt; hint [info|warning|danger] \u0026gt;}} **Markdown content** Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa {{\u0026lt; /hint \u0026gt;}} Example # Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa Markdown content\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa "},{"id":10,"href":"/showcase/docs/shortcodes/katex/","title":"Katex","section":"Shortcodes","content":" KaTeX # KaTeX shortcode let you render math typesetting in markdown document. See KaTeX\nExample # {{\u0026lt; katex [display] [class=\u0026#34;text-center\u0026#34;] \u0026gt;}} f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi {{\u0026lt; /katex \u0026gt;}} \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Display Mode Example # Here is some inline example: \\(\\pi(x)\\) , rendered in the same line. And below is display example, having display: block \\[f(x) = \\int_{-\\infty}^\\infty\\hat f(\\xi)\\,e^{2 \\pi i \\xi x}\\,d\\xi\\] Text continues here.\n"},{"id":11,"href":"/showcase/docs/shortcodes/mermaid/","title":"Mermaid","section":"Shortcodes","content":" Mermaid Chart # MermaidJS is library for generating svg charts and diagrams from text.\nOverride Mermaid Initialization Config\nTo override the initialization config for Mermaid, create a mermaid.json file in your assets folder!\nExample # {{\u0026lt; mermaid [class=\u0026#34;text-center\u0026#34;]\u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u0026gt; State2 note left of State2 : This is the note to the left. {{\u0026lt; /mermaid \u0026gt;}} stateDiagram-v2 State1: The state with a note note right of State1 Important information! You can write notes. end note State1 --\u003e State2 note left of State2 : This is the note to the left. "},{"id":12,"href":"/showcase/docs/shortcodes/p5/","title":"P5","section":"Shortcodes","content":" p5 # p5 helps add p5 sketches into your book. There are two types of p5 shortcodes according to the html element used to embed them.\nTypes # Iframe p5 iframe shortcodes embed p5.js code within an iframe element. There are two p5 iframe shortcodes: p5-iframe and p5-global-iframe. p5-iframe # {{\u0026lt; p5-iframe ver=\u0026#34;1.5.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; width=\u0026#34;800\u0026#34; height=\u0026#34;600\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Color relativity # Look at this brief explanation about what color relativity is. p5-iframe markdown {{\u0026lt; p5-iframe sketch=\u0026#34;/showcase/sketches/colors. Div p5 div shortcodes embed p5.js code within a div element. There are two p5 div shortcodes: p5-div and p5-instance-div. p5-div # {{\u0026lt; p5-div ver=\u0026#34;1.5.0\u0026#34; sketch=\u0026#34;/path/to/sketch.js\u0026#34; lib1=\u0026#34;https://cdntolib1/lib1.js\u0026#34; \u0026gt;}} All parameters are optional but sketch. Default values are shown in the above snippet but for libs*. Up to lib5 libs may be specified. Scintillating grid # Look at this and also this among many more references there are. p5-div markdown {{\u0026lt; p5-div sketch=\u0026#34;/showcase/sketches/scintillating. "},{"id":13,"href":"/showcase/docs/shortcodes/tabs/","title":"Tabs","section":"Shortcodes","content":" Tabs # Tabs let you organize content by context, for example installation instructions for each supported platform.\n{{\u0026lt; tabs \u0026#34;uniqueid\u0026#34; \u0026gt;}} {{\u0026lt; tab \u0026#34;MacOS\u0026#34; \u0026gt;}} # MacOS Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Linux\u0026#34; \u0026gt;}} # Linux Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; tab \u0026#34;Windows\u0026#34; \u0026gt;}} # Windows Content {{\u0026lt; /tab \u0026gt;}} {{\u0026lt; /tabs \u0026gt;}} Example # MacOS MacOS # This is tab MacOS content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nLinux Linux # This is tab Linux content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\nWindows Windows # This is tab Windows content.\nLorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa protulit, sed sed aere valvis inhaesuro Pallas animam: qui quid, ignes. Miseratus fonte Ditis conubia.\n"}] \ No newline at end of file diff --git a/en.search.min.9164918341aa27e254a33a2e12d9e897f44fd8adf88986184b9353e30bb1cac9.js b/en.search.min.4e805735f1c9a4df9b6c89829865b72a46cf98e5da4dd4f6a3e4951e8b5ab523.js similarity index 90% rename from en.search.min.9164918341aa27e254a33a2e12d9e897f44fd8adf88986184b9353e30bb1cac9.js rename to en.search.min.4e805735f1c9a4df9b6c89829865b72a46cf98e5da4dd4f6a3e4951e8b5ab523.js index 04edf7e1..3b355bdd 100644 --- a/en.search.min.9164918341aa27e254a33a2e12d9e897f44fd8adf88986184b9353e30bb1cac9.js +++ b/en.search.min.4e805735f1c9a4df9b6c89829865b72a46cf98e5da4dd4f6a3e4951e8b5ab523.js @@ -1 +1 @@ -"use strict";(function(){const o="/showcase/en.search-data.min.e954e35b20afeff66433252af972a632efd4a804c6c3f1ec848ed80f15bf23bb.json",i=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",a);function a(t){if(t.target.value!==void 0)return;if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!r(n))return;e.focus(),t.preventDefault()}function r(t){const n=e.getAttribute("data-hotkeys")||"";return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(o).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",i),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(e){const t=document.createElement("div");return t.innerHTML=e,t.firstChild}})() \ No newline at end of file +"use strict";(function(){const o="/showcase/en.search-data.min.4523b412b2ce328005cf4fde738dac7bf8fee5472e7c5cb6fb7fc803e963ebbe.json",i=Object.assign({cache:!0},{doc:{id:"id",field:["title","content"],store:["title","href","section"]}}),e=document.querySelector("#book-search-input"),t=document.querySelector("#book-search-results");if(!e)return;e.addEventListener("focus",n),e.addEventListener("keyup",s),document.addEventListener("keypress",a);function a(t){if(t.target.value!==void 0)return;if(e===document.activeElement)return;const n=String.fromCharCode(t.charCode);if(!r(n))return;e.focus(),t.preventDefault()}function r(t){const n=e.getAttribute("data-hotkeys")||"";return n.indexOf(t)>=0}function n(){e.removeEventListener("focus",n),e.required=!0,fetch(o).then(e=>e.json()).then(e=>{window.bookSearchIndex=FlexSearch.create("balance",i),window.bookSearchIndex.add(e)}).then(()=>e.required=!1).then(s)}function s(){for(;t.firstChild;)t.removeChild(t.firstChild);if(!e.value)return;const n=window.bookSearchIndex.search(e.value,10);n.forEach(function(e){const n=c("
  • "),s=n.querySelector("a"),o=n.querySelector("small");s.href=e.href,s.textContent=e.title,o.textContent=e.section,t.appendChild(n)})}function c(e){const t=document.createElement("div");return t.innerHTML=e,t.firstChild}})() \ No newline at end of file diff --git a/index.html b/index.html index 13678cbe..7087879b 100644 --- a/index.html +++ b/index.html @@ -2,8 +2,8 @@ Hacking # Install the gohugo static site generator then: $git clone https://github.com/VisualComputing/showcase $cd showcase $git submodule update --init --recursive $hugo server -D --disableFastRender Deploy with $git push after redefined baseURL in config.toml which should point to your actual public remote. Don’t rename the repo but leave it as ‘showcase’ -even so if you decided to rename the repo anyways, say to newreponame, don’t forget to update all url references of the markdown and js file sources, to reflect that change, i.">Introduction | Showcase Template - +even so if you decided to rename the repo anyways, say to newreponame, don’t forget to update all url references of the markdown and js file sources, to reflect that change, i.">Introduction | Showcase Template +
    @@ -15,5 +15,5 @@ $git submodule update --init --recursive $hugo server -D --disableFastRender

    Deploy with $git push after redefined baseURL in config.toml which should point to your actual public remote.

    Don’t rename the repo but leave it as ‘showcase’
    even so if you decided to rename the repo anyways, say to newreponame, don’t forget to update all url references of the markdown and js file sources, to reflect that change, i.e., look within all content folder files for showcase occurrences and replace them by newreponame, which btw should easily be doable in any recent open source code editor, e.g., 🔎 in kate or vs-codium.

    Remarks -#

    If you forked the repo don’t forget to activate the actions.
    Don’t forget to select the gh-pages branch as the one to serve your site from at the pages section of your repo configuration page, if it is no so by default.
    The showcase template uses the hugo-book theme by default. Check the hugo themes site if you wish to add other ones.
    \ No newline at end of file +#
    If you forked the repo don’t forget to activate the actions.
    Don’t forget to select the gh-pages branch as the one to serve your site from at the pages section of your repo configuration page, if it is no so by default.
    The showcase template uses the hugo-book theme by default. Check the hugo themes site if you wish to add other ones. Don’t forget to edit the theme footer to keep the copyright note.
    \ No newline at end of file diff --git a/mermaid.min.js b/mermaid.min.js index dac18691..7f1691b4 100644 --- a/mermaid.min.js +++ b/mermaid.min.js @@ -1,5 +1,1185 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.mermaid=e():t.mermaid=e()}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=383)}([function(t,e,n){"use strict";n.r(e);var r=function(t,e){return te?1:t>=e?0:NaN},i=function(t){var e;return 1===t.length&&(e=t,t=function(t,n){return r(e(t),n)}),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[a],n)<0?r=a+1:i=a}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[a],n)>0?i=a:r=a+1}return r}}};var a=i(r),o=a.right,s=a.left,c=o,u=function(t,e){null==e&&(e=l);for(var n=0,r=t.length-1,i=t[0],a=new Array(r<0?0:r);nt?1:e>=t?0:NaN},d=function(t){return null===t?NaN:+t},p=function(t,e){var n,r,i=t.length,a=0,o=-1,s=0,c=0;if(null==e)for(;++o1)return c/(a-1)},g=function(t,e){var n=p(t,e);return n?Math.sqrt(n):n},y=function(t,e){var n,r,i,a=t.length,o=-1;if(null==e){for(;++o=n)for(r=i=n;++on&&(r=n),i=n)for(r=i=n;++on&&(r=n),i0)return[t];if((r=e0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s=0?(a>=w?10:a>=E?5:a>=T?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=w?10:a>=E?5:a>=T?2:1)}function S(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=w?i*=10:a>=E?i*=5:a>=T&&(i*=2),eh;)f.pop(),--d;var p,g=new Array(d+1);for(i=0;i<=d;++i)(p=g[i]=[]).x0=i>0?f[i-1]:l,p.x1=i=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,a=Math.floor(i),o=+n(t[a],a,t);return o+(+n(t[a+1],a+1,t)-o)*(i-a)}},N=function(t,e,n){return t=b.call(t,d).sort(r),Math.ceil((n-e)/(2*(D(t,.75)-D(t,.25))*Math.pow(t.length,-1/3)))},B=function(t,e,n){return Math.ceil((n-e)/(3.5*g(t)*Math.pow(t.length,-1/3)))},L=function(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a=n)for(r=n;++ar&&(r=n)}else for(;++a=n)for(r=n;++ar&&(r=n);return r},F=function(t,e){var n,r=t.length,i=r,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(r=t[i]).length;--e>=0;)n[--o]=r[e];return n},j=function(t,e){var n,r,i=t.length,a=-1;if(null==e){for(;++a=n)for(r=n;++an&&(r=n)}else for(;++a=n)for(r=n;++an&&(r=n);return r},R=function(t,e){for(var n=e.length,r=new Array(n);n--;)r[n]=t[e[n]];return r},Y=function(t,e){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==e&&(e=r);++a=0&&(n=t.slice(r+1),t=t.slice(0,r)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}function ct(t,e){for(var n,r=0,i=t.length;r0)for(var n,r,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var _t="http://www.w3.org/1999/xhtml",kt={svg:"http://www.w3.org/2000/svg",xhtml:_t,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},wt=function(t){var e=t+="",n=e.indexOf(":");return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),kt.hasOwnProperty(e)?{space:kt[e],local:t}:t};function Et(t){return function(){this.removeAttribute(t)}}function Tt(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Ct(t,e){return function(){this.setAttribute(t,e)}}function At(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function St(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function Mt(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}var Ot=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function Dt(t){return function(){this.style.removeProperty(t)}}function Nt(t,e,n){return function(){this.style.setProperty(t,e,n)}}function Bt(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function Lt(t,e){return t.style.getPropertyValue(e)||Ot(t).getComputedStyle(t,null).getPropertyValue(e)}function Ft(t){return function(){delete this[t]}}function Pt(t,e){return function(){this[t]=e}}function It(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function jt(t){return t.trim().split(/^|\s+/)}function Rt(t){return t.classList||new Yt(t)}function Yt(t){this._node=t,this._names=jt(t.getAttribute("class")||"")}function zt(t,e){for(var n=Rt(t),r=-1,i=e.length;++r=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Ht(){this.textContent=""}function Gt(t){return function(){this.textContent=t}}function qt(t){return function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}}function Xt(){this.innerHTML=""}function Zt(t){return function(){this.innerHTML=t}}function Jt(t){return function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}}function Qt(){this.nextSibling&&this.parentNode.appendChild(this)}function Kt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function te(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===_t&&e.documentElement.namespaceURI===_t?e.createElement(t):e.createElementNS(n,t)}}function ee(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var ne=function(t){var e=wt(t);return(e.local?ee:te)(e)};function re(){return null}function ie(){var t=this.parentNode;t&&t.removeChild(this)}function ae(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function oe(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}var se={},ce=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(se={mouseenter:"mouseover",mouseleave:"mouseout"}));function ue(t,e,n){return t=le(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function le(t,e,n){return function(r){var i=ce;ce=r;try{t.call(this,this.__data__,e,n)}finally{ce=i}}}function he(t){return t.trim().split(/^|\s+/).map((function(t){var e="",n=t.indexOf(".");return n>=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}function fe(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,a=e.length;r=_&&(_=x+1);!(b=v[_])&&++_=0;)(r=i[a])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=xt);for(var n=this._groups,r=n.length,i=new Array(r),a=0;a1?this.each((null==e?Dt:"function"==typeof e?Bt:Nt)(t,e,null==n?"":n)):Lt(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?Ft:"function"==typeof e?It:Pt)(t,e)):this.node()[t]},classed:function(t,e){var n=jt(t+"");if(arguments.length<2){for(var r=Rt(this.node()),i=-1,a=n.length;++i>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?new qe(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?new qe(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Le.exec(t))?new qe(e[1],e[2],e[3],1):(e=Fe.exec(t))?new qe(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Pe.exec(t))?Ve(e[1],e[2],e[3],e[4]):(e=Ie.exec(t))?Ve(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=je.exec(t))?Qe(e[1],e[2]/100,e[3]/100,1):(e=Re.exec(t))?Qe(e[1],e[2]/100,e[3]/100,e[4]):Ye.hasOwnProperty(t)?We(Ye[t]):"transparent"===t?new qe(NaN,NaN,NaN,0):null}function We(t){return new qe(t>>16&255,t>>8&255,255&t,1)}function Ve(t,e,n,r){return r<=0&&(t=e=n=NaN),new qe(t,e,n,r)}function He(t){return t instanceof Me||(t=$e(t)),t?new qe((t=t.rgb()).r,t.g,t.b,t.opacity):new qe}function Ge(t,e,n,r){return 1===arguments.length?He(t):new qe(t,e,n,null==r?1:r)}function qe(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function Xe(){return"#"+Je(this.r)+Je(this.g)+Je(this.b)}function Ze(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Je(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Qe(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new en(t,e,n,r)}function Ke(t){if(t instanceof en)return new en(t.h,t.s,t.l,t.opacity);if(t instanceof Me||(t=$e(t)),!t)return new en;if(t instanceof en)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=e===a?(n-r)/s+6*(n0&&c<1?0:o,new en(o,s,c,t.opacity)}function tn(t,e,n,r){return 1===arguments.length?Ke(t):new en(t,e,n,null==r?1:r)}function en(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function nn(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}function rn(t,e,n,r,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*n+(1+3*t+3*a-3*o)*r+o*i)/6}Ae(Me,$e,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:ze,formatHex:ze,formatHsl:function(){return Ke(this).formatHsl()},formatRgb:Ue,toString:Ue}),Ae(qe,Ge,Se(Me,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new qe(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new qe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Xe,formatHex:Xe,formatRgb:Ze,toString:Ze})),Ae(en,tn,Se(Me,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new en(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new en(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new qe(nn(t>=240?t-240:t+120,i,r),nn(t,i,r),nn(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var an=function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],a=t[r+1],o=r>0?t[r-1]:2*i-a,s=r180||n<-180?n-360*Math.round(n/360):n):sn(isNaN(t)?e:t)}function ln(t){return 1==(t=+t)?hn:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):sn(isNaN(e)?n:e)}}function hn(t,e){var n=e-t;return n?cn(t,n):sn(isNaN(t)?e:t)}var fn=function t(e){var n=ln(e);function r(t,e){var r=n((t=Ge(t)).r,(e=Ge(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=hn(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return r.gamma=t,r}(1);function dn(t){return function(e){var n,r,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(n=0;na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(n=n[0])===(r=r[0])?s[o]?s[o]+=r:s[++o]=r:(s[++o]=null,c.push({i:o,x:_n(n,r)})),a=En.lastIndex;return a=0&&e._call.call(null,t),e=e._next;--Bn}function Hn(){In=(Pn=Rn.now())+jn,Bn=Ln=0;try{Vn()}finally{Bn=0,function(){var t,e,n=Tn,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Tn=e);Cn=t,qn(r)}(),In=0}}function Gn(){var t=Rn.now(),e=t-Pn;e>1e3&&(jn-=e,Pn=t)}function qn(t){Bn||(Ln&&(Ln=clearTimeout(Ln)),t-In>24?(t<1/0&&(Ln=setTimeout(Hn,t-Rn.now()-jn)),Fn&&(Fn=clearInterval(Fn))):(Fn||(Pn=Rn.now(),Fn=setInterval(Gn,1e3)),Bn=1,Yn(Hn)))}$n.prototype=Wn.prototype={constructor:$n,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?zn():+n)+(null==e?0:+e),this._next||Cn===this||(Cn?Cn._next=this:Tn=this,Cn=this),this._call=t,this._time=n,qn()},stop:function(){this._call&&(this._call=null,this._time=1/0,qn())}};var Xn=function(t,e,n){var r=new $n;return e=null==e?0:+e,r.restart((function(n){r.stop(),t(n+e)}),e,n),r},Zn=lt("start","end","cancel","interrupt"),Jn=[],Qn=function(t,e,n,r,i,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function a(c){var u,l,h,f;if(1!==n.state)return s();for(u in i)if((f=i[u]).name===n.name){if(3===f.state)return Xn(a);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[u]):+u0)throw new Error("too late; already scheduled");return n}function tr(t,e){var n=er(t,e);if(n.state>3)throw new Error("too late; already running");return n}function er(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}var nr,rr,ir,ar,or=function(t,e){var n,r,i,a=t.__transition,o=!0;if(a){for(i in e=null==e?null:e+"",a)(n=a[i]).name===e?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete a[i]):o=!1;o&&delete t.__transition}},sr=180/Math.PI,cr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},ur=function(t,e,n,r,i,a){var o,s,c;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(c=t*n+e*r)&&(n-=t*c,r-=e*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),t*r180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:_n(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(a.rotate,o.rotate,s,c),function(t,e,n,a){t!==e?a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:_n(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(a.skewX,o.skewX,s,c),function(t,e,n,r,a,o){if(t!==n||e!==r){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:_n(t,n)},{i:s-2,x:_n(e,r)})}else 1===n&&1===r||a.push(i(a)+"scale("+n+","+r+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,c),a=o=null,function(t){for(var e,n=-1,r=c.length;++n=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?Kn:tr;return function(){var o=a(this,t),s=o.on;s!==r&&(i=(r=s).copy()).on(e,n),o.on=i}}var Br=_e.prototype.constructor;function Lr(t){return function(){this.style.removeProperty(t)}}function Fr(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function Pr(t,e,n){var r,i;function a(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&Fr(t,a,n)),r}return a._value=e,a}function Ir(t){return function(e){this.textContent=t.call(this,e)}}function jr(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&Ir(r)),e}return r._value=t,r}var Rr=0;function Yr(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function zr(t){return _e().transition(t)}function Ur(){return++Rr}var $r=_e.prototype;function Wr(t){return t*t*t}function Vr(t){return--t*t*t+1}function Hr(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}Yr.prototype=zr.prototype={constructor:Yr,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=ft(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;o1&&n.name===e)return new Yr([[t]],Xr,e,+r);return null},Jr=function(t){return function(){return t}},Qr=function(t,e,n){this.target=t,this.type=e,this.selection=n};function Kr(){ce.stopImmediatePropagation()}var ti=function(){ce.preventDefault(),ce.stopImmediatePropagation()},ei={name:"drag"},ni={name:"space"},ri={name:"handle"},ii={name:"center"};function ai(t){return[+t[0],+t[1]]}function oi(t){return[ai(t[0]),ai(t[1])]}function si(t){return function(e){return Dn(e,ce.touches,t)}}var ci={name:"x",handles:["w","e"].map(yi),input:function(t,e){return null==t?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},ui={name:"y",handles:["n","s"].map(yi),input:function(t,e){return null==t?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},li={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(yi),input:function(t){return null==t?null:oi(t)},output:function(t){return t}},hi={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},fi={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},di={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},pi={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},gi={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function yi(t){return{type:t}}function vi(){return!ce.ctrlKey&&!ce.button}function mi(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function bi(){return navigator.maxTouchPoints||"ontouchstart"in this}function xi(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function _i(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function ki(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function wi(){return Ci(ci)}function Ei(){return Ci(ui)}var Ti=function(){return Ci(li)};function Ci(t){var e,n=mi,r=vi,i=bi,a=!0,o=lt("start","brush","end"),s=6;function c(e){var n=e.property("__brush",g).selectAll(".overlay").data([yi("overlay")]);n.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",hi.overlay).merge(n).each((function(){var t=xi(this).extent;ke(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])})),e.selectAll(".selection").data([yi("selection")]).enter().append("rect").attr("class","selection").attr("cursor",hi.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=e.selectAll(".handle").data(t.handles,(function(t){return t.type}));r.exit().remove(),r.enter().append("rect").attr("class",(function(t){return"handle handle--"+t.type})).attr("cursor",(function(t){return hi[t.type]})),e.each(u).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",f).filter(i).on("touchstart.brush",f).on("touchmove.brush",d).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function u(){var t=ke(this),e=xi(this).selection;e?(t.selectAll(".selection").style("display",null).attr("x",e[0][0]).attr("y",e[0][1]).attr("width",e[1][0]-e[0][0]).attr("height",e[1][1]-e[0][1]),t.selectAll(".handle").style("display",null).attr("x",(function(t){return"e"===t.type[t.type.length-1]?e[1][0]-s/2:e[0][0]-s/2})).attr("y",(function(t){return"s"===t.type[0]?e[1][1]-s/2:e[0][1]-s/2})).attr("width",(function(t){return"n"===t.type||"s"===t.type?e[1][0]-e[0][0]+s:s})).attr("height",(function(t){return"e"===t.type||"w"===t.type?e[1][1]-e[0][1]+s:s}))):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function l(t,e,n){return!n&&t.__brush.emitter||new h(t,e)}function h(t,e){this.that=t,this.args=e,this.state=t.__brush,this.active=0}function f(){if((!e||ce.touches)&&r.apply(this,arguments)){var n,i,o,s,c,h,f,d,p,g,y,v=this,m=ce.target.__data__.type,b="selection"===(a&&ce.metaKey?m="overlay":m)?ei:a&&ce.altKey?ii:ri,x=t===ui?null:pi[m],_=t===ci?null:gi[m],k=xi(v),w=k.extent,E=k.selection,T=w[0][0],C=w[0][1],A=w[1][0],S=w[1][1],M=0,O=0,D=x&&_&&a&&ce.shiftKey,N=ce.touches?si(ce.changedTouches[0].identifier):Nn,B=N(v),L=B,F=l(v,arguments,!0).beforestart();"overlay"===m?(E&&(p=!0),k.selection=E=[[n=t===ui?T:B[0],o=t===ci?C:B[1]],[c=t===ui?A:n,f=t===ci?S:o]]):(n=E[0][0],o=E[0][1],c=E[1][0],f=E[1][1]),i=n,s=o,h=c,d=f;var P=ke(v).attr("pointer-events","none"),I=P.selectAll(".overlay").attr("cursor",hi[m]);if(ce.touches)F.moved=R,F.ended=z;else{var j=ke(ce.view).on("mousemove.brush",R,!0).on("mouseup.brush",z,!0);a&&j.on("keydown.brush",U,!0).on("keyup.brush",$,!0),Te(ce.view)}Kr(),or(v),u.call(v),F.start()}function R(){var t=N(v);!D||g||y||(Math.abs(t[0]-L[0])>Math.abs(t[1]-L[1])?y=!0:g=!0),L=t,p=!0,ti(),Y()}function Y(){var t;switch(M=L[0]-B[0],O=L[1]-B[1],b){case ni:case ei:x&&(M=Math.max(T-n,Math.min(A-c,M)),i=n+M,h=c+M),_&&(O=Math.max(C-o,Math.min(S-f,O)),s=o+O,d=f+O);break;case ri:x<0?(M=Math.max(T-n,Math.min(A-n,M)),i=n+M,h=c):x>0&&(M=Math.max(T-c,Math.min(A-c,M)),i=n,h=c+M),_<0?(O=Math.max(C-o,Math.min(S-o,O)),s=o+O,d=f):_>0&&(O=Math.max(C-f,Math.min(S-f,O)),s=o,d=f+O);break;case ii:x&&(i=Math.max(T,Math.min(A,n-M*x)),h=Math.max(T,Math.min(A,c+M*x))),_&&(s=Math.max(C,Math.min(S,o-O*_)),d=Math.max(C,Math.min(S,f+O*_)))}h0&&(n=i-M),_<0?f=d-O:_>0&&(o=s-O),b=ni,I.attr("cursor",hi.selection),Y());break;default:return}ti()}function $(){switch(ce.keyCode){case 16:D&&(g=y=D=!1,Y());break;case 18:b===ii&&(x<0?c=h:x>0&&(n=i),_<0?f=d:_>0&&(o=s),b=ri,Y());break;case 32:b===ni&&(ce.altKey?(x&&(c=h-M*x,n=i+M*x),_&&(f=d-O*_,o=s+O*_),b=ii):(x<0?c=h:x>0&&(n=i),_<0?f=d:_>0&&(o=s),b=ri),I.attr("cursor",hi[m]),Y());break;default:return}ti()}}function d(){l(this,arguments).moved()}function p(){l(this,arguments).ended()}function g(){var e=this.__brush||{selection:null};return e.extent=oi(n.apply(this,arguments)),e.dim=t,e}return c.move=function(e,n){e.selection?e.on("start.brush",(function(){l(this,arguments).beforestart().start()})).on("interrupt.brush end.brush",(function(){l(this,arguments).end()})).tween("brush",(function(){var e=this,r=e.__brush,i=l(e,arguments),a=r.selection,o=t.input("function"==typeof n?n.apply(this,arguments):n,r.extent),s=Sn(a,o);function c(t){r.selection=1===t&&null===o?null:s(t),u.call(e),i.brush()}return null!==a&&null!==o?c:c(1)})):e.each((function(){var e=this,r=arguments,i=e.__brush,a=t.input("function"==typeof n?n.apply(e,r):n,i.extent),o=l(e,r).beforestart();or(e),i.selection=null===a?null:a,u.call(e),o.start().brush().end()}))},c.clear=function(t){c.move(t,null)},h.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting?(this.starting=!1,this.emit("start")):this.emit("brush"),this},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(e){pe(new Qr(c,e,t.output(this.state.selection)),o.apply,o,[e,this.that,this.args])}},c.extent=function(t){return arguments.length?(n="function"==typeof t?t:Jr(oi(t)),c):n},c.filter=function(t){return arguments.length?(r="function"==typeof t?t:Jr(!!t),c):r},c.touchable=function(t){return arguments.length?(i="function"==typeof t?t:Jr(!!t),c):i},c.handleSize=function(t){return arguments.length?(s=+t,c):s},c.keyModifiers=function(t){return arguments.length?(a=!!t,c):a},c.on=function(){var t=o.on.apply(o,arguments);return t===o?c:t},c}var Ai=Math.cos,Si=Math.sin,Mi=Math.PI,Oi=Mi/2,Di=2*Mi,Ni=Math.max;function Bi(t){return function(e,n){return t(e.source.value+e.target.value,n.source.value+n.target.value)}}var Li=function(){var t=0,e=null,n=null,r=null;function i(i){var a,o,s,c,u,l,h=i.length,f=[],d=k(h),p=[],g=[],y=g.groups=new Array(h),v=new Array(h*h);for(a=0,u=-1;++u1e-6)if(Math.abs(l*s-c*u)>1e-6&&i){var f=n-a,d=r-o,p=s*s+c*c,g=f*f+d*d,y=Math.sqrt(p),v=Math.sqrt(h),m=i*Math.tan((Ii-Math.acos((p+h-g)/(2*y*v)))/2),b=m/v,x=m/y;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(e+b*l)),this._+="A"+i+","+i+",0,0,"+ +(l*f>u*d)+","+(this._x1=t+x*s)+","+(this._y1=e+x*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e);else;},arc:function(t,e,n,r,i,a){t=+t,e=+e,a=!!a;var o=(n=+n)*Math.cos(r),s=n*Math.sin(r),c=t+o,u=e+s,l=1^a,h=a?r-i:i-r;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+c+","+u:(Math.abs(this._x1-c)>1e-6||Math.abs(this._y1-u)>1e-6)&&(this._+="L"+c+","+u),n&&(h<0&&(h=h%ji+ji),h>Ri?this._+="A"+n+","+n+",0,1,"+l+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+l+","+(this._x1=c)+","+(this._y1=u):h>1e-6&&(this._+="A"+n+","+n+",0,"+ +(h>=Ii)+","+l+","+(this._x1=t+n*Math.cos(i))+","+(this._y1=e+n*Math.sin(i))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}};var Ui=zi;function $i(t){return t.source}function Wi(t){return t.target}function Vi(t){return t.radius}function Hi(t){return t.startAngle}function Gi(t){return t.endAngle}var qi=function(){var t=$i,e=Wi,n=Vi,r=Hi,i=Gi,a=null;function o(){var o,s=Fi.call(arguments),c=t.apply(this,s),u=e.apply(this,s),l=+n.apply(this,(s[0]=c,s)),h=r.apply(this,s)-Oi,f=i.apply(this,s)-Oi,d=l*Ai(h),p=l*Si(h),g=+n.apply(this,(s[0]=u,s)),y=r.apply(this,s)-Oi,v=i.apply(this,s)-Oi;if(a||(a=o=Ui()),a.moveTo(d,p),a.arc(0,0,l,h,f),h===y&&f===v||(a.quadraticCurveTo(0,0,g*Ai(y),g*Si(y)),a.arc(0,0,g,y,v)),a.quadraticCurveTo(0,0,d,p),a.closePath(),o)return a=null,o+""||null}return o.radius=function(t){return arguments.length?(n="function"==typeof t?t:Pi(+t),o):n},o.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Pi(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Pi(+t),o):i},o.source=function(e){return arguments.length?(t=e,o):t},o.target=function(t){return arguments.length?(e=t,o):e},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o};function Xi(){}function Zi(t,e){var n=new Xi;if(t instanceof Xi)t.each((function(t,e){n.set(e,t)}));else if(Array.isArray(t)){var r,i=-1,a=t.length;if(null==e)for(;++i=r.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var c,u,l,h=-1,f=n.length,d=r[i++],p=Ji(),g=o();++hr.length)return n;var o,s=i[a-1];return null!=e&&a>=r.length?o=n.entries():(o=[],n.each((function(e,n){o.push({key:n,values:t(e,a)})}))),null!=s?o.sort((function(t,e){return s(t.key,e.key)})):o}(a(t,0,ea,na),0)},key:function(t){return r.push(t),n},sortKeys:function(t){return i[r.length-1]=t,n},sortValues:function(e){return t=e,n},rollup:function(t){return e=t,n}}};function Ki(){return{}}function ta(t,e,n){t[e]=n}function ea(){return Ji()}function na(t,e,n){t.set(e,n)}function ra(){}var ia=Ji.prototype;function aa(t,e){var n=new ra;if(t instanceof ra)t.each((function(t){n.add(t)}));else if(t){var r=-1,i=t.length;if(null==e)for(;++r6/29*(6/29)*(6/29)?Math.pow(t,1/3):t/(6/29*3*(6/29))+4/29}function va(t){return t>6/29?t*t*t:6/29*3*(6/29)*(t-4/29)}function ma(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ba(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function xa(t){if(t instanceof wa)return new wa(t.h,t.c,t.l,t.opacity);if(t instanceof ga||(t=fa(t)),0===t.a&&0===t.b)return new wa(NaN,0r!=d>r&&n<(f-u)*(r-l)/(d-l)+u&&(i=-i)}return i}function Ia(t,e,n){var r,i,a,o;return function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])==(n[0]-t[0])*(e[1]-t[1])}(t,e,n)&&(i=t[r=+(t[0]===e[0])],a=n[r],o=e[r],i<=a&&a<=o||o<=a&&a<=i)}var ja=function(){},Ra=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]],Ya=function(){var t=1,e=1,n=M,r=s;function i(t){var e=n(t);if(Array.isArray(e))e=e.slice().sort(Ba);else{var r=y(t),i=r[0],o=r[1];e=S(i,o,e),e=k(Math.floor(i/e)*e,Math.floor(o/e)*e,e)}return e.map((function(e){return a(t,e)}))}function a(n,i){var a=[],s=[];return function(n,r,i){var a,s,c,u,l,h,f=new Array,d=new Array;a=s=-1,u=n[0]>=r,Ra[u<<1].forEach(p);for(;++a=r,Ra[c|u<<1].forEach(p);Ra[u<<0].forEach(p);for(;++s=r,l=n[s*t]>=r,Ra[u<<1|l<<2].forEach(p);++a=r,h=l,l=n[s*t+a+1]>=r,Ra[c|u<<1|l<<2|h<<3].forEach(p);Ra[u|l<<3].forEach(p)}a=-1,l=n[s*t]>=r,Ra[l<<2].forEach(p);for(;++a=r,Ra[l<<2|h<<3].forEach(p);function p(t){var e,n,r=[t[0][0]+a,t[0][1]+s],c=[t[1][0]+a,t[1][1]+s],u=o(r),l=o(c);(e=d[u])?(n=f[l])?(delete d[e.end],delete f[n.start],e===n?(e.ring.push(c),i(e.ring)):f[e.start]=d[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete d[e.end],e.ring.push(c),d[e.end=l]=e):(e=f[l])?(n=d[u])?(delete f[e.start],delete d[n.end],e===n?(e.ring.push(c),i(e.ring)):f[n.start]=d[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete f[e.start],e.ring.unshift(r),f[e.start=u]=e):f[u]=d[l]={start:u,end:l,ring:[r,c]}}Ra[l<<3].forEach(p)}(n,i,(function(t){r(t,n,i),function(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e0?a.push([t]):s.push(t)})),s.forEach((function(t){for(var e,n=0,r=a.length;n0&&o0&&s0&&a>0))throw new Error("invalid size");return t=r,e=a,i},i.thresholds=function(t){return arguments.length?(n="function"==typeof t?t:Array.isArray(t)?La(Na.call(t)):La(t),i):n},i.smooth=function(t){return arguments.length?(r=t?s:ja,i):r===s},i};function za(t,e,n){for(var r=t.width,i=t.height,a=1+(n<<1),o=0;o=n&&(s>=a&&(c-=t.data[s-a+o*r]),e.data[s-n+o*r]=c/Math.min(s+1,r-1+a-s,a))}function Ua(t,e,n){for(var r=t.width,i=t.height,a=1+(n<<1),o=0;o=n&&(s>=a&&(c-=t.data[o+(s-a)*r]),e.data[o+(s-n)*r]=c/Math.min(s+1,i-1+a-s,a))}function $a(t){return t[0]}function Wa(t){return t[1]}function Va(){return 1}var Ha=function(){var t=$a,e=Wa,n=Va,r=960,i=500,a=20,o=2,s=3*a,c=r+2*s>>o,u=i+2*s>>o,l=La(20);function h(r){var i=new Float32Array(c*u),h=new Float32Array(c*u);r.forEach((function(r,a,l){var h=+t(r,a,l)+s>>o,f=+e(r,a,l)+s>>o,d=+n(r,a,l);h>=0&&h=0&&f>o),Ua({width:c,height:u,data:h},{width:c,height:u,data:i},a>>o),za({width:c,height:u,data:i},{width:c,height:u,data:h},a>>o),Ua({width:c,height:u,data:h},{width:c,height:u,data:i},a>>o),za({width:c,height:u,data:i},{width:c,height:u,data:h},a>>o),Ua({width:c,height:u,data:h},{width:c,height:u,data:i},a>>o);var d=l(i);if(!Array.isArray(d)){var p=L(i);d=S(0,p,d),(d=k(0,Math.floor(p/d)*d,d)).shift()}return Ya().thresholds(d).size([c,u])(i).map(f)}function f(t){return t.value*=Math.pow(2,-2*o),t.coordinates.forEach(d),t}function d(t){t.forEach(p)}function p(t){t.forEach(g)}function g(t){t[0]=t[0]*Math.pow(2,o)-s,t[1]=t[1]*Math.pow(2,o)-s}function y(){return c=r+2*(s=3*a)>>o,u=i+2*s>>o,h}return h.x=function(e){return arguments.length?(t="function"==typeof e?e:La(+e),h):t},h.y=function(t){return arguments.length?(e="function"==typeof t?t:La(+t),h):e},h.weight=function(t){return arguments.length?(n="function"==typeof t?t:La(+t),h):n},h.size=function(t){if(!arguments.length)return[r,i];var e=Math.ceil(t[0]),n=Math.ceil(t[1]);if(!(e>=0||e>=0))throw new Error("invalid size");return r=e,i=n,y()},h.cellSize=function(t){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return o=Math.floor(Math.log(t)/Math.LN2),y()},h.thresholds=function(t){return arguments.length?(l="function"==typeof t?t:Array.isArray(t)?La(Na.call(t)):La(t),h):l},h.bandwidth=function(t){if(!arguments.length)return Math.sqrt(a*(a+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return a=Math.round((Math.sqrt(4*t*t+1)-1)/2),y()},h},Ga=function(t){return function(){return t}};function qa(t,e,n,r,i,a,o,s,c,u){this.target=t,this.type=e,this.subject=n,this.identifier=r,this.active=i,this.x=a,this.y=o,this.dx=s,this.dy=c,this._=u}function Xa(){return!ce.ctrlKey&&!ce.button}function Za(){return this.parentNode}function Ja(t){return null==t?{x:ce.x,y:ce.y}:t}function Qa(){return navigator.maxTouchPoints||"ontouchstart"in this}qa.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var Ka=function(){var t,e,n,r,i=Xa,a=Za,o=Ja,s=Qa,c={},u=lt("start","drag","end"),l=0,h=0;function f(t){t.on("mousedown.drag",d).filter(s).on("touchstart.drag",y).on("touchmove.drag",v).on("touchend.drag touchcancel.drag",m).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(){if(!r&&i.apply(this,arguments)){var o=b("mouse",a.apply(this,arguments),Nn,this,arguments);o&&(ke(ce.view).on("mousemove.drag",p,!0).on("mouseup.drag",g,!0),Te(ce.view),we(),n=!1,t=ce.clientX,e=ce.clientY,o("start"))}}function p(){if(Ee(),!n){var r=ce.clientX-t,i=ce.clientY-e;n=r*r+i*i>h}c.mouse("drag")}function g(){ke(ce.view).on("mousemove.drag mouseup.drag",null),Ce(ce.view,n),Ee(),c.mouse("end")}function y(){if(i.apply(this,arguments)){var t,e,n=ce.changedTouches,r=a.apply(this,arguments),o=n.length;for(t=0;t9999?"+"+io(e,6):io(e,4))+"-"+io(t.getUTCMonth()+1,2)+"-"+io(t.getUTCDate(),2)+(a?"T"+io(n,2)+":"+io(r,2)+":"+io(i,2)+"."+io(a,3)+"Z":i?"T"+io(n,2)+":"+io(r,2)+":"+io(i,2)+"Z":r||n?"T"+io(n,2)+":"+io(r,2)+"Z":"")}var oo=function(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function r(t,e){var r,i=[],a=t.length,o=0,s=0,c=a<=0,u=!1;function l(){if(c)return eo;if(u)return u=!1,to;var e,r,i=o;if(34===t.charCodeAt(i)){for(;o++=a?c=!0:10===(r=t.charCodeAt(o++))?u=!0:13===r&&(u=!0,10===t.charCodeAt(o)&&++o),t.slice(i+1,e-1).replace(/""/g,'"')}for(;o=(a=(g+v)/2))?g=a:v=a,(l=n>=(o=(y+m)/2))?y=o:m=o,i=d,!(d=d[h=l<<1|u]))return i[h]=p,t;if(s=+t._x.call(null,d.data),c=+t._y.call(null,d.data),e===s&&n===c)return p.next=d,i?i[h]=p:t._root=p,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(u=e>=(a=(g+v)/2))?g=a:v=a,(l=n>=(o=(y+m)/2))?y=o:m=o}while((h=l<<1|u)==(f=(c>=o)<<1|s>=a));return i[f]=d,i[h]=p,t}var _s=function(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i};function ks(t){return t[0]}function ws(t){return t[1]}function Es(t,e,n){var r=new Ts(null==e?ks:e,null==n?ws:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Ts(t,e,n,r,i,a){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function Cs(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var As=Es.prototype=Ts.prototype;function Ss(t){return t.x+t.vx}function Ms(t){return t.y+t.vy}As.copy=function(){var t,e,n=new Ts(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=Cs(r),n;for(t=[{source:r,target:n._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(4)}):r.target[i]=Cs(e));return n},As.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t);return xs(this.cover(e,n),e,n,t)},As.addAll=function(t){var e,n,r,i,a=t.length,o=new Array(a),s=new Array(a),c=1/0,u=1/0,l=-1/0,h=-1/0;for(n=0;nl&&(l=r),ih&&(h=i));if(c>l||u>h)return this;for(this.cover(c,u).cover(l,h),n=0;nt||t>=i||r>e||e>=a;)switch(s=(ef||(a=c.y0)>d||(o=c.x1)=v)<<1|t>=y)&&(c=p[p.length-1],p[p.length-1]=p[p.length-1-u],p[p.length-1-u]=c)}else{var m=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),x=m*m+b*b;if(x=(s=(p+y)/2))?p=s:y=s,(l=o>=(c=(g+v)/2))?g=c:v=c,e=d,!(d=d[h=l<<1|u]))return this;if(!d.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(n=e,f=h)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):e?(i?e[h]=i:delete e[h],(d=e[0]||e[1]||e[2]||e[3])&&d===(e[3]||e[2]||e[1]||e[0])&&!d.length&&(n?n[f]=d:this._root=d),this):(this._root=i,this)},As.removeAll=function(t){for(var e=0,n=t.length;ec+d||iu+d||as.index){var p=c-o.x-o.vx,g=u-o.y-o.vy,y=p*p+g*g;yt.r&&(t.r=t[e].r)}function s(){if(e){var r,i,a=e.length;for(n=new Array(a),r=0;r1?(null==n?s.remove(t):s.set(t,d(n)),e):s.get(t)},find:function(e,n,r){var i,a,o,s,c,u=0,l=t.length;for(null==r?r=1/0:r*=r,u=0;u1?(u.on(t,n),e):u.on(t)}}},js=function(){var t,e,n,r,i=ms(-30),a=1,o=1/0,s=.81;function c(r){var i,a=t.length,o=Es(t,Ls,Fs).visitAfter(l);for(n=r,i=0;i=o)){(t.data!==e||t.next)&&(0===l&&(d+=(l=bs())*l),0===h&&(d+=(h=bs())*h),d1?r[0]+r.slice(2):r,+t.slice(n+1)]},$s=function(t){return(t=Us(Math.abs(t)))?t[1]:NaN},Ws=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Vs(t){if(!(e=Ws.exec(t)))throw new Error("invalid format: "+t);var e;return new Hs({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Hs(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}Vs.prototype=Hs.prototype,Hs.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Gs,qs,Xs,Zs,Js=function(t,e){var n=Us(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")},Qs={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return Js(100*t,e)},r:Js,s:function(t,e){var n=Us(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(Gs=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Us(t,Math.max(0,e+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},Ks=function(t){return t},tc=Array.prototype.map,ec=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],nc=function(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?Ks:(e=tc.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(t.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",s=void 0===t.numerals?Ks:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(tc.call(t.numerals,String)),c=void 0===t.percent?"%":t.percent+"",u=void 0===t.minus?"-":t.minus+"",l=void 0===t.nan?"NaN":t.nan+"";function h(t){var e=(t=Vs(t)).fill,n=t.align,h=t.sign,f=t.symbol,d=t.zero,p=t.width,g=t.comma,y=t.precision,v=t.trim,m=t.type;"n"===m?(g=!0,m="g"):Qs[m]||(void 0===y&&(y=12),v=!0,m="g"),(d||"0"===e&&"="===n)&&(d=!0,e="0",n="=");var b="$"===f?i:"#"===f&&/[boxX]/.test(m)?"0"+m.toLowerCase():"",x="$"===f?a:/[%p]/.test(m)?c:"",_=Qs[m],k=/[defgprs%]/.test(m);function w(t){var i,a,c,f=b,w=x;if("c"===m)w=_(t)+w,t="";else{var E=(t=+t)<0;if(t=isNaN(t)?l:_(Math.abs(t),y),v&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),E&&0==+t&&(E=!1),f=(E?"("===h?h:u:"-"===h||"("===h?"":h)+f,w=("s"===m?ec[8+Gs/3]:"")+w+(E&&"("===h?")":""),k)for(i=-1,a=t.length;++i(c=t.charCodeAt(i))||c>57){w=(46===c?o+t.slice(i+1):t.slice(i))+w,t=t.slice(0,i);break}}g&&!d&&(t=r(t,1/0));var T=f.length+t.length+w.length,C=T>1)+f+t+w+C.slice(T);break;default:t=C+f+t+w}return s(t)}return y=void 0===y?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),w.toString=function(){return t+""},w}return{format:h,formatPrefix:function(t,e){var n=h(((t=Vs(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor($s(e)/3))),i=Math.pow(10,-r),a=ec[8+r/3];return function(t){return n(i*t)+a}}}};function rc(t){return qs=nc(t),Xs=qs.format,Zs=qs.formatPrefix,qs}rc({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});var ic=function(t){return Math.max(0,-$s(Math.abs(t)))},ac=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor($s(e)/3)))-$s(Math.abs(t)))},oc=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,$s(e)-$s(t))+1},sc=function(){return new cc};function cc(){this.reset()}cc.prototype={constructor:cc,reset:function(){this.s=this.t=0},add:function(t){lc(uc,t,this.t),lc(this,uc.s,this.s),this.s?this.t+=uc.t:this.s=uc.t},valueOf:function(){return this.s}};var uc=new cc;function lc(t,e,n){var r=t.s=e+n,i=r-e,a=r-i;t.t=e-a+(n-i)}var hc=Math.PI,fc=hc/2,dc=hc/4,pc=2*hc,gc=180/hc,yc=hc/180,vc=Math.abs,mc=Math.atan,bc=Math.atan2,xc=Math.cos,_c=Math.ceil,kc=Math.exp,wc=(Math.floor,Math.log),Ec=Math.pow,Tc=Math.sin,Cc=Math.sign||function(t){return t>0?1:t<0?-1:0},Ac=Math.sqrt,Sc=Math.tan;function Mc(t){return t>1?0:t<-1?hc:Math.acos(t)}function Oc(t){return t>1?fc:t<-1?-fc:Math.asin(t)}function Dc(t){return(t=Tc(t/2))*t}function Nc(){}function Bc(t,e){t&&Fc.hasOwnProperty(t.type)&&Fc[t.type](t,e)}var Lc={Feature:function(t,e){Bc(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r=0?1:-1,i=r*n,a=xc(e=(e*=yc)/2+dc),o=Tc(e),s=Uc*o,c=zc*a+s*xc(i),u=s*r*Tc(i);Wc.add(bc(u,c)),Yc=t,zc=a,Uc=o}var Jc=function(t){return Vc.reset(),$c(t,Hc),2*Vc};function Qc(t){return[bc(t[1],t[0]),Oc(t[2])]}function Kc(t){var e=t[0],n=t[1],r=xc(n);return[r*xc(e),r*Tc(e),Tc(n)]}function tu(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function eu(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function nu(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function ru(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function iu(t){var e=Ac(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var au,ou,su,cu,uu,lu,hu,fu,du,pu,gu=sc(),yu={point:vu,lineStart:bu,lineEnd:xu,polygonStart:function(){yu.point=_u,yu.lineStart=ku,yu.lineEnd=wu,gu.reset(),Hc.polygonStart()},polygonEnd:function(){Hc.polygonEnd(),yu.point=vu,yu.lineStart=bu,yu.lineEnd=xu,Wc<0?(au=-(su=180),ou=-(cu=90)):gu>1e-6?cu=90:gu<-1e-6&&(ou=-90),pu[0]=au,pu[1]=su},sphere:function(){au=-(su=180),ou=-(cu=90)}};function vu(t,e){du.push(pu=[au=t,su=t]),ecu&&(cu=e)}function mu(t,e){var n=Kc([t*yc,e*yc]);if(fu){var r=eu(fu,n),i=eu([r[1],-r[0],0],r);iu(i),i=Qc(i);var a,o=t-uu,s=o>0?1:-1,c=i[0]*gc*s,u=vc(o)>180;u^(s*uucu&&(cu=a):u^(s*uu<(c=(c+360)%360-180)&&ccu&&(cu=e)),u?tEu(au,su)&&(su=t):Eu(t,su)>Eu(au,su)&&(au=t):su>=au?(tsu&&(su=t)):t>uu?Eu(au,t)>Eu(au,su)&&(su=t):Eu(t,su)>Eu(au,su)&&(au=t)}else du.push(pu=[au=t,su=t]);ecu&&(cu=e),fu=n,uu=t}function bu(){yu.point=mu}function xu(){pu[0]=au,pu[1]=su,yu.point=vu,fu=null}function _u(t,e){if(fu){var n=t-uu;gu.add(vc(n)>180?n+(n>0?360:-360):n)}else lu=t,hu=e;Hc.point(t,e),mu(t,e)}function ku(){Hc.lineStart()}function wu(){_u(lu,hu),Hc.lineEnd(),vc(gu)>1e-6&&(au=-(su=180)),pu[0]=au,pu[1]=su,fu=null}function Eu(t,e){return(e-=t)<0?e+360:e}function Tu(t,e){return t[0]-e[0]}function Cu(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eEu(r[0],r[1])&&(r[1]=i[1]),Eu(i[0],r[1])>Eu(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,e=0,r=a[n=a.length-1];e<=n;r=i,++e)i=a[e],(s=Eu(r[1],i[0]))>o&&(o=s,au=i[0],su=r[1])}return du=pu=null,au===1/0||ou===1/0?[[NaN,NaN],[NaN,NaN]]:[[au,ou],[su,cu]]},Wu={sphere:Nc,point:Vu,lineStart:Gu,lineEnd:Zu,polygonStart:function(){Wu.lineStart=Ju,Wu.lineEnd=Qu},polygonEnd:function(){Wu.lineStart=Gu,Wu.lineEnd=Zu}};function Vu(t,e){t*=yc;var n=xc(e*=yc);Hu(n*xc(t),n*Tc(t),Tc(e))}function Hu(t,e,n){++Au,Mu+=(t-Mu)/Au,Ou+=(e-Ou)/Au,Du+=(n-Du)/Au}function Gu(){Wu.point=qu}function qu(t,e){t*=yc;var n=xc(e*=yc);Yu=n*xc(t),zu=n*Tc(t),Uu=Tc(e),Wu.point=Xu,Hu(Yu,zu,Uu)}function Xu(t,e){t*=yc;var n=xc(e*=yc),r=n*xc(t),i=n*Tc(t),a=Tc(e),o=bc(Ac((o=zu*a-Uu*i)*o+(o=Uu*r-Yu*a)*o+(o=Yu*i-zu*r)*o),Yu*r+zu*i+Uu*a);Su+=o,Nu+=o*(Yu+(Yu=r)),Bu+=o*(zu+(zu=i)),Lu+=o*(Uu+(Uu=a)),Hu(Yu,zu,Uu)}function Zu(){Wu.point=Vu}function Ju(){Wu.point=Ku}function Qu(){tl(ju,Ru),Wu.point=Vu}function Ku(t,e){ju=t,Ru=e,t*=yc,e*=yc,Wu.point=tl;var n=xc(e);Yu=n*xc(t),zu=n*Tc(t),Uu=Tc(e),Hu(Yu,zu,Uu)}function tl(t,e){t*=yc;var n=xc(e*=yc),r=n*xc(t),i=n*Tc(t),a=Tc(e),o=zu*a-Uu*i,s=Uu*r-Yu*a,c=Yu*i-zu*r,u=Ac(o*o+s*s+c*c),l=Oc(u),h=u&&-l/u;Fu+=h*o,Pu+=h*s,Iu+=h*c,Su+=l,Nu+=l*(Yu+(Yu=r)),Bu+=l*(zu+(zu=i)),Lu+=l*(Uu+(Uu=a)),Hu(Yu,zu,Uu)}var el=function(t){Au=Su=Mu=Ou=Du=Nu=Bu=Lu=Fu=Pu=Iu=0,$c(t,Wu);var e=Fu,n=Pu,r=Iu,i=e*e+n*n+r*r;return i<1e-12&&(e=Nu,n=Bu,r=Lu,Su<1e-6&&(e=Mu,n=Ou,r=Du),(i=e*e+n*n+r*r)<1e-12)?[NaN,NaN]:[bc(n,e)*gc,Oc(r/Ac(i))*gc]},nl=function(t){return function(){return t}},rl=function(t,e){function n(n,r){return n=t(n,r),e(n[0],n[1])}return t.invert&&e.invert&&(n.invert=function(n,r){return(n=e.invert(n,r))&&t.invert(n[0],n[1])}),n};function il(t,e){return[vc(t)>hc?t+Math.round(-t/pc)*pc:t,e]}function al(t,e,n){return(t%=pc)?e||n?rl(sl(t),cl(e,n)):sl(t):e||n?cl(e,n):il}function ol(t){return function(e,n){return[(e+=t)>hc?e-pc:e<-hc?e+pc:e,n]}}function sl(t){var e=ol(t);return e.invert=ol(-t),e}function cl(t,e){var n=xc(t),r=Tc(t),i=xc(e),a=Tc(e);function o(t,e){var o=xc(e),s=xc(t)*o,c=Tc(t)*o,u=Tc(e),l=u*n+s*r;return[bc(c*i-l*a,s*n-u*r),Oc(l*i+c*a)]}return o.invert=function(t,e){var o=xc(e),s=xc(t)*o,c=Tc(t)*o,u=Tc(e),l=u*i-c*a;return[bc(c*i+u*a,s*n+l*r),Oc(l*n-s*r)]},o}il.invert=il;var ul=function(t){function e(e){return(e=t(e[0]*yc,e[1]*yc))[0]*=gc,e[1]*=gc,e}return t=al(t[0]*yc,t[1]*yc,t.length>2?t[2]*yc:0),e.invert=function(e){return(e=t.invert(e[0]*yc,e[1]*yc))[0]*=gc,e[1]*=gc,e},e};function ll(t,e,n,r,i,a){if(n){var o=xc(e),s=Tc(e),c=r*n;null==i?(i=e+r*pc,a=e-c/2):(i=hl(o,i),a=hl(o,a),(r>0?ia)&&(i+=r*pc));for(var u,l=i;r>0?l>a:l1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}},pl=function(t,e){return vc(t[0]-e[0])<1e-6&&vc(t[1]-e[1])<1e-6};function gl(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}var yl=function(t,e,n,r,i){var a,o,s=[],c=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,n,r=t[0],o=t[e];if(pl(r,o)){for(i.lineStart(),a=0;a=0;--a)i.point((l=u[a])[0],l[1]);else r(f.x,f.p.x,-1,i);f=f.p}u=(f=f.o).z,d=!d}while(!f.v);i.lineEnd()}}};function vl(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r=0?1:-1,T=E*w,C=T>hc,A=g*_;if(ml.add(bc(A*E*Tc(T),y*k+A*xc(T))),o+=C?w+E*pc:w,C^d>=n^b>=n){var S=eu(Kc(f),Kc(m));iu(S);var M=eu(a,S);iu(M);var O=(C^w>=0?-1:1)*Oc(M[2]);(r>O||r===O&&(S[0]||S[1]))&&(s+=C^w>=0?1:-1)}}return(o<-1e-6||o<1e-6&&ml<-1e-6)^1&s},_l=function(t,e,n,r){return function(i){var a,o,s,c=e(i),u=dl(),l=e(u),h=!1,f={point:d,lineStart:g,lineEnd:y,polygonStart:function(){f.point=v,f.lineStart=m,f.lineEnd=b,o=[],a=[]},polygonEnd:function(){f.point=d,f.lineStart=g,f.lineEnd=y,o=I(o);var t=xl(a,r);o.length?(h||(i.polygonStart(),h=!0),yl(o,wl,t,n,i)):t&&(h||(i.polygonStart(),h=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),h&&(i.polygonEnd(),h=!1),o=a=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function d(e,n){t(e,n)&&i.point(e,n)}function p(t,e){c.point(t,e)}function g(){f.point=p,c.lineStart()}function y(){f.point=d,c.lineEnd()}function v(t,e){s.push([t,e]),l.point(t,e)}function m(){l.lineStart(),s=[]}function b(){v(s[0][0],s[0][1]),l.lineEnd();var t,e,n,r,c=l.clean(),f=u.result(),d=f.length;if(s.pop(),a.push(s),s=null,d)if(1&c){if((e=(n=f[0]).length-1)>0){for(h||(i.polygonStart(),h=!0),i.lineStart(),t=0;t1&&2&c&&f.push(f.pop().concat(f.shift())),o.push(f.filter(kl))}return f}};function kl(t){return t.length>1}function wl(t,e){return((t=t.x)[0]<0?t[1]-fc-1e-6:fc-t[1])-((e=e.x)[0]<0?e[1]-fc-1e-6:fc-e[1])}var El=_l((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?hc:-hc,c=vc(a-n);vc(c-hc)<1e-6?(t.point(n,r=(r+o)/2>0?fc:-fc),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(a,r),e=0):i!==s&&c>=hc&&(vc(n-i)<1e-6&&(n-=1e-6*i),vc(a-s)<1e-6&&(a-=1e-6*s),r=function(t,e,n,r){var i,a,o=Tc(t-n);return vc(o)>1e-6?mc((Tc(e)*(a=xc(r))*Tc(n)-Tc(r)*(i=xc(e))*Tc(t))/(i*a*o)):(e+r)/2}(n,r,a,o),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),e=0),t.point(n=a,r=o),i=s},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*fc,r.point(-hc,i),r.point(0,i),r.point(hc,i),r.point(hc,0),r.point(hc,-i),r.point(0,-i),r.point(-hc,-i),r.point(-hc,0),r.point(-hc,i);else if(vc(t[0]-e[0])>1e-6){var a=t[0]0,i=vc(e)>1e-6;function a(t,n){return xc(t)*xc(n)>e}function o(t,n,r){var i=[1,0,0],a=eu(Kc(t),Kc(n)),o=tu(a,a),s=a[0],c=o-s*s;if(!c)return!r&&t;var u=e*o/c,l=-e*s/c,h=eu(i,a),f=ru(i,u);nu(f,ru(a,l));var d=h,p=tu(f,d),g=tu(d,d),y=p*p-g*(tu(f,f)-1);if(!(y<0)){var v=Ac(y),m=ru(d,(-p-v)/g);if(nu(m,f),m=Qc(m),!r)return m;var b,x=t[0],_=n[0],k=t[1],w=n[1];_0^m[1]<(vc(m[0]-x)<1e-6?k:w):k<=m[1]&&m[1]<=w:E>hc^(x<=m[0]&&m[0]<=_)){var C=ru(d,(-p+v)/g);return nu(C,f),[m,Qc(C)]}}}function s(e,n){var i=r?t:hc-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}return _l(a,(function(t){var e,n,c,u,l;return{lineStart:function(){u=c=!1,l=1},point:function(h,f){var d,p=[h,f],g=a(h,f),y=r?g?0:s(h,f):g?s(h+(h<0?hc:-hc),f):0;if(!e&&(u=c=g)&&t.lineStart(),g!==c&&(!(d=o(e,p))||pl(e,d)||pl(p,d))&&(p[0]+=1e-6,p[1]+=1e-6,g=a(p[0],p[1])),g!==c)l=0,g?(t.lineStart(),d=o(p,e),t.point(d[0],d[1])):(d=o(e,p),t.point(d[0],d[1]),t.lineEnd()),e=d;else if(i&&e&&r^g){var v;y&n||!(v=o(p,e,!0))||(l=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||e&&pl(e,p)||t.point(p[0],p[1]),e=p,c=g,n=y},lineEnd:function(){c&&t.lineEnd(),e=null},clean:function(){return l|(u&&c)<<1}}}),(function(e,r,i,a){ll(a,t,n,i,e,r)}),r?[0,-t]:[-hc,t-hc])};function Cl(t,e,n,r){function i(i,a){return t<=i&&i<=n&&e<=a&&a<=r}function a(i,a,s,u){var l=0,h=0;if(null==i||(l=o(i,s))!==(h=o(a,s))||c(i,a)<0^s>0)do{u.point(0===l||3===l?t:n,l>1?r:e)}while((l=(l+s+4)%4)!==h);else u.point(a[0],a[1])}function o(r,i){return vc(r[0]-t)<1e-6?i>0?0:3:vc(r[0]-n)<1e-6?i>0?2:1:vc(r[1]-e)<1e-6?i>0?1:0:i>0?3:2}function s(t,e){return c(t.x,e.x)}function c(t,e){var n=o(t,1),r=o(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(o){var c,u,l,h,f,d,p,g,y,v,m,b=o,x=dl(),_={point:k,lineStart:function(){_.point=w,u&&u.push(l=[]);v=!0,y=!1,p=g=NaN},lineEnd:function(){c&&(w(h,f),d&&y&&x.rejoin(),c.push(x.result()));_.point=k,y&&b.lineEnd()},polygonStart:function(){b=x,c=[],u=[],m=!0},polygonEnd:function(){var e=function(){for(var e=0,n=0,i=u.length;nr&&(f-a)*(r-o)>(d-o)*(t-a)&&++e:d<=r&&(f-a)*(r-o)<(d-o)*(t-a)&&--e;return e}(),n=m&&e,i=(c=I(c)).length;(n||i)&&(o.polygonStart(),n&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),i&&yl(c,s,e,a,o),o.polygonEnd());b=o,c=u=l=null}};function k(t,e){i(t,e)&&b.point(t,e)}function w(a,o){var s=i(a,o);if(u&&l.push([a,o]),v)h=a,f=o,d=s,v=!1,s&&(b.lineStart(),b.point(a,o));else if(s&&y)b.point(a,o);else{var c=[p=Math.max(-1e9,Math.min(1e9,p)),g=Math.max(-1e9,Math.min(1e9,g))],x=[a=Math.max(-1e9,Math.min(1e9,a)),o=Math.max(-1e9,Math.min(1e9,o))];!function(t,e,n,r,i,a){var o,s=t[0],c=t[1],u=0,l=1,h=e[0]-s,f=e[1]-c;if(o=n-s,h||!(o>0)){if(o/=h,h<0){if(o0){if(o>l)return;o>u&&(u=o)}if(o=i-s,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>u&&(u=o)}else if(h>0){if(o0)){if(o/=f,f<0){if(o0){if(o>l)return;o>u&&(u=o)}if(o=a-c,f||!(o<0)){if(o/=f,f<0){if(o>l)return;o>u&&(u=o)}else if(f>0){if(o0&&(t[0]=s+u*h,t[1]=c+u*f),l<1&&(e[0]=s+l*h,e[1]=c+l*f),!0}}}}}(c,x,t,e,n,r)?s&&(b.lineStart(),b.point(a,o),m=!1):(y||(b.lineStart(),b.point(c[0],c[1])),b.point(x[0],x[1]),s||b.lineEnd(),m=!1)}p=a,g=o,y=s}return _}}var Al,Sl,Ml,Ol=function(){var t,e,n,r=0,i=0,a=960,o=500;return n={stream:function(n){return t&&e===n?t:t=Cl(r,i,a,o)(e=n)},extent:function(s){return arguments.length?(r=+s[0][0],i=+s[0][1],a=+s[1][0],o=+s[1][1],t=e=null,n):[[r,i],[a,o]]}}},Dl=sc(),Nl={sphere:Nc,point:Nc,lineStart:function(){Nl.point=Ll,Nl.lineEnd=Bl},lineEnd:Nc,polygonStart:Nc,polygonEnd:Nc};function Bl(){Nl.point=Nl.lineEnd=Nc}function Ll(t,e){Al=t*=yc,Sl=Tc(e*=yc),Ml=xc(e),Nl.point=Fl}function Fl(t,e){t*=yc;var n=Tc(e*=yc),r=xc(e),i=vc(t-Al),a=xc(i),o=r*Tc(i),s=Ml*n-Sl*r*a,c=Sl*n+Ml*r*a;Dl.add(bc(Ac(o*o+s*s),c)),Al=t,Sl=n,Ml=r}var Pl=function(t){return Dl.reset(),$c(t,Nl),+Dl},Il=[null,null],jl={type:"LineString",coordinates:Il},Rl=function(t,e){return Il[0]=t,Il[1]=e,Pl(jl)},Yl={Feature:function(t,e){return Ul(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r0&&(i=Rl(t[a],t[a-1]))>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))<1e-12*i)return!0;n=r}return!1}function Vl(t,e){return!!xl(t.map(Hl),Gl(e))}function Hl(t){return(t=t.map(Gl)).pop(),t}function Gl(t){return[t[0]*yc,t[1]*yc]}var ql=function(t,e){return(t&&Yl.hasOwnProperty(t.type)?Yl[t.type]:Ul)(t,e)};function Xl(t,e,n){var r=k(t,e-1e-6,n).concat(e);return function(t){return r.map((function(e){return[t,e]}))}}function Zl(t,e,n){var r=k(t,e-1e-6,n).concat(e);return function(t){return r.map((function(e){return[e,t]}))}}function Jl(){var t,e,n,r,i,a,o,s,c,u,l,h,f=10,d=f,p=90,g=360,y=2.5;function v(){return{type:"MultiLineString",coordinates:m()}}function m(){return k(_c(r/p)*p,n,p).map(l).concat(k(_c(s/g)*g,o,g).map(h)).concat(k(_c(e/f)*f,t,f).filter((function(t){return vc(t%p)>1e-6})).map(c)).concat(k(_c(a/d)*d,i,d).filter((function(t){return vc(t%g)>1e-6})).map(u))}return v.lines=function(){return m().map((function(t){return{type:"LineString",coordinates:t}}))},v.outline=function(){return{type:"Polygon",coordinates:[l(r).concat(h(o).slice(1),l(n).reverse().slice(1),h(s).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(r=+t[0][0],n=+t[1][0],s=+t[0][1],o=+t[1][1],r>n&&(t=r,r=n,n=t),s>o&&(t=s,s=o,o=t),v.precision(y)):[[r,s],[n,o]]},v.extentMinor=function(n){return arguments.length?(e=+n[0][0],t=+n[1][0],a=+n[0][1],i=+n[1][1],e>t&&(n=e,e=t,t=n),a>i&&(n=a,a=i,i=n),v.precision(y)):[[e,a],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(p=+t[0],g=+t[1],v):[p,g]},v.stepMinor=function(t){return arguments.length?(f=+t[0],d=+t[1],v):[f,d]},v.precision=function(f){return arguments.length?(y=+f,c=Xl(a,i,90),u=Zl(e,t,y),l=Xl(s,o,90),h=Zl(r,n,y),v):y},v.extentMajor([[-180,1e-6-90],[180,90-1e-6]]).extentMinor([[-180,-80-1e-6],[180,80+1e-6]])}function Ql(){return Jl()()}var Kl,th,eh,nh,rh=function(t,e){var n=t[0]*yc,r=t[1]*yc,i=e[0]*yc,a=e[1]*yc,o=xc(r),s=Tc(r),c=xc(a),u=Tc(a),l=o*xc(n),h=o*Tc(n),f=c*xc(i),d=c*Tc(i),p=2*Oc(Ac(Dc(a-r)+o*c*Dc(i-n))),g=Tc(p),y=p?function(t){var e=Tc(t*=p)/g,n=Tc(p-t)/g,r=n*l+e*f,i=n*h+e*d,a=n*s+e*u;return[bc(i,r)*gc,bc(a,Ac(r*r+i*i))*gc]}:function(){return[n*gc,r*gc]};return y.distance=p,y},ih=function(t){return t},ah=sc(),oh=sc(),sh={point:Nc,lineStart:Nc,lineEnd:Nc,polygonStart:function(){sh.lineStart=ch,sh.lineEnd=hh},polygonEnd:function(){sh.lineStart=sh.lineEnd=sh.point=Nc,ah.add(vc(oh)),oh.reset()},result:function(){var t=ah/2;return ah.reset(),t}};function ch(){sh.point=uh}function uh(t,e){sh.point=lh,Kl=eh=t,th=nh=e}function lh(t,e){oh.add(nh*t-eh*e),eh=t,nh=e}function hh(){lh(Kl,th)}var fh=sh,dh=1/0,ph=dh,gh=-dh,yh=gh;var vh,mh,bh,xh,_h={point:function(t,e){tgh&&(gh=t);eyh&&(yh=e)},lineStart:Nc,lineEnd:Nc,polygonStart:Nc,polygonEnd:Nc,result:function(){var t=[[dh,ph],[gh,yh]];return gh=yh=-(ph=dh=1/0),t}},kh=0,wh=0,Eh=0,Th=0,Ch=0,Ah=0,Sh=0,Mh=0,Oh=0,Dh={point:Nh,lineStart:Bh,lineEnd:Ph,polygonStart:function(){Dh.lineStart=Ih,Dh.lineEnd=jh},polygonEnd:function(){Dh.point=Nh,Dh.lineStart=Bh,Dh.lineEnd=Ph},result:function(){var t=Oh?[Sh/Oh,Mh/Oh]:Ah?[Th/Ah,Ch/Ah]:Eh?[kh/Eh,wh/Eh]:[NaN,NaN];return kh=wh=Eh=Th=Ch=Ah=Sh=Mh=Oh=0,t}};function Nh(t,e){kh+=t,wh+=e,++Eh}function Bh(){Dh.point=Lh}function Lh(t,e){Dh.point=Fh,Nh(bh=t,xh=e)}function Fh(t,e){var n=t-bh,r=e-xh,i=Ac(n*n+r*r);Th+=i*(bh+t)/2,Ch+=i*(xh+e)/2,Ah+=i,Nh(bh=t,xh=e)}function Ph(){Dh.point=Nh}function Ih(){Dh.point=Rh}function jh(){Yh(vh,mh)}function Rh(t,e){Dh.point=Yh,Nh(vh=bh=t,mh=xh=e)}function Yh(t,e){var n=t-bh,r=e-xh,i=Ac(n*n+r*r);Th+=i*(bh+t)/2,Ch+=i*(xh+e)/2,Ah+=i,Sh+=(i=xh*t-bh*e)*(bh+t),Mh+=i*(xh+e),Oh+=3*i,Nh(bh=t,xh=e)}var zh=Dh;function Uh(t){this._context=t}Uh.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,pc)}},result:Nc};var $h,Wh,Vh,Hh,Gh,qh=sc(),Xh={point:Nc,lineStart:function(){Xh.point=Zh},lineEnd:function(){$h&&Jh(Wh,Vh),Xh.point=Nc},polygonStart:function(){$h=!0},polygonEnd:function(){$h=null},result:function(){var t=+qh;return qh.reset(),t}};function Zh(t,e){Xh.point=Jh,Wh=Hh=t,Vh=Gh=e}function Jh(t,e){Hh-=t,Gh-=e,qh.add(Ac(Hh*Hh+Gh*Gh)),Hh=t,Gh=e}var Qh=Xh;function Kh(){this._string=[]}function tf(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}Kh.prototype={_radius:4.5,_circle:tf(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=tf(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var ef=function(t,e){var n,r,i=4.5;function a(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),$c(t,n(r))),r.result()}return a.area=function(t){return $c(t,n(fh)),fh.result()},a.measure=function(t){return $c(t,n(Qh)),Qh.result()},a.bounds=function(t){return $c(t,n(_h)),_h.result()},a.centroid=function(t){return $c(t,n(zh)),zh.result()},a.projection=function(e){return arguments.length?(n=null==e?(t=null,ih):(t=e).stream,a):t},a.context=function(t){return arguments.length?(r=null==t?(e=null,new Kh):new Uh(e=t),"function"!=typeof i&&r.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(r.pointRadius(+t),+t),a):i},a.projection(t).context(e)},nf=function(t){return{stream:rf(t)}};function rf(t){return function(e){var n=new af;for(var r in t)n[r]=t[r];return n.stream=e,n}}function af(){}function of(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),$c(n,t.stream(_h)),e(_h.result()),null!=r&&t.clipExtent(r),t}function sf(t,e,n){return of(t,(function(n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],a=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),o=+e[0][0]+(r-a*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(i-a*(n[1][1]+n[0][1]))/2;t.scale(150*a).translate([o,s])}),n)}function cf(t,e,n){return sf(t,[[0,0],e],n)}function uf(t,e,n){return of(t,(function(n){var r=+e,i=r/(n[1][0]-n[0][0]),a=(r-i*(n[1][0]+n[0][0]))/2,o=-i*n[0][1];t.scale(150*i).translate([a,o])}),n)}function lf(t,e,n){return of(t,(function(n){var r=+e,i=r/(n[1][1]-n[0][1]),a=-i*n[0][0],o=(r-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([a,o])}),n)}af.prototype={constructor:af,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var hf=xc(30*yc),ff=function(t,e){return+e?function(t,e){function n(r,i,a,o,s,c,u,l,h,f,d,p,g,y){var v=u-r,m=l-i,b=v*v+m*m;if(b>4*e&&g--){var x=o+f,_=s+d,k=c+p,w=Ac(x*x+_*_+k*k),E=Oc(k/=w),T=vc(vc(k)-1)<1e-6||vc(a-h)<1e-6?(a+h)/2:bc(_,x),C=t(T,E),A=C[0],S=C[1],M=A-r,O=S-i,D=m*M-v*O;(D*D/b>e||vc((v*M+m*O)/b-.5)>.3||o*f+s*d+c*p2?t[2]%360*yc:0,A()):[y*gc,v*gc,m*gc]},T.angle=function(t){return arguments.length?(b=t%360*yc,A()):b*gc},T.precision=function(t){return arguments.length?(o=ff(s,E=t*t),S()):Ac(E)},T.fitExtent=function(t,e){return sf(T,t,e)},T.fitSize=function(t,e){return cf(T,t,e)},T.fitWidth=function(t,e){return uf(T,t,e)},T.fitHeight=function(t,e){return lf(T,t,e)},function(){return e=t.apply(this,arguments),T.invert=e.invert&&C,A()}}function mf(t){var e=0,n=hc/3,r=vf(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*yc,n=t[1]*yc):[e*gc,n*gc]},i}function bf(t,e){var n=Tc(t),r=(n+Tc(e))/2;if(vc(r)<1e-6)return function(t){var e=xc(t);function n(t,n){return[t*e,Tc(n)/e]}return n.invert=function(t,n){return[t/e,Oc(n*e)]},n}(t);var i=1+n*(2*r-n),a=Ac(i)/r;function o(t,e){var n=Ac(i-2*r*Tc(e))/r;return[n*Tc(t*=r),a-n*xc(t)]}return o.invert=function(t,e){var n=a-e;return[bc(t,vc(n))/r*Cc(n),Oc((i-(t*t+n*n)*r*r)/(2*r))]},o}var xf=function(){return mf(bf).scale(155.424).center([0,33.6442])},_f=function(){return xf().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])};var kf=function(){var t,e,n,r,i,a,o=_f(),s=xf().rotate([154,0]).center([-2,58.5]).parallels([55,65]),c=xf().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(t,e){a=[t,e]}};function l(t){var e=t[0],o=t[1];return a=null,n.point(e,o),a||(r.point(e,o),a)||(i.point(e,o),a)}function h(){return t=e=null,l}return l.invert=function(t){var e=o.scale(),n=o.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?c:o).invert(t)},l.stream=function(n){return t&&e===n?t:(r=[o.stream(e=n),s.stream(n),c.stream(n)],i=r.length,t={point:function(t,e){for(var n=-1;++n0?e<1e-6-fc&&(e=1e-6-fc):e>fc-1e-6&&(e=fc-1e-6);var n=i/Ec(Nf(e),r);return[n*Tc(r*t),i-n*xc(r*t)]}return a.invert=function(t,e){var n=i-e,a=Cc(r)*Ac(t*t+n*n);return[bc(t,vc(n))/r*Cc(n),2*mc(Ec(i/a,1/r))-fc]},a}var Lf=function(){return mf(Bf).scale(109.5).parallels([30,30])};function Ff(t,e){return[t,e]}Ff.invert=Ff;var Pf=function(){return yf(Ff).scale(152.63)};function If(t,e){var n=xc(t),r=t===e?Tc(t):(n-xc(e))/(e-t),i=n/r+t;if(vc(r)<1e-6)return Ff;function a(t,e){var n=i-e,a=r*t;return[n*Tc(a),i-n*xc(a)]}return a.invert=function(t,e){var n=i-e;return[bc(t,vc(n))/r*Cc(n),i-Cc(r)*Ac(t*t+n*n)]},a}var jf=function(){return mf(If).scale(131.154).center([0,13.9389])},Rf=1.340264,Yf=-.081106,zf=893e-6,Uf=.003796,$f=Ac(3)/2;function Wf(t,e){var n=Oc($f*Tc(e)),r=n*n,i=r*r*r;return[t*xc(n)/($f*(Rf+3*Yf*r+i*(7*zf+9*Uf*r))),n*(Rf+Yf*r+i*(zf+Uf*r))]}Wf.invert=function(t,e){for(var n,r=e,i=r*r,a=i*i*i,o=0;o<12&&(a=(i=(r-=n=(r*(Rf+Yf*i+a*(zf+Uf*i))-e)/(Rf+3*Yf*i+a*(7*zf+9*Uf*i)))*r)*i*i,!(vc(n)<1e-12));++o);return[$f*t*(Rf+3*Yf*i+a*(7*zf+9*Uf*i))/xc(r),Oc(Tc(r)/$f)]};var Vf=function(){return yf(Wf).scale(177.158)};function Hf(t,e){var n=xc(e),r=xc(t)*n;return[n*Tc(t)/r,Tc(e)/r]}Hf.invert=Ef(mc);var Gf=function(){return yf(Hf).scale(144.049).clipAngle(60)};function qf(t,e,n,r){return 1===t&&1===e&&0===n&&0===r?ih:rf({point:function(i,a){this.stream.point(i*t+n,a*e+r)}})}var Xf=function(){var t,e,n,r,i,a,o=1,s=0,c=0,u=1,l=1,h=ih,f=null,d=ih;function p(){return r=i=null,a}return a={stream:function(t){return r&&i===t?r:r=h(d(i=t))},postclip:function(r){return arguments.length?(d=r,f=t=e=n=null,p()):d},clipExtent:function(r){return arguments.length?(d=null==r?(f=t=e=n=null,ih):Cl(f=+r[0][0],t=+r[0][1],e=+r[1][0],n=+r[1][1]),p()):null==f?null:[[f,t],[e,n]]},scale:function(t){return arguments.length?(h=qf((o=+t)*u,o*l,s,c),p()):o},translate:function(t){return arguments.length?(h=qf(o*u,o*l,s=+t[0],c=+t[1]),p()):[s,c]},reflectX:function(t){return arguments.length?(h=qf(o*(u=t?-1:1),o*l,s,c),p()):u<0},reflectY:function(t){return arguments.length?(h=qf(o*u,o*(l=t?-1:1),s,c),p()):l<0},fitExtent:function(t,e){return sf(a,t,e)},fitSize:function(t,e){return cf(a,t,e)},fitWidth:function(t,e){return uf(a,t,e)},fitHeight:function(t,e){return lf(a,t,e)}}};function Zf(t,e){var n=e*e,r=n*n;return[t*(.8707-.131979*n+r*(r*(.003971*n-.001529*r)-.013791)),e*(1.007226+n*(.015085+r*(.028874*n-.044475-.005916*r)))]}Zf.invert=function(t,e){var n,r=e,i=25;do{var a=r*r,o=a*a;r-=n=(r*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(vc(n)>1e-6&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]};var Jf=function(){return yf(Zf).scale(175.295)};function Qf(t,e){return[xc(e)*Tc(t),Tc(e)]}Qf.invert=Ef(Oc);var Kf=function(){return yf(Qf).scale(249.5).clipAngle(90+1e-6)};function td(t,e){var n=xc(e),r=1+xc(t)*n;return[n*Tc(t)/r,Tc(e)/r]}td.invert=Ef((function(t){return 2*mc(t)}));var ed=function(){return yf(td).scale(250).clipAngle(142)};function nd(t,e){return[wc(Sc((fc+e)/2)),-t]}nd.invert=function(t,e){return[-e,2*mc(kc(t))-fc]};var rd=function(){var t=Df(nd),e=t.center,n=t.rotate;return t.center=function(t){return arguments.length?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):[(t=n())[0],t[1],t[2]-90]},n([0,0,90]).scale(159.155)};function id(t,e){return t.parent===e.parent?1:2}function ad(t,e){return t+e.x}function od(t,e){return Math.max(t,e.y)}var sd=function(){var t=id,e=1,n=1,r=!1;function i(i){var a,o=0;i.eachAfter((function(e){var n=e.children;n?(e.x=function(t){return t.reduce(ad,0)/t.length}(n),e.y=function(t){return 1+t.reduce(od,0)}(n)):(e.x=a?o+=t(e,a):0,e.y=0,a=e)}));var s=function(t){for(var e;e=t.children;)t=e[0];return t}(i),c=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(i),u=s.x-t(s,c)/2,l=c.x+t(c,s)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*e,t.y=(i.y-t.y)*n}:function(t){t.x=(t.x-u)/(l-u)*e,t.y=(1-(i.y?t.y/i.y:1))*n})}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i};function cd(t){var e=0,n=t.children,r=n&&n.length;if(r)for(;--r>=0;)e+=n[r].value;else e=1;t.value=e}function ud(t,e){var n,r,i,a,o,s=new dd(t),c=+t.value&&(s.value=t.value),u=[s];for(null==e&&(e=ld);n=u.pop();)if(c&&(n.value=+n.data.value),(i=e(n.data))&&(o=i.length))for(n.children=new Array(o),a=o-1;a>=0;--a)u.push(r=n.children[a]=new dd(i[a])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(fd)}function ld(t){return t.children}function hd(t){t.data=t.data.data}function fd(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function dd(t){this.data=t,this.depth=this.height=0,this.parent=null}dd.prototype=ud.prototype={constructor:dd,count:function(){return this.eachAfter(cd)},each:function(t){var e,n,r,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),n=a.children)for(r=0,i=n.length;r=0;--n)i.push(e[n]);return this},sum:function(t){return this.eachAfter((function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;t=n.pop(),e=r.pop();for(;t===e;)i=t,t=n.pop(),e=r.pop();return i}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(n){n!==t&&e.push({source:n.parent,target:n})})),e},copy:function(){return ud(this).eachBefore(hd)}};var pd=Array.prototype.slice;var gd=function(t){for(var e,n,r=0,i=(t=function(t){for(var e,n,r=t.length;r;)n=Math.random()*r--|0,e=t[r],t[r]=t[n],t[n]=e;return t}(pd.call(t))).length,a=[];r0&&n*n>r*r+i*i}function bd(t,e){for(var n=0;n(o*=o)?(r=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-r*r)),n.x=t.x-r*s-a*c,n.y=t.y-r*c+a*s):(r=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-r*r)),n.x=e.x+r*s-a*c,n.y=e.y+r*c+a*s)):(n.x=e.x+n.r,n.y=e.y)}function Ed(t,e){var n=t.r+e.r-1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function Td(t){var e=t._,n=t.next._,r=e.r+n.r,i=(e.x*n.r+n.x*e.r)/r,a=(e.y*n.r+n.y*e.r)/r;return i*i+a*a}function Cd(t){this._=t,this.next=null,this.previous=null}function Ad(t){if(!(i=t.length))return 0;var e,n,r,i,a,o,s,c,u,l,h;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(n=t[1],e.x=-n.r,n.x=e.r,n.y=0,!(i>2))return e.r+n.r;wd(n,e,r=t[2]),e=new Cd(e),n=new Cd(n),r=new Cd(r),e.next=r.previous=n,n.next=e.previous=r,r.next=n.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return n.id=function(e){return arguments.length?(t=Od(e),n):t},n.parentId=function(t){return arguments.length?(e=Od(t),n):e},n};function Hd(t,e){return t.parent===e.parent?1:2}function Gd(t){var e=t.children;return e?e[0]:t.t}function qd(t){var e=t.children;return e?e[e.length-1]:t.t}function Xd(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function Zd(t,e,n){return t.a.parent===e.parent?t.a:n}function Jd(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}Jd.prototype=Object.create(dd.prototype);var Qd=function(){var t=Hd,e=1,n=1,r=null;function i(i){var c=function(t){for(var e,n,r,i,a,o=new Jd(t,0),s=[o];e=s.pop();)if(r=e._.children)for(e.children=new Array(a=r.length),i=a-1;i>=0;--i)s.push(n=e.children[i]=new Jd(r[i],i)),n.parent=e;return(o.parent=new Jd(null,0)).children=[o],o}(i);if(c.eachAfter(a),c.parent.m=-c.z,c.eachBefore(o),r)i.eachBefore(s);else{var u=i,l=i,h=i;i.eachBefore((function(t){t.xl.x&&(l=t),t.depth>h.depth&&(h=t)}));var f=u===l?1:t(u,l)/2,d=f-u.x,p=e/(l.x+f+d),g=n/(h.depth||1);i.eachBefore((function(t){t.x=(t.x+d)*p,t.y=t.depth*g}))}return i}function a(e){var n=e.children,r=e.parent.children,i=e.i?r[e.i-1]:null;if(n){!function(t){for(var e,n=0,r=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=n,e.m+=n,n+=e.s+(r+=e.c)}(e);var a=(n[0].z+n[n.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,n,r){if(n){for(var i,a=e,o=e,s=n,c=a.parent.children[0],u=a.m,l=o.m,h=s.m,f=c.m;s=qd(s),a=Gd(a),s&&a;)c=Gd(c),(o=qd(o)).a=e,(i=s.z+h-a.z-u+t(s._,a._))>0&&(Xd(Zd(s,e,r),e,i),u+=i,l+=i),h+=s.m,u+=a.m,f+=c.m,l+=o.m;s&&!qd(o)&&(o.t=s,o.m+=h-l),a&&!Gd(c)&&(c.t=a,c.m+=u-f,r=e)}return r}(e,i,e.parent.A||r[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*n}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i},Kd=function(t,e,n,r,i){for(var a,o=t.children,s=-1,c=o.length,u=t.value&&(i-n)/t.value;++sf&&(f=s),y=l*l*g,(d=Math.max(f/y,y/h))>p){l-=s;break}p=d}v.push(o={value:l,dice:c1?e:1)},n}(tp),rp=function(){var t=np,e=!1,n=1,r=1,i=[0],a=Dd,o=Dd,s=Dd,c=Dd,u=Dd;function l(t){return t.x0=t.y0=0,t.x1=n,t.y1=r,t.eachBefore(h),i=[0],e&&t.eachBefore(jd),t}function h(e){var n=i[e.depth],r=e.x0+n,l=e.y0+n,h=e.x1-n,f=e.y1-n;h=n-1){var l=s[e];return l.x0=i,l.y0=a,l.x1=o,void(l.y1=c)}var h=u[e],f=r/2+h,d=e+1,p=n-1;for(;d>>1;u[g]c-a){var m=(i*v+o*y)/r;t(e,d,y,i,a,m,c),t(d,n,v,m,a,o,c)}else{var b=(a*v+c*y)/r;t(e,d,y,i,a,o,b),t(d,n,v,i,b,o,c)}}(0,c,t.value,e,n,r,i)},ap=function(t,e,n,r,i){(1&t.depth?Kd:Rd)(t,e,n,r,i)},op=function t(e){function n(t,n,r,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,c,u,l,h=-1,f=o.length,d=t.value;++h1?e:1)},n}(tp),sp=function(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}},cp=function(t,e){var n=un(+t,+e);return function(t){var e=n(t);return e-360*Math.floor(e/360)}},up=function(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}},lp=Math.SQRT2;function hp(t){return((t=Math.exp(t))+1/t)/2}var fp=function(t,e){var n,r,i=t[0],a=t[1],o=t[2],s=e[0],c=e[1],u=e[2],l=s-i,h=c-a,f=l*l+h*h;if(f<1e-12)r=Math.log(u/o)/lp,n=function(t){return[i+t*l,a+t*h,o*Math.exp(lp*t*r)]};else{var d=Math.sqrt(f),p=(u*u-o*o+4*f)/(2*o*2*d),g=(u*u-o*o-4*f)/(2*u*2*d),y=Math.log(Math.sqrt(p*p+1)-p),v=Math.log(Math.sqrt(g*g+1)-g);r=(v-y)/lp,n=function(t){var e,n=t*r,s=hp(y),c=o/(2*d)*(s*(e=lp*n+y,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(y));return[i+c*l,a+c*h,o*s/hp(lp*n+y)]}}return n.duration=1e3*r,n};function dp(t){return function(e,n){var r=t((e=tn(e)).h,(n=tn(n)).h),i=hn(e.s,n.s),a=hn(e.l,n.l),o=hn(e.opacity,n.opacity);return function(t){return e.h=r(t),e.s=i(t),e.l=a(t),e.opacity=o(t),e+""}}}var pp=dp(un),gp=dp(hn);function yp(t,e){var n=hn((t=pa(t)).l,(e=pa(e)).l),r=hn(t.a,e.a),i=hn(t.b,e.b),a=hn(t.opacity,e.opacity);return function(e){return t.l=n(e),t.a=r(e),t.b=i(e),t.opacity=a(e),t+""}}function vp(t){return function(e,n){var r=t((e=ka(e)).h,(n=ka(n)).h),i=hn(e.c,n.c),a=hn(e.l,n.l),o=hn(e.opacity,n.opacity);return function(t){return e.h=r(t),e.c=i(t),e.l=a(t),e.opacity=o(t),e+""}}}var mp=vp(un),bp=vp(hn);function xp(t){return function e(n){function r(e,r){var i=t((e=Oa(e)).h,(r=Oa(r)).h),a=hn(e.s,r.s),o=hn(e.l,r.l),s=hn(e.opacity,r.opacity);return function(t){return e.h=i(t),e.s=a(t),e.l=o(Math.pow(t,n)),e.opacity=s(t),e+""}}return n=+n,r.gamma=e,r}(1)}var _p=xp(un),kp=xp(hn);function wp(t,e){for(var n=0,r=e.length-1,i=e[0],a=new Array(r<0?0:r);n1&&(e=t[a[o-2]],n=t[a[o-1]],r=t[s],(n[0]-e[0])*(r[1]-e[1])-(n[1]-e[1])*(r[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}var Mp=function(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),i=new Array(n);for(e=0;e=0;--e)u.push(t[r[a[e]][2]]);for(e=+s;es!=u>s&&o<(c-n)*(s-r)/(u-r)+n&&(l=!l),c=n,u=r;return l},Dp=function(t){for(var e,n,r=-1,i=t.length,a=t[i-1],o=a[0],s=a[1],c=0;++r1);return t+n*a*Math.sqrt(-2*Math.log(i)/i)}}return n.source=t,n}(Np),Fp=function t(e){function n(){var t=Lp.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}(Np),Pp=function t(e){function n(t){return function(){for(var n=0,r=0;rr&&(e=n,n=r,r=e),function(t){return Math.max(n,Math.min(r,t))}}function tg(t,e,n){var r=t[0],i=t[1],a=e[0],o=e[1];return i2?eg:tg,i=a=null,h}function h(e){return isNaN(e=+e)?n:(i||(i=r(o.map(t),s,c)))(t(u(e)))}return h.invert=function(n){return u(e((a||(a=r(s,o.map(t),_n)))(n)))},h.domain=function(t){return arguments.length?(o=Up.call(t,Xp),u===Jp||(u=Kp(o)),l()):o.slice()},h.range=function(t){return arguments.length?(s=$p.call(t),l()):s.slice()},h.rangeRound=function(t){return s=$p.call(t),c=up,l()},h.clamp=function(t){return arguments.length?(u=t?Kp(o):Jp,h):u!==Jp},h.interpolate=function(t){return arguments.length?(c=t,l()):c},h.unknown=function(t){return arguments.length?(n=t,h):n},function(n,r){return t=n,e=r,l()}}function ig(t,e){return rg()(t,e)}var ag=function(t,e,n,r){var i,a=S(t,e,n);switch((r=Vs(null==r?",f":r)).type){case"s":var o=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(i=ac(a,o))||(r.precision=i),Zs(r,o);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=oc(a,Math.max(Math.abs(t),Math.abs(e))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=ic(a))||(r.precision=i-2*("%"===r.type))}return Xs(r)};function og(t){var e=t.domain;return t.ticks=function(t){var n=e();return C(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return ag(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,i=e(),a=0,o=i.length-1,s=i[a],c=i[o];return c0?r=A(s=Math.floor(s/r)*r,c=Math.ceil(c/r)*r,n):r<0&&(r=A(s=Math.ceil(s*r)/r,c=Math.floor(c*r)/r,n)),r>0?(i[a]=Math.floor(s/r)*r,i[o]=Math.ceil(c/r)*r,e(i)):r<0&&(i[a]=Math.ceil(s*r)/r,i[o]=Math.floor(c*r)/r,e(i)),t},t}function sg(){var t=ig(Jp,Jp);return t.copy=function(){return ng(t,sg())},Rp.apply(t,arguments),og(t)}function cg(t){var e;function n(t){return isNaN(t=+t)?e:t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=Up.call(e,Xp),n):t.slice()},n.unknown=function(t){return arguments.length?(e=t,n):e},n.copy=function(){return cg(t).unknown(e)},t=arguments.length?Up.call(t,Xp):[0,1],og(n)}var ug=function(t,e){var n,r=0,i=(t=t.slice()).length-1,a=t[r],o=t[i];return o0){for(;fc)break;g.push(h)}}else for(;f=1;--l)if(!((h=u*l)c)break;g.push(h)}}else g=C(f,d,Math.min(d-f,p)).map(n);return r?g.reverse():g},r.tickFormat=function(t,i){if(null==i&&(i=10===a?".0e":","),"function"!=typeof i&&(i=Xs(i)),t===1/0)return i;null==t&&(t=10);var o=Math.max(1,a*t/r.ticks().length);return function(t){var r=t/n(Math.round(e(t)));return r*a0?i[r-1]:e[0],r=r?[i[r-1],n]:[i[o-1],i[o]]},o.unknown=function(e){return arguments.length?(t=e,o):o},o.thresholds=function(){return i.slice()},o.copy=function(){return Mg().domain([e,n]).range(a).unknown(t)},Rp.apply(og(o),arguments)}function Og(){var t,e=[.5],n=[0,1],r=1;function i(i){return i<=i?n[c(e,i,0,r)]:t}return i.domain=function(t){return arguments.length?(e=$p.call(t),r=Math.min(e.length,n.length-1),i):e.slice()},i.range=function(t){return arguments.length?(n=$p.call(t),r=Math.min(e.length,n.length-1),i):n.slice()},i.invertExtent=function(t){var r=n.indexOf(t);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(t=e,i):t},i.copy=function(){return Og().domain(e).range(n).unknown(t)},Rp.apply(i,arguments)}var Dg=new Date,Ng=new Date;function Bg(t,e,n,r){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=function(e){return t(e=new Date(+e)),e},i.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},i.round=function(t){var e=i(t),n=i.ceil(t);return t-e0))return s;do{s.push(o=new Date(+n)),e(n,a),t(n)}while(o=e)for(;t(e),!n(e);)e.setTime(e-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}))},n&&(i.count=function(e,r){return Dg.setTime(+e),Ng.setTime(+r),t(Dg),t(Ng),Math.floor(n(Dg,Ng))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(e){return r(e)%t==0}:function(e){return i.count(0,e)%t==0}):i:null}),i}var Lg=Bg((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));Lg.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Bg((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,n){e.setFullYear(e.getFullYear()+n*t)})):null};var Fg=Lg,Pg=Lg.range,Ig=Bg((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),jg=Ig,Rg=Ig.range;function Yg(t){return Bg((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var zg=Yg(0),Ug=Yg(1),$g=Yg(2),Wg=Yg(3),Vg=Yg(4),Hg=Yg(5),Gg=Yg(6),qg=zg.range,Xg=Ug.range,Zg=$g.range,Jg=Wg.range,Qg=Vg.range,Kg=Hg.range,ty=Gg.range,ey=Bg((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1})),ny=ey,ry=ey.range,iy=Bg((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,e){t.setTime(+t+36e5*e)}),(function(t,e){return(e-t)/36e5}),(function(t){return t.getHours()})),ay=iy,oy=iy.range,sy=Bg((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,e){t.setTime(+t+6e4*e)}),(function(t,e){return(e-t)/6e4}),(function(t){return t.getMinutes()})),cy=sy,uy=sy.range,ly=Bg((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+1e3*e)}),(function(t,e){return(e-t)/1e3}),(function(t){return t.getUTCSeconds()})),hy=ly,fy=ly.range,dy=Bg((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));dy.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Bg((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t})):dy:null};var py=dy,gy=dy.range;function yy(t){return Bg((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/6048e5}))}var vy=yy(0),my=yy(1),by=yy(2),xy=yy(3),_y=yy(4),ky=yy(5),wy=yy(6),Ey=vy.range,Ty=my.range,Cy=by.range,Ay=xy.range,Sy=_y.range,My=ky.range,Oy=wy.range,Dy=Bg((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/864e5}),(function(t){return t.getUTCDate()-1})),Ny=Dy,By=Dy.range,Ly=Bg((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));Ly.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Bg((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null};var Fy=Ly,Py=Ly.range;function Iy(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function jy(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Ry(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Yy(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,s=t.months,c=t.shortMonths,u=Qy(i),l=Ky(i),h=Qy(a),f=Ky(a),d=Qy(o),p=Ky(o),g=Qy(s),y=Ky(s),v=Qy(c),m=Ky(c),b={a:function(t){return o[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return s[t.getMonth()]},c:null,d:xv,e:xv,f:Tv,H:_v,I:kv,j:wv,L:Ev,m:Cv,M:Av,p:function(t){return i[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:em,s:nm,S:Sv,u:Mv,U:Ov,V:Dv,w:Nv,W:Bv,x:null,X:null,y:Lv,Y:Fv,Z:Pv,"%":tm},x={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:Iv,e:Iv,f:Uv,H:jv,I:Rv,j:Yv,L:zv,m:$v,M:Wv,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:em,s:nm,S:Vv,u:Hv,U:Gv,V:qv,w:Xv,W:Zv,x:null,X:null,y:Jv,Y:Qv,Z:Kv,"%":tm},_={a:function(t,e,n){var r=d.exec(e.slice(n));return r?(t.w=p[r[0].toLowerCase()],n+r[0].length):-1},A:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=f[r[0].toLowerCase()],n+r[0].length):-1},b:function(t,e,n){var r=v.exec(e.slice(n));return r?(t.m=m[r[0].toLowerCase()],n+r[0].length):-1},B:function(t,e,n){var r=g.exec(e.slice(n));return r?(t.m=y[r[0].toLowerCase()],n+r[0].length):-1},c:function(t,n,r){return E(t,e,n,r)},d:lv,e:lv,f:yv,H:fv,I:fv,j:hv,L:gv,m:uv,M:dv,p:function(t,e,n){var r=u.exec(e.slice(n));return r?(t.p=l[r[0].toLowerCase()],n+r[0].length):-1},q:cv,Q:mv,s:bv,S:pv,u:ev,U:nv,V:rv,w:tv,W:iv,x:function(t,e,r){return E(t,n,e,r)},X:function(t,e,n){return E(t,r,e,n)},y:ov,Y:av,Z:sv,"%":vv};function k(t,e){return function(n){var r,i,a,o=[],s=-1,c=0,u=t.length;for(n instanceof Date||(n=new Date(+n));++s53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=jy(Ry(a.y,0,1))).getUTCDay(),r=i>4||0===i?my.ceil(r):my(r),r=Ny.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=Iy(Ry(a.y,0,1))).getDay(),r=i>4||0===i?Ug.ceil(r):Ug(r),r=ny.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?jy(Ry(a.y,0,1)).getUTCDay():Iy(Ry(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,jy(a)):Iy(a)}}function E(t,e,n,r){for(var i,a,o=0,s=e.length,c=n.length;o=c)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=_[i in Hy?e.charAt(o++):i])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return(b.x=k(n,b),b.X=k(r,b),b.c=k(e,b),x.x=k(n,x),x.X=k(r,x),x.c=k(e,x),{format:function(t){var e=k(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=w(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=k(t+="",x);return e.toString=function(){return t},e},utcParse:function(t){var e=w(t+="",!0);return e.toString=function(){return t},e}})}var zy,Uy,$y,Wy,Vy,Hy={"-":"",_:" ",0:"0"},Gy=/^\s*\d+/,qy=/^%/,Xy=/[\\^$*+?|[\]().{}]/g;function Zy(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a68?1900:2e3),n+r[0].length):-1}function sv(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function cv(t,e,n){var r=Gy.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function uv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function lv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function hv(t,e,n){var r=Gy.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function fv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function dv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function pv(t,e,n){var r=Gy.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function gv(t,e,n){var r=Gy.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function yv(t,e,n){var r=Gy.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function vv(t,e,n){var r=qy.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function mv(t,e,n){var r=Gy.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function bv(t,e,n){var r=Gy.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function xv(t,e){return Zy(t.getDate(),e,2)}function _v(t,e){return Zy(t.getHours(),e,2)}function kv(t,e){return Zy(t.getHours()%12||12,e,2)}function wv(t,e){return Zy(1+ny.count(Fg(t),t),e,3)}function Ev(t,e){return Zy(t.getMilliseconds(),e,3)}function Tv(t,e){return Ev(t,e)+"000"}function Cv(t,e){return Zy(t.getMonth()+1,e,2)}function Av(t,e){return Zy(t.getMinutes(),e,2)}function Sv(t,e){return Zy(t.getSeconds(),e,2)}function Mv(t){var e=t.getDay();return 0===e?7:e}function Ov(t,e){return Zy(zg.count(Fg(t)-1,t),e,2)}function Dv(t,e){var n=t.getDay();return t=n>=4||0===n?Vg(t):Vg.ceil(t),Zy(Vg.count(Fg(t),t)+(4===Fg(t).getDay()),e,2)}function Nv(t){return t.getDay()}function Bv(t,e){return Zy(Ug.count(Fg(t)-1,t),e,2)}function Lv(t,e){return Zy(t.getFullYear()%100,e,2)}function Fv(t,e){return Zy(t.getFullYear()%1e4,e,4)}function Pv(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Zy(e/60|0,"0",2)+Zy(e%60,"0",2)}function Iv(t,e){return Zy(t.getUTCDate(),e,2)}function jv(t,e){return Zy(t.getUTCHours(),e,2)}function Rv(t,e){return Zy(t.getUTCHours()%12||12,e,2)}function Yv(t,e){return Zy(1+Ny.count(Fy(t),t),e,3)}function zv(t,e){return Zy(t.getUTCMilliseconds(),e,3)}function Uv(t,e){return zv(t,e)+"000"}function $v(t,e){return Zy(t.getUTCMonth()+1,e,2)}function Wv(t,e){return Zy(t.getUTCMinutes(),e,2)}function Vv(t,e){return Zy(t.getUTCSeconds(),e,2)}function Hv(t){var e=t.getUTCDay();return 0===e?7:e}function Gv(t,e){return Zy(vy.count(Fy(t)-1,t),e,2)}function qv(t,e){var n=t.getUTCDay();return t=n>=4||0===n?_y(t):_y.ceil(t),Zy(_y.count(Fy(t),t)+(4===Fy(t).getUTCDay()),e,2)}function Xv(t){return t.getUTCDay()}function Zv(t,e){return Zy(my.count(Fy(t)-1,t),e,2)}function Jv(t,e){return Zy(t.getUTCFullYear()%100,e,2)}function Qv(t,e){return Zy(t.getUTCFullYear()%1e4,e,4)}function Kv(){return"+0000"}function tm(){return"%"}function em(t){return+t}function nm(t){return Math.floor(+t/1e3)}function rm(t){return zy=Yy(t),Uy=zy.format,$y=zy.parse,Wy=zy.utcFormat,Vy=zy.utcParse,zy}rm({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function im(t){return new Date(t)}function am(t){return t instanceof Date?+t:+new Date(+t)}function om(t,e,n,r,a,o,s,c,u){var l=ig(Jp,Jp),h=l.invert,f=l.domain,d=u(".%L"),p=u(":%S"),g=u("%I:%M"),y=u("%I %p"),v=u("%a %d"),m=u("%b %d"),b=u("%B"),x=u("%Y"),_=[[s,1,1e3],[s,5,5e3],[s,15,15e3],[s,30,3e4],[o,1,6e4],[o,5,3e5],[o,15,9e5],[o,30,18e5],[a,1,36e5],[a,3,108e5],[a,6,216e5],[a,12,432e5],[r,1,864e5],[r,2,1728e5],[n,1,6048e5],[e,1,2592e6],[e,3,7776e6],[t,1,31536e6]];function k(i){return(s(i)1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return qb.h=360*t-100,qb.s=1.5-1.5*e,qb.l=.8-.9*e,qb+""},Zb=Ge(),Jb=Math.PI/3,Qb=2*Math.PI/3,Kb=function(t){var e;return t=(.5-t)*Math.PI,Zb.r=255*(e=Math.sin(t))*e,Zb.g=255*(e=Math.sin(t+Jb))*e,Zb.b=255*(e=Math.sin(t+Qb))*e,Zb+""},tx=function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-14825.05*t)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+707.56*t)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-6838.66*t)))))))+")"};function ex(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var nx=ex(Nm("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),rx=ex(Nm("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),ix=ex(Nm("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),ax=ex(Nm("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),ox=function(t){return ke(ne(t).call(document.documentElement))},sx=0;function cx(){return new ux}function ux(){this._="@"+(++sx).toString(36)}ux.prototype=cx.prototype={constructor:ux,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var lx=function(t){return"string"==typeof t?new be([document.querySelectorAll(t)],[document.documentElement]):new be([null==t?[]:t],me)},hx=function(t,e){null==e&&(e=Mn().touches);for(var n=0,r=e?e.length:0,i=new Array(r);n1?0:t<-1?xx:Math.acos(t)}function Ex(t){return t>=1?_x:t<=-1?-_x:Math.asin(t)}function Tx(t){return t.innerRadius}function Cx(t){return t.outerRadius}function Ax(t){return t.startAngle}function Sx(t){return t.endAngle}function Mx(t){return t&&t.padAngle}function Ox(t,e,n,r,i,a,o,s){var c=n-t,u=r-e,l=o-i,h=s-a,f=h*c-l*u;if(!(f*f<1e-12))return[t+(f=(l*(e-a)-h*(t-i))/f)*c,e+f*u]}function Dx(t,e,n,r,i,a,o){var s=t-n,c=e-r,u=(o?a:-a)/bx(s*s+c*c),l=u*c,h=-u*s,f=t+l,d=e+h,p=n+l,g=r+h,y=(f+p)/2,v=(d+g)/2,m=p-f,b=g-d,x=m*m+b*b,_=i-a,k=f*g-p*d,w=(b<0?-1:1)*bx(yx(0,_*_*x-k*k)),E=(k*b-m*w)/x,T=(-k*m-b*w)/x,C=(k*b+m*w)/x,A=(-k*m+b*w)/x,S=E-y,M=T-v,O=C-y,D=A-v;return S*S+M*M>O*O+D*D&&(E=C,T=A),{cx:E,cy:T,x01:-l,y01:-h,x11:E*(i/_-1),y11:T*(i/_-1)}}var Nx=function(){var t=Tx,e=Cx,n=fx(0),r=null,i=Ax,a=Sx,o=Mx,s=null;function c(){var c,u,l=+t.apply(this,arguments),h=+e.apply(this,arguments),f=i.apply(this,arguments)-_x,d=a.apply(this,arguments)-_x,p=dx(d-f),g=d>f;if(s||(s=c=Ui()),h1e-12)if(p>kx-1e-12)s.moveTo(h*gx(f),h*mx(f)),s.arc(0,0,h,f,d,!g),l>1e-12&&(s.moveTo(l*gx(d),l*mx(d)),s.arc(0,0,l,d,f,g));else{var y,v,m=f,b=d,x=f,_=d,k=p,w=p,E=o.apply(this,arguments)/2,T=E>1e-12&&(r?+r.apply(this,arguments):bx(l*l+h*h)),C=vx(dx(h-l)/2,+n.apply(this,arguments)),A=C,S=C;if(T>1e-12){var M=Ex(T/l*mx(E)),O=Ex(T/h*mx(E));(k-=2*M)>1e-12?(x+=M*=g?1:-1,_-=M):(k=0,x=_=(f+d)/2),(w-=2*O)>1e-12?(m+=O*=g?1:-1,b-=O):(w=0,m=b=(f+d)/2)}var D=h*gx(m),N=h*mx(m),B=l*gx(_),L=l*mx(_);if(C>1e-12){var F,P=h*gx(b),I=h*mx(b),j=l*gx(x),R=l*mx(x);if(p1e-12?S>1e-12?(y=Dx(j,R,D,N,h,S,g),v=Dx(P,I,B,L,h,S,g),s.moveTo(y.cx+y.x01,y.cy+y.y01),S1e-12&&k>1e-12?A>1e-12?(y=Dx(B,L,P,I,l,-A,g),v=Dx(D,N,j,R,l,-A,g),s.lineTo(y.cx+y.x01,y.cy+y.y01),A=l;--h)s.point(y[h],v[h]);s.lineEnd(),s.areaEnd()}g&&(y[u]=+t(f,u,c),v[u]=+n(f,u,c),s.point(e?+e(f,u,c):y[u],r?+r(f,u,c):v[u]))}if(d)return s=null,d+""||null}function u(){return Ix().defined(i).curve(o).context(a)}return c.x=function(n){return arguments.length?(t="function"==typeof n?n:fx(+n),e=null,c):t},c.x0=function(e){return arguments.length?(t="function"==typeof e?e:fx(+e),c):t},c.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:fx(+t),c):e},c.y=function(t){return arguments.length?(n="function"==typeof t?t:fx(+t),r=null,c):n},c.y0=function(t){return arguments.length?(n="function"==typeof t?t:fx(+t),c):n},c.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:fx(+t),c):r},c.lineX0=c.lineY0=function(){return u().x(t).y(n)},c.lineY1=function(){return u().x(t).y(r)},c.lineX1=function(){return u().x(e).y(n)},c.defined=function(t){return arguments.length?(i="function"==typeof t?t:fx(!!t),c):i},c.curve=function(t){return arguments.length?(o=t,null!=a&&(s=o(a)),c):o},c.context=function(t){return arguments.length?(null==t?a=s=null:s=o(a=t),c):a},c},Rx=function(t,e){return et?1:e>=t?0:NaN},Yx=function(t){return t},zx=function(){var t=Yx,e=Rx,n=null,r=fx(0),i=fx(kx),a=fx(0);function o(o){var s,c,u,l,h,f=o.length,d=0,p=new Array(f),g=new Array(f),y=+r.apply(this,arguments),v=Math.min(kx,Math.max(-kx,i.apply(this,arguments)-y)),m=Math.min(Math.abs(v)/f,a.apply(this,arguments)),b=m*(v<0?-1:1);for(s=0;s0&&(d+=h);for(null!=e?p.sort((function(t,n){return e(g[t],g[n])})):null!=n&&p.sort((function(t,e){return n(o[t],o[e])})),s=0,u=d?(v-f*b)/d:0;s0?h*u:0)+b,g[c]={data:o[c],index:s,value:h,startAngle:y,endAngle:l,padAngle:m};return g}return o.value=function(e){return arguments.length?(t="function"==typeof e?e:fx(+e),o):t},o.sortValues=function(t){return arguments.length?(e=t,n=null,o):e},o.sort=function(t){return arguments.length?(n=t,e=null,o):n},o.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:fx(+t),o):r},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:fx(+t),o):i},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:fx(+t),o):a},o},Ux=Wx(Lx);function $x(t){this._curve=t}function Wx(t){function e(e){return new $x(t(e))}return e._curve=t,e}function Vx(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(Wx(t)):e()._curve},t}$x.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var Hx=function(){return Vx(Ix().curve(Ux))},Gx=function(){var t=jx().curve(Ux),e=t.curve,n=t.lineX0,r=t.lineX1,i=t.lineY0,a=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Vx(n())},delete t.lineX0,t.lineEndAngle=function(){return Vx(r())},delete t.lineX1,t.lineInnerRadius=function(){return Vx(i())},delete t.lineY0,t.lineOuterRadius=function(){return Vx(a())},delete t.lineY1,t.curve=function(t){return arguments.length?e(Wx(t)):e()._curve},t},qx=function(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]},Xx=Array.prototype.slice;function Zx(t){return t.source}function Jx(t){return t.target}function Qx(t){var e=Zx,n=Jx,r=Fx,i=Px,a=null;function o(){var o,s=Xx.call(arguments),c=e.apply(this,s),u=n.apply(this,s);if(a||(a=o=Ui()),t(a,+r.apply(this,(s[0]=c,s)),+i.apply(this,s),+r.apply(this,(s[0]=u,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(r="function"==typeof t?t:fx(+t),o):r},o.y=function(t){return arguments.length?(i="function"==typeof t?t:fx(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}function Kx(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e=(e+r)/2,n,e,i,r,i)}function t_(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e,n=(n+i)/2,r,n,r,i)}function e_(t,e,n,r,i){var a=qx(e,n),o=qx(e,n=(n+i)/2),s=qx(r,n),c=qx(r,i);t.moveTo(a[0],a[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],c[0],c[1])}function n_(){return Qx(Kx)}function r_(){return Qx(t_)}function i_(){var t=Qx(e_);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}var a_={draw:function(t,e){var n=Math.sqrt(e/xx);t.moveTo(n,0),t.arc(0,0,n,0,kx)}},o_={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},s_=Math.sqrt(1/3),c_=2*s_,u_={draw:function(t,e){var n=Math.sqrt(e/c_),r=n*s_;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},l_=Math.sin(xx/10)/Math.sin(7*xx/10),h_=Math.sin(kx/10)*l_,f_=-Math.cos(kx/10)*l_,d_={draw:function(t,e){var n=Math.sqrt(.8908130915292852*e),r=h_*n,i=f_*n;t.moveTo(0,-n),t.lineTo(r,i);for(var a=1;a<5;++a){var o=kx*a/5,s=Math.cos(o),c=Math.sin(o);t.lineTo(c*n,-s*n),t.lineTo(s*r-c*i,c*r+s*i)}t.closePath()}},p_={draw:function(t,e){var n=Math.sqrt(e),r=-n/2;t.rect(r,r,n,n)}},g_=Math.sqrt(3),y_={draw:function(t,e){var n=-Math.sqrt(e/(3*g_));t.moveTo(0,2*n),t.lineTo(-g_*n,-n),t.lineTo(g_*n,-n),t.closePath()}},v_=Math.sqrt(3)/2,m_=1/Math.sqrt(12),b_=3*(m_/2+1),x_={draw:function(t,e){var n=Math.sqrt(e/b_),r=n/2,i=n*m_,a=r,o=n*m_+n,s=-a,c=o;t.moveTo(r,i),t.lineTo(a,o),t.lineTo(s,c),t.lineTo(-.5*r-v_*i,v_*r+-.5*i),t.lineTo(-.5*a-v_*o,v_*a+-.5*o),t.lineTo(-.5*s-v_*c,v_*s+-.5*c),t.lineTo(-.5*r+v_*i,-.5*i-v_*r),t.lineTo(-.5*a+v_*o,-.5*o-v_*a),t.lineTo(-.5*s+v_*c,-.5*c-v_*s),t.closePath()}},__=[a_,o_,u_,p_,d_,y_,x_],k_=function(){var t=fx(a_),e=fx(64),n=null;function r(){var r;if(n||(n=r=Ui()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),r)return n=null,r+""||null}return r.type=function(e){return arguments.length?(t="function"==typeof e?e:fx(e),r):t},r.size=function(t){return arguments.length?(e="function"==typeof t?t:fx(+t),r):e},r.context=function(t){return arguments.length?(n=null==t?null:t,r):n},r},w_=function(){};function E_(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function T_(t){this._context=t}T_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:E_(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:E_(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var C_=function(t){return new T_(t)};function A_(t){this._context=t}A_.prototype={areaStart:w_,areaEnd:w_,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:E_(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var S_=function(t){return new A_(t)};function M_(t){this._context=t}M_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:E_(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};var O_=function(t){return new M_(t)};function D_(t,e){this._basis=new T_(t),this._beta=e}D_.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],a=e[0],o=t[n]-i,s=e[n]-a,c=-1;++c<=n;)r=c/n,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*o),this._beta*e[c]+(1-this._beta)*(a+r*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var N_=function t(e){function n(t){return 1===e?new T_(t):new D_(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function B_(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function L_(t,e){this._context=t,this._k=(1-e)/6}L_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:B_(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:B_(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var F_=function t(e){function n(t){return new L_(t,e)}return n.tension=function(e){return t(+e)},n}(0);function P_(t,e){this._context=t,this._k=(1-e)/6}P_.prototype={areaStart:w_,areaEnd:w_,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:B_(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var I_=function t(e){function n(t){return new P_(t,e)}return n.tension=function(e){return t(+e)},n}(0);function j_(t,e){this._context=t,this._k=(1-e)/6}j_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:B_(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var R_=function t(e){function n(t){return new j_(t,e)}return n.tension=function(e){return t(+e)},n}(0);function Y_(t,e,n){var r=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>1e-12){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>1e-12){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/l,o=(o*u+t._y1*t._l23_2a-n*t._l12_2a)/l}t._context.bezierCurveTo(r,i,a,o,t._x2,t._y2)}function z_(t,e){this._context=t,this._alpha=e}z_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Y_(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var U_=function t(e){function n(t){return e?new z_(t,e):new L_(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function $_(t,e){this._context=t,this._alpha=e}$_.prototype={areaStart:w_,areaEnd:w_,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Y_(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var W_=function t(e){function n(t){return e?new $_(t,e):new P_(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function V_(t,e){this._context=t,this._alpha=e}V_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Y_(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var H_=function t(e){function n(t){return e?new V_(t,e):new j_(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function G_(t){this._context=t}G_.prototype={areaStart:w_,areaEnd:w_,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};var q_=function(t){return new G_(t)};function X_(t){return t<0?-1:1}function Z_(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),o=(n-t._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(X_(a)+X_(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function J_(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Q_(t,e,n){var r=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-r)/3;t._context.bezierCurveTo(r+s,i+s*e,a-s,o-s*n,a,o)}function K_(t){this._context=t}function tk(t){this._context=new ek(t)}function ek(t){this._context=t}function nk(t){return new K_(t)}function rk(t){return new tk(t)}function ik(t){this._context=t}function ak(t){var e,n,r=t.length-1,i=new Array(r),a=new Array(r),o=new Array(r);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var ck=function(t){return new sk(t,.5)};function uk(t){return new sk(t,0)}function lk(t){return new sk(t,1)}var hk=function(t,e){if((i=t.length)>1)for(var n,r,i,a=1,o=t[e[0]],s=o.length;a=0;)n[e]=e;return n};function dk(t,e){return t[e]}var pk=function(){var t=fx([]),e=fk,n=hk,r=dk;function i(i){var a,o,s=t.apply(this,arguments),c=i.length,u=s.length,l=new Array(u);for(a=0;a0){for(var n,r,i,a=0,o=t[0].length;a0)for(var n,r,i,a,o,s,c=0,u=t[e[0]].length;c0?(r[0]=a,r[1]=a+=i):i<0?(r[1]=o,r[0]=o+=i):(r[0]=0,r[1]=i)},vk=function(t,e){if((n=t.length)>0){for(var n,r=0,i=t[e[0]],a=i.length;r0&&(r=(n=t[e[0]]).length)>0){for(var n,r,i,a=0,o=1;oa&&(a=e,r=n);return r}var _k=function(t){var e=t.map(kk);return fk(t).sort((function(t,n){return e[t]-e[n]}))};function kk(t){for(var e,n=0,r=-1,i=t.length;++r0)){if(a/=f,f<0){if(a0){if(a>h)return;a>l&&(l=a)}if(a=r-c,f||!(a<0)){if(a/=f,f<0){if(a>h)return;a>l&&(l=a)}else if(f>0){if(a0)){if(a/=d,d<0){if(a0){if(a>h)return;a>l&&(l=a)}if(a=i-u,d||!(a<0)){if(a/=d,d<0){if(a>h)return;a>l&&(l=a)}else if(d>0){if(a0||h<1)||(l>0&&(t[0]=[c+l*f,u+l*d]),h<1&&(t[1]=[c+h*f,u+h*d]),!0)}}}}}function Uk(t,e,n,r,i){var a=t[1];if(a)return!0;var o,s,c=t[0],u=t.left,l=t.right,h=u[0],f=u[1],d=l[0],p=l[1],g=(h+d)/2,y=(f+p)/2;if(p===f){if(g=r)return;if(h>d){if(c){if(c[1]>=i)return}else c=[g,n];a=[g,i]}else{if(c){if(c[1]1)if(h>d){if(c){if(c[1]>=i)return}else c=[(n-s)/o,n];a=[(i-s)/o,i]}else{if(c){if(c[1]=r)return}else c=[e,o*e+s];a=[r,o*r+s]}else{if(c){if(c[0]=-lw)){var d=c*c+u*u,p=l*l+h*h,g=(h*d-u*p)/f,y=(c*p-l*d)/f,v=Gk.pop()||new qk;v.arc=t,v.site=i,v.x=g+o,v.y=(v.cy=y+s)+Math.sqrt(g*g+y*y),t.circle=v;for(var m=null,b=sw._;b;)if(v.yuw)s=s.L;else{if(!((i=a-iw(s,o))>uw)){r>-uw?(e=s.P,n=s):i>-uw?(e=s,n=s.N):e=n=s;break}if(!s.R){e=s;break}s=s.R}!function(t){ow[t.index]={site:t,halfedges:[]}}(t);var c=Kk(t);if(aw.insert(e,c),e||n){if(e===n)return Zk(e),n=Kk(e.site),aw.insert(c,n),c.edge=n.edge=jk(e.site,c.site),Xk(e),void Xk(n);if(n){Zk(e),Zk(n);var u=e.site,l=u[0],h=u[1],f=t[0]-l,d=t[1]-h,p=n.site,g=p[0]-l,y=p[1]-h,v=2*(f*y-d*g),m=f*f+d*d,b=g*g+y*y,x=[(y*m-d*b)/v+l,(f*b-g*m)/v+h];Yk(n.edge,u,p,x),c.edge=jk(u,t,null,x),n.edge=jk(t,p,null,x),Xk(e),Xk(n)}else c.edge=jk(e.site,c.site)}}function rw(t,e){var n=t.site,r=n[0],i=n[1],a=i-e;if(!a)return r;var o=t.P;if(!o)return-1/0;var s=(n=o.site)[0],c=n[1],u=c-e;if(!u)return s;var l=s-r,h=1/a-1/u,f=l/u;return h?(-f+Math.sqrt(f*f-2*h*(l*l/(-2*u)-c+u/2+i-a/2)))/h+r:(r+s)/2}function iw(t,e){var n=t.N;if(n)return rw(n,e);var r=t.site;return r[1]===e?r[0]:1/0}var aw,ow,sw,cw,uw=1e-6,lw=1e-12;function hw(t,e){return e[1]-t[1]||e[0]-t[0]}function fw(t,e){var n,r,i,a=t.sort(hw).pop();for(cw=[],ow=new Array(t.length),aw=new Ik,sw=new Ik;;)if(i=Hk,a&&(!i||a[1]uw||Math.abs(i[0][1]-i[1][1])>uw)||delete cw[a]}(o,s,c,u),function(t,e,n,r){var i,a,o,s,c,u,l,h,f,d,p,g,y=ow.length,v=!0;for(i=0;iuw||Math.abs(g-f)>uw)&&(c.splice(s,0,cw.push(Rk(o,d,Math.abs(p-t)uw?[t,Math.abs(h-t)uw?[Math.abs(f-r)uw?[n,Math.abs(h-n)uw?[Math.abs(f-e)=s)return null;var c=t-i.site[0],u=e-i.site[1],l=c*c+u*u;do{i=a.cells[r=o],o=null,i.halfedges.forEach((function(n){var r=a.edges[n],s=r.left;if(s!==i.site&&s||(s=r.right)){var c=t-s[0],u=e-s[1],h=c*c+u*u;hr?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}var Aw=function(){var t,e,n=_w,r=kw,i=Cw,a=Ew,o=Tw,s=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],u=250,l=fp,h=lt("start","zoom","end"),f=0;function d(t){t.property("__zoom",ww).on("wheel.zoom",x).on("mousedown.zoom",_).on("dblclick.zoom",k).filter(o).on("touchstart.zoom",w).on("touchmove.zoom",E).on("touchend.zoom touchcancel.zoom",T).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(t,e){return(e=Math.max(s[0],Math.min(s[1],e)))===t.k?t:new yw(e,t.x,t.y)}function g(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new yw(t.k,r,i)}function y(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function v(t,e,n){t.on("start.zoom",(function(){m(this,arguments).start()})).on("interrupt.zoom end.zoom",(function(){m(this,arguments).end()})).tween("zoom",(function(){var t=this,i=arguments,a=m(t,i),o=r.apply(t,i),s=null==n?y(o):"function"==typeof n?n.apply(t,i):n,c=Math.max(o[1][0]-o[0][0],o[1][1]-o[0][1]),u=t.__zoom,h="function"==typeof e?e.apply(t,i):e,f=l(u.invert(s).concat(c/u.k),h.invert(s).concat(c/h.k));return function(t){if(1===t)t=h;else{var e=f(t),n=c/e[2];t=new yw(n,s[0]-e[0]*n,s[1]-e[1]*n)}a.zoom(null,t)}}))}function m(t,e,n){return!n&&t.__zooming||new b(t,e)}function b(t,e){this.that=t,this.args=e,this.active=0,this.extent=r.apply(t,e),this.taps=0}function x(){if(n.apply(this,arguments)){var t=m(this,arguments),e=this.__zoom,r=Math.max(s[0],Math.min(s[1],e.k*Math.pow(2,a.apply(this,arguments)))),o=Nn(this);if(t.wheel)t.mouse[0][0]===o[0]&&t.mouse[0][1]===o[1]||(t.mouse[1]=e.invert(t.mouse[0]=o)),clearTimeout(t.wheel);else{if(e.k===r)return;t.mouse=[o,e.invert(o)],or(this),t.start()}xw(),t.wheel=setTimeout(u,150),t.zoom("mouse",i(g(p(e,r),t.mouse[0],t.mouse[1]),t.extent,c))}function u(){t.wheel=null,t.end()}}function _(){if(!e&&n.apply(this,arguments)){var t=m(this,arguments,!0),r=ke(ce.view).on("mousemove.zoom",u,!0).on("mouseup.zoom",l,!0),a=Nn(this),o=ce.clientX,s=ce.clientY;Te(ce.view),bw(),t.mouse=[a,this.__zoom.invert(a)],or(this),t.start()}function u(){if(xw(),!t.moved){var e=ce.clientX-o,n=ce.clientY-s;t.moved=e*e+n*n>f}t.zoom("mouse",i(g(t.that.__zoom,t.mouse[0]=Nn(t.that),t.mouse[1]),t.extent,c))}function l(){r.on("mousemove.zoom mouseup.zoom",null),Ce(ce.view,t.moved),xw(),t.end()}}function k(){if(n.apply(this,arguments)){var t=this.__zoom,e=Nn(this),a=t.invert(e),o=t.k*(ce.shiftKey?.5:2),s=i(g(p(t,o),e,a),r.apply(this,arguments),c);xw(),u>0?ke(this).transition().duration(u).call(v,s,e):ke(this).call(d.transform,s)}}function w(){if(n.apply(this,arguments)){var e,r,i,a,o=ce.touches,s=o.length,c=m(this,arguments,ce.changedTouches.length===s);for(bw(),r=0;rh&&S.push("'"+this.terminals_[T]+"'");O=p.showPosition?"Parse error on line "+(c+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[x]||x)+"'":"Parse error on line "+(c+1)+": Unexpected "+(x==f?"end of input":"'"+(this.terminals_[x]||x)+"'"),this.parseError(O,{text:p.match,token:this.terminals_[x]||x,line:p.yylineno,loc:v,expected:S})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+k+", token: "+x);switch(w[0]){case 1:n.push(x),i.push(p.yytext),a.push(p.yylloc),n.push(w[1]),x=null,_?(x=_,_=null):(u=p.yyleng,s=p.yytext,c=p.yylineno,v=p.yylloc,l>0&&l--);break;case 2:if(C=this.productions_[w[1]][1],M.$=i[i.length-C],M._$={first_line:a[a.length-(C||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(C||1)].first_column,last_column:a[a.length-1].last_column},m&&(M._$.range=[a[a.length-(C||1)].range[0],a[a.length-1].range[1]]),void 0!==(E=this.performAction.apply(M,[s,u,c,g.yy,w[1],i,a].concat(d))))return E;C&&(n=n.slice(0,-1*C*2),i=i.slice(0,-1*C),a=a.slice(0,-1*C)),n.push(this.productions_[w[1]][0]),i.push(M.$),a.push(M._$),A=o[n[n.length-2]][n[n.length-1]],n.push(A);break;case 3:return!0}}return!0}},M={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(r=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=n,r=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[r]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return t||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,r){switch(n){case 0:return this.begin("open_directive"),56;case 1:return this.begin("type_directive"),57;case 2:return this.popState(),this.begin("arg_directive"),14;case 3:return this.popState(),this.popState(),59;case 4:return 58;case 5:return 5;case 6:case 7:case 8:case 9:case 10:break;case 11:return this.begin("ID"),16;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),48;case 13:return this.popState(),this.popState(),this.begin("LINE"),18;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),27;case 16:return this.begin("LINE"),29;case 17:return this.begin("LINE"),30;case 18:return this.begin("LINE"),31;case 19:return this.begin("LINE"),36;case 20:return this.begin("LINE"),33;case 21:return this.begin("LINE"),35;case 22:return this.popState(),19;case 23:return 28;case 24:return 43;case 25:return 44;case 26:return 39;case 27:return 37;case 28:return this.begin("ID"),22;case 29:return this.begin("ID"),23;case 30:return 25;case 31:return 7;case 32:return 21;case 33:return 42;case 34:return 5;case 35:return e.yytext=e.yytext.trim(),48;case 36:return 51;case 37:return 52;case 38:return 49;case 39:return 50;case 40:return 53;case 41:return 54;case 42:return 55;case 43:return 46;case 44:return 47;case 45:return 5;case 46:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:participant\b)/i,/^(?:[^\->:\n,;]+?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:and\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\b)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{open_directive:{rules:[1,8],inclusive:!1},type_directive:{rules:[2,3,8],inclusive:!1},arg_directive:{rules:[3,4,8],inclusive:!1},ID:{rules:[7,8,12],inclusive:!1},ALIAS:{rules:[7,8,13,14],inclusive:!1},LINE:{rules:[7,8,22],inclusive:!1},INITIAL:{rules:[0,5,6,8,9,10,11,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};function O(){this.yy={}}return S.lexer=M,O.prototype=S,S.Parser=O,new O}();e.parser=i,e.Parser=i.Parser,e.parse=function(){return i.parse.apply(i,arguments)},e.main=function(r){r[1]||(console.log("Usage: "+r[0]+" FILE"),t.exit(1));var i=n(19).readFileSync(n(20).normalize(r[1]),"utf8");return e.parser.parse(i)},n.c[n.s]===r&&e.main(t.argv.slice(1))}).call(this,n(14),n(7)(t))},function(t,e,n){var r=n(198);t.exports={Graph:r.Graph,json:n(301),alg:n(302),version:r.version}},function(t,e,n){var r;try{r={cloneDeep:n(313),constant:n(86),defaults:n(154),each:n(87),filter:n(128),find:n(314),flatten:n(156),forEach:n(126),forIn:n(319),has:n(93),isUndefined:n(139),last:n(320),map:n(140),mapValues:n(321),max:n(322),merge:n(324),min:n(329),minBy:n(330),now:n(331),pick:n(161),range:n(162),reduce:n(142),sortBy:n(338),uniqueId:n(163),values:n(147),zipObject:n(343)}}catch(t){}r||(r=window._),t.exports=r},function(t,e){var n=Array.isArray;t.exports=n},function(t,e,n){ -/** +(function(jr,wn){typeof exports=="object"&&typeof module<"u"?module.exports=wn():typeof define=="function"&&define.amd?define(wn):(jr=typeof globalThis<"u"?globalThis:jr||self,jr.mermaid=wn())})(this,function(){"use strict";var Nst=Object.defineProperty;var Bst=(jr,wn,fn)=>wn in jr?Nst(jr,wn,{enumerable:!0,configurable:!0,writable:!0,value:fn}):jr[wn]=fn;var vl=(jr,wn,fn)=>(Bst(jr,typeof wn!="symbol"?wn+"":wn,fn),fn);var jr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function wn(t){var e=t.default;if(typeof e=="function"){var r=function(){return e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}),r}function fn(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var b_={exports:{}};(function(t,e){(function(r,n){t.exports=n()})(jr,function(){var r;function n(){return r.apply(null,arguments)}function i(g){return g instanceof Array||Object.prototype.toString.call(g)==="[object Array]"}function a(g){return g!=null&&Object.prototype.toString.call(g)==="[object Object]"}function s(g,E){return Object.prototype.hasOwnProperty.call(g,E)}function o(g){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(g).length===0;for(var E in g)if(s(g,E))return;return 1}function l(g){return g===void 0}function u(g){return typeof g=="number"||Object.prototype.toString.call(g)==="[object Number]"}function h(g){return g instanceof Date||Object.prototype.toString.call(g)==="[object Date]"}function d(g,E){for(var I=[],O=g.length,G=0;G>>0,O=0;Oue(g)?(ht=g+1,xt-ue(g)):(ht=g,xt);return{year:ht,dayOfYear:Mt}}function Ke(g,E,I){var O,G,ht=Ie(g.year(),E,I),ht=Math.floor((g.dayOfYear()-ht-1)/7)+1;return ht<1?O=ht+wr(G=g.year()-1,E,I):ht>wr(g.year(),E,I)?(O=ht-wr(g.year(),E,I),G=g.year()+1):(G=g.year(),O=ht),{week:O,year:G}}function wr(g,G,I){var O=Ie(g,G,I),G=Ie(g+1,G,I);return(ue(g)-O+G)/7}Y("w",["ww",2],"wo","week"),Y("W",["WW",2],"Wo","isoWeek"),W("week","w"),W("isoWeek","W"),Z("week",5),Z("isoWeek",5),ft("w",at),ft("ww",at,fe),ft("W",at),ft("WW",at,fe),we(["w","ww","W","WW"],function(g,E,I,O){E[O.substr(0,1)]=q(g)});function je(g,E){return g.slice(E,7).concat(g.slice(0,E))}Y("d",0,"do","day"),Y("dd",0,0,function(g){return this.localeData().weekdaysMin(this,g)}),Y("ddd",0,0,function(g){return this.localeData().weekdaysShort(this,g)}),Y("dddd",0,0,function(g){return this.localeData().weekdays(this,g)}),Y("e",0,0,"weekday"),Y("E",0,0,"isoWeekday"),W("day","d"),W("weekday","e"),W("isoWeekday","E"),Z("day",11),Z("weekday",11),Z("isoWeekday",11),ft("d",at),ft("e",at),ft("E",at),ft("dd",function(g,E){return E.weekdaysMinRegex(g)}),ft("ddd",function(g,E){return E.weekdaysShortRegex(g)}),ft("dddd",function(g,E){return E.weekdaysRegex(g)}),we(["dd","ddd","dddd"],function(g,E,I,O){O=I._locale.weekdaysParse(g,O,I._strict),O!=null?E.d=O:m(I).invalidWeekday=g}),we(["d","e","E"],function(g,E,I,O){E[O]=q(g)});var Ze="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),qt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),st="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),At=Tt,Nt=Tt,Jt=Tt;function ze(){function g(Ot,de){return de.length-Ot.length}for(var E,I,O,G=[],ht=[],xt=[],Mt=[],Vt=0;Vt<7;Vt++)O=p([2e3,1]).day(Vt),E=Dt(this.weekdaysMin(O,"")),I=Dt(this.weekdaysShort(O,"")),O=Dt(this.weekdays(O,"")),G.push(E),ht.push(I),xt.push(O),Mt.push(E),Mt.push(I),Mt.push(O);G.sort(g),ht.sort(g),xt.sort(g),Mt.sort(g),this._weekdaysRegex=new RegExp("^("+Mt.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+xt.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+ht.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+G.join("|")+")","i")}function Pe(){return this.hours()%12||12}function qe(g,E){Y(g,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),E)})}function Tr(g,E){return E._meridiemParse}Y("H",["HH",2],0,"hour"),Y("h",["hh",2],0,Pe),Y("k",["kk",2],0,function(){return this.hours()||24}),Y("hmm",0,0,function(){return""+Pe.apply(this)+N(this.minutes(),2)}),Y("hmmss",0,0,function(){return""+Pe.apply(this)+N(this.minutes(),2)+N(this.seconds(),2)}),Y("Hmm",0,0,function(){return""+this.hours()+N(this.minutes(),2)}),Y("Hmmss",0,0,function(){return""+this.hours()+N(this.minutes(),2)+N(this.seconds(),2)}),qe("a",!0),qe("A",!1),W("hour","h"),Z("hour",13),ft("a",Tr),ft("A",Tr),ft("H",at),ft("h",at),ft("k",at),ft("HH",at,fe),ft("hh",at,fe),ft("kk",at,fe),ft("hmm",It),ft("hmmss",Lt),ft("Hmm",It),ft("Hmmss",Lt),Qt(["H","HH"],bt),Qt(["k","kk"],function(g,E,I){g=q(g),E[bt]=g===24?0:g}),Qt(["a","A"],function(g,E,I){I._isPm=I._locale.isPM(g),I._meridiem=g}),Qt(["h","hh"],function(g,E,I){E[bt]=q(g),m(I).bigHour=!0}),Qt("hmm",function(g,E,I){var O=g.length-2;E[bt]=q(g.substr(0,O)),E[Et]=q(g.substr(O)),m(I).bigHour=!0}),Qt("hmmss",function(g,E,I){var O=g.length-4,G=g.length-2;E[bt]=q(g.substr(0,O)),E[Et]=q(g.substr(O,2)),E[kt]=q(g.substr(G)),m(I).bigHour=!0}),Qt("Hmm",function(g,E,I){var O=g.length-2;E[bt]=q(g.substr(0,O)),E[Et]=q(g.substr(O))}),Qt("Hmmss",function(g,E,I){var O=g.length-4,G=g.length-2;E[bt]=q(g.substr(0,O)),E[Et]=q(g.substr(O,2)),E[kt]=q(g.substr(G))}),Tt=U("Hours",!0);var Ve,va={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:ne,monthsShort:ve,week:{dow:0,doy:6},weekdays:Ze,weekdaysMin:st,weekdaysShort:qt,meridiemParse:/[ap]\.?m?\.?/i},Ce={},Wi={};function E0(g){return g&&g.toLowerCase().replace("_","-")}function bu(g){for(var E,I,O,G,ht=0;ht=E&&function(xt,Mt){for(var Vt=Math.min(xt.length,Mt.length),Ot=0;Ot=E-1)break;E--}ht++}return Ve}function Ln(g){var E;if(Ce[g]===void 0&&!0&&t&&t.exports&&g.match("^[^/\\\\]*$")!=null)try{E=Ve._abbr,fn("./locale/"+g),Xt(E)}catch{Ce[g]=null}return Ce[g]}function Xt(g,E){return g&&((E=l(E)?ce(g):ee(g,E))?Ve=E:typeof console<"u"&&console.warn&&console.warn("Locale "+g+" not found. Did you forget to load it?")),Ve._abbr}function ee(g,E){if(E===null)return delete Ce[g],null;var I,O=va;if(E.abbr=g,Ce[g]!=null)L("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),O=Ce[g]._config;else if(E.parentLocale!=null)if(Ce[E.parentLocale]!=null)O=Ce[E.parentLocale]._config;else{if((I=Ln(E.parentLocale))==null)return Wi[E.parentLocale]||(Wi[E.parentLocale]=[]),Wi[E.parentLocale].push({name:g,config:E}),null;O=I._config}return Ce[g]=new w(B(O,E)),Wi[g]&&Wi[g].forEach(function(G){ee(G.name,G.config)}),Xt(g),Ce[g]}function ce(g){var E;if(!(g=g&&g._locale&&g._locale._abbr?g._locale._abbr:g))return Ve;if(!i(g)){if(E=Ln(g))return E;g=[g]}return bu(g)}function Pt(g){var E=g._a;return E&&m(g).overflow===-2&&(E=E[zt]<0||11yt(E[Ft],E[zt])?wt:E[bt]<0||24wr(ht,Vt,Ot)?m(O)._overflowWeeks=!0:de!=null?m(O)._overflowWeekday=!0:(ie=oe(ht,xt,Mt,Vt,Ot),O._a[Ft]=ie.year,O._dayOfYear=ie.dayOfYear)),g._dayOfYear!=null&&(G=Gi(g._a[Ft],I[Ft]),(g._dayOfYear>ue(G)||g._dayOfYear===0)&&(m(g)._overflowDayOfYear=!0),de=Hr(G,0,g._dayOfYear),g._a[zt]=de.getUTCMonth(),g._a[wt]=de.getUTCDate()),E=0;E<3&&g._a[E]==null;++E)g._a[E]=er[E]=I[E];for(;E<7;E++)g._a[E]=er[E]=g._a[E]==null?E===2?1:0:g._a[E];g._a[bt]===24&&g._a[Et]===0&&g._a[kt]===0&&g._a[Ut]===0&&(g._nextDay=!0,g._a[bt]=0),g._d=(g._useUTC?Hr:_a).apply(null,er),ht=g._useUTC?g._d.getUTCDay():g._d.getDay(),g._tzm!=null&&g._d.setUTCMinutes(g._d.getUTCMinutes()-g._tzm),g._nextDay&&(g._a[bt]=24),g._w&&g._w.d!==void 0&&g._w.d!==ht&&(m(g).weekdayMismatch=!0)}}function _u(g){if(g._f===n.ISO_8601)A0(g);else if(g._f===n.RFC_2822)Hi(g);else{g._a=[],m(g).empty=!0;for(var E,I,O,G,ht,xt=""+g._i,Mt=xt.length,Vt=0,Ot=lt(g._f,g._locale).match(z)||[],de=Ot.length,ie=0;ieg.valueOf():g.valueOf()"}),P.toJSON=function(){return this.isValid()?this.toISOString():null},P.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},P.unix=function(){return Math.floor(this.valueOf()/1e3)},P.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},P.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},P.eraName=function(){for(var g,E=this.localeData().eras(),I=0,O=E.length;Ithis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},P.isLocal=function(){return!!this.isValid()&&!this._isUTC},P.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},P.isUtc=eR,P.isUTC=eR,P.zoneAbbr=function(){return this._isUTC?"UTC":""},P.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},P.dates=R("dates accessor is deprecated. Use date instead.",ls),P.months=R("months accessor is deprecated. Use month instead",se),P.years=R("years accessor is deprecated. Use year instead",N0),P.zone=R("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(g,E){return g!=null?(this.utcOffset(g=typeof g!="string"?-g:g,E),this):-this.utcOffset()}),P.isDSTShifted=R("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!l(this._isDSTShifted))return this._isDSTShifted;var g,E={};return T(E,this),(E=M0(E))._a?(g=(E._isUTC?p:De)(E._a),this._isDSTShifted=this.isValid()&&0{},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},D0=function(t="fatal"){let e=ji.fatal;typeof t=="string"?(t=t.toLowerCase(),t in ji&&(e=ji[t])):typeof t=="number"&&(e=t),H.trace=()=>{},H.debug=()=>{},H.info=()=>{},H.warn=()=>{},H.error=()=>{},H.fatal=()=>{},e<=ji.fatal&&(H.fatal=console.error?console.error.bind(console,Nn("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Nn("FATAL"))),e<=ji.error&&(H.error=console.error?console.error.bind(console,Nn("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Nn("ERROR"))),e<=ji.warn&&(H.warn=console.warn?console.warn.bind(console,Nn("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Nn("WARN"))),e<=ji.info&&(H.info=console.info?console.info.bind(console,Nn("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Nn("INFO"))),e<=ji.debug&&(H.debug=console.debug?console.debug.bind(console,Nn("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Nn("DEBUG"))),e<=ji.trace&&(H.trace=console.debug?console.debug.bind(console,Nn("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Nn("TRACE")))},Nn=t=>`%c${Xn().format("ss.SSS")} : ${t} : `;var O0={};Object.defineProperty(O0,"__esModule",{value:!0});var ki=O0.sanitizeUrl=void 0,mR=/^([^\w]*)(javascript|data|vbscript)/im,bR=/&#(\w+)(^\w|;)?/g,_R=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,vR=/^([^:]+):/gm,xR=[".","/"];function kR(t){return xR.indexOf(t[0])>-1}function wR(t){return t.replace(bR,function(e,r){return String.fromCharCode(r)})}function TR(t){var e=wR(t||"").replace(_R,"").trim();if(!e)return"about:blank";if(kR(e))return e;var r=e.match(vR);if(!r)return e;var n=r[0];return mR.test(n)?"about:blank":e}ki=O0.sanitizeUrl=TR;function Qe(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function __(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function xu(t){let e,r,n;t.length!==2?(e=Qe,r=(o,l)=>Qe(t(o),l),n=(o,l)=>t(o)-l):(e=t===Qe||t===__?t:ER,r=t,n=t);function i(o,l,u=0,h=o.length){if(u>>1;r(o[d],l)<0?u=d+1:h=d}while(u>>1;r(o[d],l)<=0?u=d+1:h=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:i,center:s,right:a}}function ER(){return 0}function v_(t){return t===null?NaN:+t}function*x_(t,e){if(e===void 0)for(let r of t)r!=null&&(r=+r)>=r&&(yield r);else{let r=-1;for(let n of t)(n=e(n,++r,t))!=null&&(n=+n)>=n&&(yield n)}}const k_=xu(Qe),w_=k_.right,CR=k_.left,SR=xu(v_).center,cs=w_;function AR(t,e){if(!((e=+e)>=0))throw new RangeError("invalid r");let r=t.length;if(!((r=Math.floor(r))>=0))throw new RangeError("invalid length");if(!r||!e)return t;const n=F0(e),i=t.slice();return n(t,i,0,r,1),n(i,t,0,r,1),n(t,i,0,r,1),t}const T_=E_(F0),MR=E_(LR);function E_(t){return function(e,r,n=r){if(!((r=+r)>=0))throw new RangeError("invalid rx");if(!((n=+n)>=0))throw new RangeError("invalid ry");let{data:i,width:a,height:s}=e;if(!((a=Math.floor(a))>=0))throw new RangeError("invalid width");if(!((s=Math.floor(s!==void 0?s:i.length/a))>=0))throw new RangeError("invalid height");if(!a||!s||!r&&!n)return e;const o=r&&t(r),l=n&&t(n),u=i.slice();return o&&l?(ro(o,u,i,a,s),ro(o,i,u,a,s),ro(o,u,i,a,s),no(l,i,u,a,s),no(l,u,i,a,s),no(l,i,u,a,s)):o?(ro(o,i,u,a,s),ro(o,u,i,a,s),ro(o,i,u,a,s)):l&&(no(l,i,u,a,s),no(l,u,i,a,s),no(l,i,u,a,s)),e}}function ro(t,e,r,n,i){for(let a=0,s=n*i;a{i<<=2,a<<=2,s<<=2,e(r,n,i+0,a+0,s),e(r,n,i+1,a+1,s),e(r,n,i+2,a+2,s),e(r,n,i+3,a+3,s)}}function F0(t){const e=Math.floor(t);if(e===t)return RR(t);const r=t-e,n=2*t+1;return(i,a,s,o,l)=>{if(!((o-=l)>=s))return;let u=e*a[s];const h=l*e,d=h+l;for(let f=s,p=s+h;f{if(!((a-=s)>=i))return;let o=t*n[i];const l=s*t;for(let u=i,h=i+l;u=n&&++r;else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(i=+i)>=i&&++r}return r}function IR(t){return t.length|0}function NR(t){return!(t>0)}function BR(t){return typeof t!="object"||"length"in t?t:Array.from(t)}function DR(t){return e=>t(...e)}function OR(...t){const e=typeof t[t.length-1]=="function"&&DR(t.pop());t=t.map(BR);const r=t.map(IR),n=t.length-1,i=new Array(n+1).fill(0),a=[];if(n<0||r.some(NR))return a;for(;;){a.push(i.map((o,l)=>t[l][o]));let s=n;for(;++i[s]===r[s];){if(s===0)return e?a.map(e):a;i[s--]=0}}}function FR(t,e){var r=0,n=0;return Float64Array.from(t,e===void 0?i=>r+=+i||0:i=>r+=+e(i,n++,t)||0)}function C_(t,e){let r=0,n,i=0,a=0;if(e===void 0)for(let s of t)s!=null&&(s=+s)>=s&&(n=s-i,i+=n/++r,a+=n*(s-i));else{let s=-1;for(let o of t)(o=e(o,++s,t))!=null&&(o=+o)>=o&&(n=o-i,i+=n/++r,a+=n*(o-i))}if(r>1)return a/(r-1)}function S_(t,e){const r=C_(t,e);return r&&Math.sqrt(r)}function xl(t,e){let r,n;if(e===void 0)for(const i of t)i!=null&&(r===void 0?i>=i&&(r=n=i):(r>i&&(r=i),n=a&&(r=n=a):(r>a&&(r=a),n0){for(s=e[--r];r>0&&(n=s,i=e[--r],s=n+i,a=i-(s-n),!a););r>0&&(a<0&&e[r-1]<0||a>0&&e[r-1]>0)&&(i=a*2,n=s+i,i==n-s&&(s=n))}return s}}function PR(t,e){const r=new _r;if(e===void 0)for(let n of t)(n=+n)&&r.add(n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&r.add(i)}return+r}function qR(t,e){const r=new _r;let n=-1;return Float64Array.from(t,e===void 0?i=>r.add(+i||0):i=>r.add(+e(i,++n,t)||0))}class kl extends Map{constructor(e,r=L_){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(P0(this,e))}has(e){return super.has(P0(this,e))}set(e,r){return super.set(A_(this,e),r)}delete(e){return super.delete(M_(this,e))}}class us extends Set{constructor(e,r=L_){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const n of e)this.add(n)}has(e){return super.has(P0(this,e))}add(e){return super.add(A_(this,e))}delete(e){return super.delete(M_(this,e))}}function P0({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function A_({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function M_({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function L_(t){return t!==null&&typeof t=="object"?t.valueOf():t}function io(t){return t}function R_(t,...e){return ao(t,io,io,e)}function I_(t,...e){return ao(t,Array.from,io,e)}function N_(t,e){for(let r=1,n=e.length;ri.pop().map(([a,s])=>[...i,a,s]));return t}function VR(t,...e){return N_(I_(t,...e),e)}function zR(t,e,...r){return N_(D_(t,e,...r),r)}function B_(t,e,...r){return ao(t,io,e,r)}function D_(t,e,...r){return ao(t,Array.from,e,r)}function YR(t,...e){return ao(t,io,O_,e)}function UR(t,...e){return ao(t,Array.from,O_,e)}function O_(t){if(t.length!==1)throw new Error("duplicate key");return t[0]}function ao(t,e,r,n){return function i(a,s){if(s>=n.length)return r(a);const o=new kl,l=n[s++];let u=-1;for(const h of a){const d=l(h,++u,a),f=o.get(d);f?f.push(h):o.set(d,[h])}for(const[h,d]of o)o.set(h,i(d,s));return e(o)}(t,0)}function F_(t,e){return Array.from(e,r=>t[r])}function q0(t,...e){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");t=Array.from(t);let[r]=e;if(r&&r.length!==2||e.length>1){const n=Uint32Array.from(t,(i,a)=>a);return e.length>1?(e=e.map(i=>t.map(i)),n.sort((i,a)=>{for(const s of e){const o=so(s[i],s[a]);if(o)return o}})):(r=t.map(r),n.sort((i,a)=>so(r[i],r[a]))),F_(t,n)}return t.sort(V0(r))}function V0(t=Qe){if(t===Qe)return so;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,r)=>{const n=t(e,r);return n||n===0?n:(t(r,r)===0)-(t(e,e)===0)}}function so(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(te?1:0)}function WR(t,e,r){return(e.length!==2?q0(B_(t,e,r),([n,i],[a,s])=>Qe(i,s)||Qe(n,a)):q0(R_(t,r),([n,i],[a,s])=>e(i,s)||Qe(n,a))).map(([n])=>n)}var HR=Array.prototype,GR=HR.slice;function wu(t){return()=>t}var z0=Math.sqrt(50),Y0=Math.sqrt(10),U0=Math.sqrt(2);function hs(t,e,r){var n,i=-1,a,s,o;if(e=+e,t=+t,r=+r,t===e&&r>0)return[t];if((n=e0){let l=Math.round(t/o),u=Math.round(e/o);for(l*oe&&--u,s=new Array(a=u-l+1);++ie&&--u,s=new Array(a=u-l+1);++i=0?(a>=z0?10:a>=Y0?5:a>=U0?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=z0?10:a>=Y0?5:a>=U0?2:1)}function wl(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=z0?i*=10:a>=Y0?i*=5:a>=U0&&(i*=2),e0?(t=Math.floor(t/i)*i,e=Math.ceil(e/i)*i):i<0&&(t=Math.ceil(t*i)/i,e=Math.floor(e*i)/i),n=i}}function W0(t){return Math.ceil(Math.log(ku(t))/Math.LN2)+1}function q_(){var t=io,e=xl,r=W0;function n(i){Array.isArray(i)||(i=Array.from(i));var a,s=i.length,o,l,u=new Array(s);for(a=0;a=f)if(b>=f&&e===xl){const k=oo(d,f,x);isFinite(k)&&(k>0?f=(Math.floor(f/k)+1)*k:k<0&&(f=(Math.ceil(f*-k)+1)/-k))}else p.pop()}for(var m=p.length;p[0]<=d;)p.shift(),--m;for(;p[m-1]>f;)p.pop(),--m;var _=new Array(m+1),y;for(a=0;a<=m;++a)y=_[a]=[],y.x0=a>0?p[a-1]:d,y.x1=a0)for(a=0;a=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}function H0(t,e){let r,n=-1,i=-1;if(e===void 0)for(const a of t)++i,a!=null&&(r=a)&&(r=a,n=i);else for(let a of t)(a=e(a,++i,t))!=null&&(r=a)&&(r=a,n=i);return n}function Tl(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function G0(t,e){let r,n=-1,i=-1;if(e===void 0)for(const a of t)++i,a!=null&&(r>a||r===void 0&&a>=a)&&(r=a,n=i);else for(let a of t)(a=e(a,++i,t))!=null&&(r>a||r===void 0&&a>=a)&&(r=a,n=i);return n}function Tu(t,e,r=0,n=t.length-1,i){for(i=i===void 0?so:V0(i);n>r;){if(n-r>600){const l=n-r+1,u=e-r+1,h=Math.log(l),d=.5*Math.exp(2*h/3),f=.5*Math.sqrt(h*d*(l-d)/l)*(u-l/2<0?-1:1),p=Math.max(r,Math.floor(e-u*d/l+f)),m=Math.min(n,Math.floor(e+(l-u)*d/l+f));Tu(t,e,p,m,i)}const a=t[e];let s=r,o=n;for(El(t,r,e),i(t[n],a)>0&&El(t,r,n);s0;)--o}i(t[r],a)===0?El(t,r,o):(++o,El(t,o,n)),o<=e&&(r=o+1),e<=o&&(n=o-1)}return t}function El(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function V_(t,e=Qe){let r,n=!1;if(e.length===1){let i;for(const a of t){const s=e(a);(n?Qe(s,i)>0:Qe(s,s)===0)&&(r=a,i=s,n=!0)}}else for(const i of t)(n?e(i,r)>0:e(i,i)===0)&&(r=i,n=!0);return r}function Cl(t,e,r){if(t=Float64Array.from(x_(t,r)),!!(n=t.length)){if((e=+e)<=0||n<2)return Tl(t);if(e>=1)return lo(t);var n,i=(n-1)*e,a=Math.floor(i),s=lo(Tu(t,a).subarray(0,a+1)),o=Tl(t.subarray(a+1));return s+(o-s)*(i-a)}}function z_(t,e,r=v_){if(!!(n=t.length)){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),s=+r(t[a],a,t),o=+r(t[a+1],a+1,t);return s+(o-s)*(i-a)}}function Y_(t,e,r){if(t=Float64Array.from(x_(t,r)),!!(n=t.length)){if((e=+e)<=0||n<2)return G0(t);if(e>=1)return H0(t);var n,i=Math.floor((n-1)*e),a=(o,l)=>so(t[o],t[l]),s=Tu(Uint32Array.from(t,(o,l)=>l),i,0,n-1,a);return V_(s.subarray(0,i+1),o=>t[o])}}function jR(t,e,r){return Math.ceil((r-e)/(2*(Cl(t,.75)-Cl(t,.25))*Math.pow(ku(t),-1/3)))}function $R(t,e,r){return Math.ceil((r-e)*Math.cbrt(ku(t))/(3.49*S_(t)))}function XR(t,e){let r=0,n=0;if(e===void 0)for(let i of t)i!=null&&(i=+i)>=i&&(++r,n+=i);else{let i=-1;for(let a of t)(a=e(a,++i,t))!=null&&(a=+a)>=a&&(++r,n+=a)}if(r)return n/r}function KR(t,e){return Cl(t,.5,e)}function ZR(t,e){return Y_(t,.5,e)}function*QR(t){for(const e of t)yield*e}function j0(t){return Array.from(QR(t))}function JR(t,e){const r=new kl;if(e===void 0)for(let a of t)a!=null&&a>=a&&r.set(a,(r.get(a)||0)+1);else{let a=-1;for(let s of t)(s=e(s,++a,t))!=null&&s>=s&&r.set(s,(r.get(s)||0)+1)}let n,i=0;for(const[a,s]of r)s>i&&(i=s,n=a);return n}function tI(t,e=eI){const r=[];let n,i=!1;for(const a of t)i&&r.push(e(n,a)),n=a,i=!0;return r}function eI(t,e){return[t,e]}function Ca(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++ne(r[o],r[l]);let a,s;return Uint32Array.from(r,(o,l)=>l).sort(e===Qe?(o,l)=>so(r[o],r[l]):V0(i)).forEach((o,l)=>{const u=i(o,a===void 0?o:a);u>=0?((a===void 0||u>0)&&(a=o,s=l),n[o]=s):n[o]=NaN}),n}function nI(t,e=Qe){let r,n=!1;if(e.length===1){let i;for(const a of t){const s=e(a);(n?Qe(s,i)<0:Qe(s,s)===0)&&(r=a,i=s,n=!0)}}else for(const i of t)(n?e(i,r)<0:e(i,i)===0)&&(r=i,n=!0);return r}function U_(t,e=Qe){if(e.length===1)return G0(t,e);let r,n=-1,i=-1;for(const a of t)++i,(n<0?e(a,a)===0:e(a,r)<0)&&(r=a,n=i);return n}function iI(t,e=Qe){if(e.length===1)return H0(t,e);let r,n=-1,i=-1;for(const a of t)++i,(n<0?e(a,a)===0:e(a,r)>0)&&(r=a,n=i);return n}function aI(t,e){const r=U_(t,e);return r<0?void 0:r}const sI=W_(Math.random);function W_(t){return function(r,n=0,i=r.length){let a=i-(n=+n);for(;a;){const s=t()*a--|0,o=r[a+n];r[a+n]=r[s+n],r[s+n]=o}return r}}function oI(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}function H_(t){if(!(a=t.length))return[];for(var e=-1,r=Tl(t,lI),n=new Array(r);++ee(r,n,t))}function pI(t,e,r){if(typeof e!="function")throw new TypeError("reducer is not a function");const n=t[Symbol.iterator]();let i,a,s=-1;if(arguments.length<3){if({done:i,value:r}=n.next(),i)return;++s}for(;{done:i,value:a}=n.next(),!i;)r=e(r,a,++s,t);return r}function gI(t){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(t).reverse()}function yI(t,...e){t=new us(t);for(const r of e)for(const n of r)t.delete(n);return t}function mI(t,e){const r=e[Symbol.iterator](),n=new us;for(const i of t){if(n.has(i))return!1;let a,s;for(;({value:a,done:s}=r.next())&&!s;){if(Object.is(i,a))return!1;n.add(a)}}return!0}function bI(t,...e){t=new us(t),e=e.map(_I);t:for(const r of t)for(const n of e)if(!n.has(r)){t.delete(r);continue t}return t}function _I(t){return t instanceof us?t:new us(t)}function G_(t,e){const r=t[Symbol.iterator](),n=new Set;for(const i of e){const a=j_(i);if(n.has(a))continue;let s,o;for(;{value:s,done:o}=r.next();){if(o)return!1;const l=j_(s);if(n.add(l),Object.is(a,l))break}}return!0}function j_(t){return t!==null&&typeof t=="object"?t.valueOf():t}function vI(t,e){return G_(e,t)}function xI(...t){const e=new us;for(const r of t)for(const n of r)e.add(n);return e}function kI(t){return t}var Eu=1,Cu=2,$0=3,Sl=4,$_=1e-6;function wI(t){return"translate("+t+",0)"}function TI(t){return"translate(0,"+t+")"}function EI(t){return e=>+t(e)}function CI(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function SI(){return!this.__axis}function Su(t,e){var r=[],n=null,i=null,a=6,s=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===Eu||t===Sl?-1:1,h=t===Sl||t===Cu?"x":"y",d=t===Eu||t===$0?wI:TI;function f(p){var m=n==null?e.ticks?e.ticks.apply(e,r):e.domain():n,_=i==null?e.tickFormat?e.tickFormat.apply(e,r):kI:i,y=Math.max(a,0)+o,b=e.range(),x=+b[0]+l,k=+b[b.length-1]+l,T=(e.bandwidth?CI:EI)(e.copy(),l),C=p.selection?p.selection():p,M=C.selectAll(".domain").data([null]),S=C.selectAll(".tick").data(m,e).order(),R=S.exit(),A=S.enter().append("g").attr("class","tick"),L=S.select("line"),v=S.select("text");M=M.merge(M.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),S=S.merge(A),L=L.merge(A.append("line").attr("stroke","currentColor").attr(h+"2",u*a)),v=v.merge(A.append("text").attr("fill","currentColor").attr(h,u*y).attr("dy",t===Eu?"0em":t===$0?"0.71em":"0.32em")),p!==C&&(M=M.transition(p),S=S.transition(p),L=L.transition(p),v=v.transition(p),R=R.transition(p).attr("opacity",$_).attr("transform",function(B){return isFinite(B=T(B))?d(B+l):this.getAttribute("transform")}),A.attr("opacity",$_).attr("transform",function(B){var w=this.parentNode.__axis;return d((w&&isFinite(w=w(B))?w:T(B))+l)})),R.remove(),M.attr("d",t===Sl||t===Cu?s?"M"+u*s+","+x+"H"+l+"V"+k+"H"+u*s:"M"+l+","+x+"V"+k:s?"M"+x+","+u*s+"V"+l+"H"+k+"V"+u*s:"M"+x+","+l+"H"+k),S.attr("opacity",1).attr("transform",function(B){return d(T(B)+l)}),L.attr(h+"2",u*a),v.attr(h,u*y).text(_),C.filter(SI).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Cu?"start":t===Sl?"end":"middle"),C.each(function(){this.__axis=T})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return r=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),f):r.slice()},f.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),f):n&&n.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(a=s=+p,f):a},f.tickSizeInner=function(p){return arguments.length?(a=+p,f):a},f.tickSizeOuter=function(p){return arguments.length?(s=+p,f):s},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function X_(t){return Su(Eu,t)}function AI(t){return Su(Cu,t)}function K_(t){return Su($0,t)}function MI(t){return Su(Sl,t)}var LI={value:()=>{}};function fs(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}Au.prototype=fs.prototype={constructor:Au,on:function(t,e){var r=this._,n=RI(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),K0.hasOwnProperty(e)?{space:K0[e],local:t}:t}function NI(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===X0&&e.documentElement.namespaceURI===X0?e.createElement(t):e.createElementNS(r,t)}}function BI(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Mu(t){var e=Al(t);return(e.local?BI:NI)(e)}function DI(){}function Lu(t){return t==null?DI:function(){return this.querySelector(t)}}function OI(t){typeof t!="function"&&(t=Lu(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i=k&&(k=x+1);!(C=y[k])&&++k=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function sN(t){t||(t=oN);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}function lN(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function cN(){return Array.from(this)}function uN(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?xN:typeof e=="function"?wN:kN)(t,e,r==null?"":r)):ds(this.node(),t)}function ds(t,e){return t.style.getPropertyValue(e)||J0(t).getComputedStyle(t,null).getPropertyValue(e)}function EN(t){return function(){delete this[t]}}function CN(t,e){return function(){this[t]=e}}function SN(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function AN(t,e){return arguments.length>1?this.each((e==null?EN:typeof e=="function"?SN:CN)(t,e)):this.node()[t]}function e5(t){return t.trim().split(/^|\s+/)}function td(t){return t.classList||new r5(t)}function r5(t){this._node=t,this._names=e5(t.getAttribute("class")||"")}r5.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function n5(t,e){for(var r=td(t),n=-1,i=e.length;++n=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function rB(t){return function(){var e=this.__on;if(!!e){for(var r=0,n=-1,i=e.length,a;rTn(r,e))}function Iu(t){return typeof t=="string"?new $r([document.querySelectorAll(t)],[document.documentElement]):new $r([Q_(t)],ed)}const dB={passive:!1},Ml={capture:!0,passive:!1};function nd(t){t.stopImmediatePropagation()}function co(t){t.preventDefault(),t.stopImmediatePropagation()}function Nu(t){var e=t.document.documentElement,r=St(t).on("dragstart.drag",co,Ml);"onselectstart"in e?r.on("selectstart.drag",co,Ml):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function Bu(t,e){var r=t.document.documentElement,n=St(t).on("dragstart.drag",null);e&&(n.on("click.drag",co,Ml),setTimeout(function(){n.on("click.drag",null)},0)),"onselectstart"in r?n.on("selectstart.drag",null):(r.style.MozUserSelect=r.__noselect,delete r.__noselect)}const Du=t=>()=>t;function id(t,{sourceEvent:e,subject:r,target:n,identifier:i,active:a,x:s,y:o,dx:l,dy:u,dispatch:h}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:o,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:h}})}id.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function pB(t){return!t.ctrlKey&&!t.button}function gB(){return this.parentNode}function yB(t,e){return e==null?{x:t.x,y:t.y}:e}function mB(){return navigator.maxTouchPoints||"ontouchstart"in this}function bB(){var t=pB,e=gB,r=yB,n=mB,i={},a=fs("start","drag","end"),s=0,o,l,u,h,d=0;function f(T){T.on("mousedown.drag",p).filter(n).on("touchstart.drag",y).on("touchmove.drag",b,dB).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(T,C){if(!(h||!t.call(this,T,C))){var M=k(this,e.call(this,T,C),T,C,"mouse");!M||(St(T.view).on("mousemove.drag",m,Ml).on("mouseup.drag",_,Ml),Nu(T.view),nd(T),u=!1,o=T.clientX,l=T.clientY,M("start",T))}}function m(T){if(co(T),!u){var C=T.clientX-o,M=T.clientY-l;u=C*C+M*M>d}i.mouse("drag",T)}function _(T){St(T.view).on("mousemove.drag mouseup.drag",null),Bu(T.view,u),co(T),i.mouse("end",T)}function y(T,C){if(!!t.call(this,T,C)){var M=T.changedTouches,S=e.call(this,T,C),R=M.length,A,L;for(A=0;A>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Ou(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Ou(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=vB.exec(t))?new Er(e[1],e[2],e[3],1):(e=xB.exec(t))?new Er(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=kB.exec(t))?Ou(e[1],e[2],e[3],e[4]):(e=wB.exec(t))?Ou(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=TB.exec(t))?p5(e[1],e[2]/100,e[3]/100,1):(e=EB.exec(t))?p5(e[1],e[2]/100,e[3]/100,e[4]):l5.hasOwnProperty(t)?h5(l5[t]):t==="transparent"?new Er(NaN,NaN,NaN,0):null}function h5(t){return new Er(t>>16&255,t>>8&255,t&255,1)}function Ou(t,e,r,n){return n<=0&&(t=e=r=NaN),new Er(t,e,r,n)}function ad(t){return t instanceof Sa||(t=Aa(t)),t?(t=t.rgb(),new Er(t.r,t.g,t.b,t.opacity)):new Er}function po(t,e,r,n){return arguments.length===1?ad(t):new Er(t,e,r,n==null?1:n)}function Er(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}uo(Er,po,Ll(Sa,{brighter(t){return t=t==null?ho:Math.pow(ho,t),new Er(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?gs:Math.pow(gs,t),new Er(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Er(ys(this.r),ys(this.g),ys(this.b),Fu(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:f5,formatHex:f5,formatHex8:AB,formatRgb:d5,toString:d5}));function f5(){return`#${ms(this.r)}${ms(this.g)}${ms(this.b)}`}function AB(){return`#${ms(this.r)}${ms(this.g)}${ms(this.b)}${ms((isNaN(this.opacity)?1:this.opacity)*255)}`}function d5(){const t=Fu(this.opacity);return`${t===1?"rgb(":"rgba("}${ys(this.r)}, ${ys(this.g)}, ${ys(this.b)}${t===1?")":`, ${t})`}`}function Fu(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ys(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ms(t){return t=ys(t),(t<16?"0":"")+t.toString(16)}function p5(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Kn(t,e,r,n)}function g5(t){if(t instanceof Kn)return new Kn(t.h,t.s,t.l,t.opacity);if(t instanceof Sa||(t=Aa(t)),!t)return new Kn;if(t instanceof Kn)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(r-n)/o+(r0&&l<1?0:s,new Kn(s,o,l,t.opacity)}function Pu(t,e,r,n){return arguments.length===1?g5(t):new Kn(t,e,r,n==null?1:n)}function Kn(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}uo(Kn,Pu,Ll(Sa,{brighter(t){return t=t==null?ho:Math.pow(ho,t),new Kn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?gs:Math.pow(gs,t),new Kn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Er(sd(t>=240?t-240:t+120,i,n),sd(t,i,n),sd(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Kn(y5(this.h),qu(this.s),qu(this.l),Fu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Fu(this.opacity);return`${t===1?"hsl(":"hsla("}${y5(this.h)}, ${qu(this.s)*100}%, ${qu(this.l)*100}%${t===1?")":`, ${t})`}`}}));function y5(t){return t=(t||0)%360,t<0?t+360:t}function qu(t){return Math.max(0,Math.min(1,t||0))}function sd(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const m5=Math.PI/180,b5=180/Math.PI,Vu=18,_5=.96422,v5=1,x5=.82521,k5=4/29,go=6/29,w5=3*go*go,MB=go*go*go;function T5(t){if(t instanceof Zn)return new Zn(t.l,t.a,t.b,t.opacity);if(t instanceof Ti)return C5(t);t instanceof Er||(t=ad(t));var e=ud(t.r),r=ud(t.g),n=ud(t.b),i=od((.2225045*e+.7168786*r+.0606169*n)/v5),a,s;return e===r&&r===n?a=s=i:(a=od((.4360747*e+.3850649*r+.1430804*n)/_5),s=od((.0139322*e+.0971045*r+.7141733*n)/x5)),new Zn(116*i-16,500*(a-i),200*(i-s),t.opacity)}function LB(t,e){return new Zn(t,0,0,e==null?1:e)}function zu(t,e,r,n){return arguments.length===1?T5(t):new Zn(t,e,r,n==null?1:n)}function Zn(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}uo(Zn,zu,Ll(Sa,{brighter(t){return new Zn(this.l+Vu*(t==null?1:t),this.a,this.b,this.opacity)},darker(t){return new Zn(this.l-Vu*(t==null?1:t),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=_5*ld(e),t=v5*ld(t),r=x5*ld(r),new Er(cd(3.1338561*e-1.6168667*t-.4906146*r),cd(-.9787684*e+1.9161415*t+.033454*r),cd(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function od(t){return t>MB?Math.pow(t,1/3):t/w5+k5}function ld(t){return t>go?t*t*t:w5*(t-k5)}function cd(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ud(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function E5(t){if(t instanceof Ti)return new Ti(t.h,t.c,t.l,t.opacity);if(t instanceof Zn||(t=T5(t)),t.a===0&&t.b===0)return new Ti(NaN,0=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],s=n>0?t[n-1]:2*i-a,o=n()=>t;function B5(t,e){return function(r){return t+r*e}}function NB(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function Hu(t,e){var r=e-t;return r?B5(t,r>180||r<-180?r-360*Math.round(r/360):r):Wu(isNaN(t)?e:t)}function BB(t){return(t=+t)==1?Cr:function(e,r){return r-e?NB(e,r,t):Wu(isNaN(e)?r:e)}}function Cr(t,e){var r=e-t;return r?B5(t,r):Wu(isNaN(t)?e:t)}const Nl=function t(e){var r=BB(e);function n(i,a){var s=r((i=po(i)).r,(a=po(a)).r),o=r(i.g,a.g),l=r(i.b,a.b),u=Cr(i.opacity,a.opacity);return function(h){return i.r=s(h),i.g=o(h),i.b=l(h),i.opacity=u(h),i+""}}return n.gamma=t,n}(1);function D5(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),a=new Array(r),s,o;for(s=0;sr&&(a=e.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(n=n[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:Bn(n,i)})),r=gd.lastIndex;return r180?h+=360:h-u>180&&(u+=360),f.push({i:d.push(i(d)+"rotate(",null,n)-2,x:Bn(u,h)})):h&&d.push(i(d)+"rotate("+h+n)}function o(u,h,d,f){u!==h?f.push({i:d.push(i(d)+"skewX(",null,n)-2,x:Bn(u,h)}):h&&d.push(i(d)+"skewX("+h+n)}function l(u,h,d,f,p,m){if(u!==d||h!==f){var _=p.push(i(p)+"scale(",null,",",null,")");m.push({i:_-4,x:Bn(u,d)},{i:_-2,x:Bn(h,f)})}else(d!==1||f!==1)&&p.push(i(p)+"scale("+d+","+f+")")}return function(u,h){var d=[],f=[];return u=t(u),h=t(h),a(u.translateX,u.translateY,h.translateX,h.translateY,d,f),s(u.rotate,h.rotate,d,f),o(u.skewX,h.skewX,d,f),l(u.scaleX,u.scaleY,h.scaleX,h.scaleY,d,f),u=h=null,function(p){for(var m=-1,_=f.length,y;++m<_;)d[(y=f[m]).i]=y.x(p);return d.join("")}}}var W5=U5(zB,"px, ","px)","deg)"),H5=U5(YB,", ",")",")"),UB=1e-12;function G5(t){return((t=Math.exp(t))+1/t)/2}function WB(t){return((t=Math.exp(t))-1/t)/2}function HB(t){return((t=Math.exp(2*t))-1)/(t+1)}const j5=function t(e,r,n){function i(a,s){var o=a[0],l=a[1],u=a[2],h=s[0],d=s[1],f=s[2],p=h-o,m=d-l,_=p*p+m*m,y,b;if(_=0&&t._call.call(void 0,e),t=t._next;--yo}function rv(){_s=(Ku=Fl.now())+Zu,yo=Bl=0;try{ev()}finally{yo=0,tD(),_s=0}}function JB(){var t=Fl.now(),e=t-Ku;e>J5&&(Zu-=e,Ku=t)}function tD(){for(var t,e=Xu,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:Xu=r);Ol=t,bd(n)}function bd(t){if(!yo){Bl&&(Bl=clearTimeout(Bl));var e=t-_s;e>24?(t<1/0&&(Bl=setTimeout(rv,t-Fl.now()-Zu)),Dl&&(Dl=clearInterval(Dl))):(Dl||(Ku=Fl.now(),Dl=setInterval(JB,J5)),yo=1,tv(rv))}}function _d(t,e,r){var n=new ql;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}function eD(t,e,r){var n=new ql,i=e;return e==null?(n.restart(t,e,r),n):(n._restart=n.restart,n.restart=function(a,s,o){s=+s,o=o==null?Pl():+o,n._restart(function l(u){u+=i,n._restart(l,i+=s,o),a(u)},s,o)},n.restart(t,e,r),n)}var rD=fs("start","end","cancel","interrupt"),nD=[],nv=0,vd=1,xd=2,Ju=3,iv=4,kd=5,th=6;function eh(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;iD(t,r,{name:e,index:n,group:i,on:rD,tween:nD,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:nv})}function wd(t,e){var r=Jn(t,e);if(r.state>nv)throw new Error("too late; already scheduled");return r}function Ei(t,e){var r=Jn(t,e);if(r.state>Ju)throw new Error("too late; already running");return r}function Jn(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function iD(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=Qu(a,0,r.time);function a(u){r.state=vd,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var h,d,f,p;if(r.state!==vd)return l();for(h in n)if(p=n[h],p.name===r.name){if(p.state===Ju)return _d(s);p.state===iv?(p.state=th,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete n[h]):+hxd&&n.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function BD(t,e,r){var n,i,a=ND(e)?wd:Ei;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function DD(t,e){var r=this._id;return arguments.length<2?Jn(this.node(),r).on.on(t):this.each(BD(r,t,e))}function OD(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function FD(){return this.on("end.remove",OD(this._id))}function PD(t){var e=this._name,r=this._id;typeof t!="function"&&(t=Lu(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s+t;function sO(t){return t*t}function oO(t){return t*(2-t)}function cv(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function lO(t){return t*t*t}function cO(t){return--t*t*t+1}function Ed(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Cd=3,uO=function t(e){e=+e;function r(n){return Math.pow(n,e)}return r.exponent=t,r}(Cd),hO=function t(e){e=+e;function r(n){return 1-Math.pow(1-n,e)}return r.exponent=t,r}(Cd),uv=function t(e){e=+e;function r(n){return((n*=2)<=1?Math.pow(n,e):2-Math.pow(2-n,e))/2}return r.exponent=t,r}(Cd),hv=Math.PI,fv=hv/2;function fO(t){return+t==1?1:1-Math.cos(t*fv)}function dO(t){return Math.sin(t*fv)}function dv(t){return(1-Math.cos(hv*t))/2}function La(t){return(Math.pow(2,-10*t)-.0009765625)*1.0009775171065494}function pO(t){return La(1-+t)}function gO(t){return 1-La(t)}function pv(t){return((t*=2)<=1?La(1-t):2-La(t-1))/2}function yO(t){return 1-Math.sqrt(1-t*t)}function mO(t){return Math.sqrt(1- --t*t)}function gv(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var Sd=4/11,bO=6/11,_O=8/11,vO=3/4,xO=9/11,kO=10/11,wO=15/16,TO=21/22,EO=63/64,rh=1/Sd/Sd;function CO(t){return 1-Vl(1-t)}function Vl(t){return(t=+t)vd&&n.name===e)return new Ci([[t]],DO,e,+i)}return null}const Rd=t=>()=>t;function FO(t,{sourceEvent:e,target:r,selection:n,mode:i,dispatch:a}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},selection:{value:n,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:a}})}function PO(t){t.stopImmediatePropagation()}function Id(t){t.preventDefault(),t.stopImmediatePropagation()}var bv={name:"drag"},Nd={name:"space"},bo={name:"handle"},_o={name:"center"};const{abs:_v,max:Or,min:Fr}=Math;function vv(t){return[+t[0],+t[1]]}function Bd(t){return[vv(t[0]),vv(t[1])]}var nh={name:"x",handles:["w","e"].map(zl),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},ih={name:"y",handles:["n","s"].map(zl),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},qO={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(zl),input:function(t){return t==null?null:Bd(t)},output:function(t){return t}},Xi={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},xv={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},kv={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},VO={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},zO={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function zl(t){return{type:t}}function YO(t){return!t.ctrlKey&&!t.button}function UO(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function WO(){return navigator.maxTouchPoints||"ontouchstart"in this}function Dd(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function HO(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function GO(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function jO(){return Od(nh)}function $O(){return Od(ih)}function XO(){return Od(qO)}function Od(t){var e=UO,r=YO,n=WO,i=!0,a=fs("start","brush","end"),s=6,o;function l(y){var b=y.property("__brush",_).selectAll(".overlay").data([zl("overlay")]);b.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",Xi.overlay).merge(b).each(function(){var k=Dd(this).extent;St(this).attr("x",k[0][0]).attr("y",k[0][1]).attr("width",k[1][0]-k[0][0]).attr("height",k[1][1]-k[0][1])}),y.selectAll(".selection").data([zl("selection")]).enter().append("rect").attr("class","selection").attr("cursor",Xi.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var x=y.selectAll(".handle").data(t.handles,function(k){return k.type});x.exit().remove(),x.enter().append("rect").attr("class",function(k){return"handle handle--"+k.type}).attr("cursor",function(k){return Xi[k.type]}),y.each(u).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",f).filter(n).on("touchstart.brush",f).on("touchmove.brush",p).on("touchend.brush touchcancel.brush",m).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}l.move=function(y,b,x){y.tween?y.on("start.brush",function(k){h(this,arguments).beforestart().start(k)}).on("interrupt.brush end.brush",function(k){h(this,arguments).end(k)}).tween("brush",function(){var k=this,T=k.__brush,C=h(k,arguments),M=T.selection,S=t.input(typeof b=="function"?b.apply(this,arguments):b,T.extent),R=Ma(M,S);function A(L){T.selection=L===1&&S===null?null:R(L),u.call(k),C.brush()}return M!==null&&S!==null?A:A(1)}):y.each(function(){var k=this,T=arguments,C=k.__brush,M=t.input(typeof b=="function"?b.apply(k,T):b,C.extent),S=h(k,T).beforestart();vs(k),C.selection=M===null?null:M,u.call(k),S.start(x).brush(x).end(x)})},l.clear=function(y,b){l.move(y,null,b)};function u(){var y=St(this),b=Dd(this).selection;b?(y.selectAll(".selection").style("display",null).attr("x",b[0][0]).attr("y",b[0][1]).attr("width",b[1][0]-b[0][0]).attr("height",b[1][1]-b[0][1]),y.selectAll(".handle").style("display",null).attr("x",function(x){return x.type[x.type.length-1]==="e"?b[1][0]-s/2:b[0][0]-s/2}).attr("y",function(x){return x.type[0]==="s"?b[1][1]-s/2:b[0][1]-s/2}).attr("width",function(x){return x.type==="n"||x.type==="s"?b[1][0]-b[0][0]+s:s}).attr("height",function(x){return x.type==="e"||x.type==="w"?b[1][1]-b[0][1]+s:s})):y.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function h(y,b,x){var k=y.__brush.emitter;return k&&(!x||!k.clean)?k:new d(y,b,x)}function d(y,b,x){this.that=y,this.args=b,this.state=y.__brush,this.active=0,this.clean=x}d.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(y,b){return this.starting?(this.starting=!1,this.emit("start",y,b)):this.emit("brush",y),this},brush:function(y,b){return this.emit("brush",y,b),this},end:function(y,b){return--this.active===0&&(delete this.state.emitter,this.emit("end",y,b)),this},emit:function(y,b,x){var k=St(this.that).datum();a.call(y,this.that,new FO(y,{sourceEvent:b,target:l,selection:t.output(this.state.selection),mode:x,dispatch:a}),k)}};function f(y){if(o&&!y.touches||!r.apply(this,arguments))return;var b=this,x=y.target.__data__.type,k=(i&&y.metaKey?x="overlay":x)==="selection"?bv:i&&y.altKey?_o:bo,T=t===ih?null:VO[x],C=t===nh?null:zO[x],M=Dd(b),S=M.extent,R=M.selection,A=S[0][0],L,v,B=S[0][1],w,D,N=S[1][0],z,X,ct=S[1][1],J,Y,$=0,lt=0,ut,W=T&&C&&i&&y.shiftKey,tt,K,it=Array.from(y.touches||[y],at=>{const It=at.identifier;return at=Tn(at,b),at.point0=at.slice(),at.identifier=It,at});vs(b);var Z=h(b,arguments,!0).beforestart();if(x==="overlay"){R&&(ut=!0);const at=[it[0],it[1]||it[0]];M.selection=R=[[L=t===ih?A:Fr(at[0][0],at[1][0]),w=t===nh?B:Fr(at[0][1],at[1][1])],[z=t===ih?N:Or(at[0][0],at[1][0]),J=t===nh?ct:Or(at[0][1],at[1][1])]],it.length>1&&F(y)}else L=R[0][0],w=R[0][1],z=R[1][0],J=R[1][1];v=L,D=w,X=z,Y=J;var V=St(b).attr("pointer-events","none"),Q=V.selectAll(".overlay").attr("cursor",Xi[x]);if(y.touches)Z.moved=U,Z.ended=j;else{var q=St(y.view).on("mousemove.brush",U,!0).on("mouseup.brush",j,!0);i&&q.on("keydown.brush",P,!0).on("keyup.brush",et,!0),Nu(y.view)}u.call(b),Z.start(y,k.name);function U(at){for(const It of at.changedTouches||[at])for(const Lt of it)Lt.identifier===It.identifier&&(Lt.cur=Tn(It,b));if(W&&!tt&&!K&&it.length===1){const It=it[0];_v(It.cur[0]-It[0])>_v(It.cur[1]-It[1])?K=!0:tt=!0}for(const It of it)It.cur&&(It[0]=It.cur[0],It[1]=It.cur[1]);ut=!0,Id(at),F(at)}function F(at){const It=it[0],Lt=It.point0;var Rt;switch($=It[0]-Lt[0],lt=It[1]-Lt[1],k){case Nd:case bv:{T&&($=Or(A-L,Fr(N-z,$)),v=L+$,X=z+$),C&&(lt=Or(B-w,Fr(ct-J,lt)),D=w+lt,Y=J+lt);break}case bo:{it[1]?(T&&(v=Or(A,Fr(N,it[0][0])),X=Or(A,Fr(N,it[1][0])),T=1),C&&(D=Or(B,Fr(ct,it[0][1])),Y=Or(B,Fr(ct,it[1][1])),C=1)):(T<0?($=Or(A-L,Fr(N-L,$)),v=L+$,X=z):T>0&&($=Or(A-z,Fr(N-z,$)),v=L,X=z+$),C<0?(lt=Or(B-w,Fr(ct-w,lt)),D=w+lt,Y=J):C>0&&(lt=Or(B-J,Fr(ct-J,lt)),D=w,Y=J+lt));break}case _o:{T&&(v=Or(A,Fr(N,L-$*T)),X=Or(A,Fr(N,z+$*T))),C&&(D=Or(B,Fr(ct,w-lt*C)),Y=Or(B,Fr(ct,J+lt*C)));break}}X0&&(L=v-$),C<0?J=Y-lt:C>0&&(w=D-lt),k=Nd,Q.attr("cursor",Xi.selection),F(at));break}default:return}Id(at)}function et(at){switch(at.keyCode){case 16:{W&&(tt=K=W=!1,F(at));break}case 18:{k===_o&&(T<0?z=X:T>0&&(L=v),C<0?J=Y:C>0&&(w=D),k=bo,F(at));break}case 32:{k===Nd&&(at.altKey?(T&&(z=X-$*T,L=v+$*T),C&&(J=Y-lt*C,w=D+lt*C),k=_o):(T<0?z=X:T>0&&(L=v),C<0?J=Y:C>0&&(w=D),k=bo),Q.attr("cursor",Xi[x]),F(at));break}default:return}Id(at)}}function p(y){h(this,arguments).moved(y)}function m(y){h(this,arguments).ended(y)}function _(){var y=this.__brush||{selection:null};return y.extent=Bd(e.apply(this,arguments)),y.dim=t,y}return l.extent=function(y){return arguments.length?(e=typeof y=="function"?y:Rd(Bd(y)),l):e},l.filter=function(y){return arguments.length?(r=typeof y=="function"?y:Rd(!!y),l):r},l.touchable=function(y){return arguments.length?(n=typeof y=="function"?y:Rd(!!y),l):n},l.handleSize=function(y){return arguments.length?(s=+y,l):s},l.keyModifiers=function(y){return arguments.length?(i=!!y,l):i},l.on=function(){var y=a.on.apply(a,arguments);return y===a?l:y},l}var wv=Math.abs,vo=Math.cos,xo=Math.sin,Tv=Math.PI,ah=Tv/2,Ev=Tv*2,Cv=Math.max,Fd=1e-12;function Pd(t,e){return Array.from({length:e-t},(r,n)=>t+n)}function KO(t){return function(e,r){return t(e.source.value+e.target.value,r.source.value+r.target.value)}}function ZO(){return qd(!1,!1)}function QO(){return qd(!1,!0)}function JO(){return qd(!0,!1)}function qd(t,e){var r=0,n=null,i=null,a=null;function s(o){var l=o.length,u=new Array(l),h=Pd(0,l),d=new Array(l*l),f=new Array(l),p=0,m;o=Float64Array.from({length:l*l},e?(_,y)=>o[y%l][y/l|0]:(_,y)=>o[y/l|0][y%l]);for(let _=0;_n(u[y],u[b]));for(const y of h){const b=_;if(t){const x=Pd(~l+1,l).filter(k=>k<0?o[~k*l+y]:o[y*l+k]);i&&x.sort((k,T)=>i(k<0?-o[~k*l+y]:o[y*l+k],T<0?-o[~T*l+y]:o[y*l+T]));for(const k of x)if(k<0){const T=d[~k*l+y]||(d[~k*l+y]={source:null,target:null});T.target={index:y,startAngle:_,endAngle:_+=o[~k*l+y]*p,value:o[~k*l+y]}}else{const T=d[y*l+k]||(d[y*l+k]={source:null,target:null});T.source={index:y,startAngle:_,endAngle:_+=o[y*l+k]*p,value:o[y*l+k]}}f[y]={index:y,startAngle:b,endAngle:_,value:u[y]}}else{const x=Pd(0,l).filter(k=>o[y*l+k]||o[k*l+y]);i&&x.sort((k,T)=>i(o[y*l+k],o[y*l+T]));for(const k of x){let T;if(yxs)if(!(Math.abs(h*o-l*u)>xs)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var f=r-a,p=n-s,m=o*o+l*l,_=f*f+p*p,y=Math.sqrt(m),b=Math.sqrt(d),x=i*Math.tan((Vd-Math.acos((m+d-_)/(2*y*b)))/2),k=x/b,T=x/y;Math.abs(k-1)>xs&&(this._+="L"+(t+k*u)+","+(e+k*h)),this._+="A"+i+","+i+",0,0,"+ +(h*f>u*p)+","+(this._x1=t+T*o)+","+(this._y1=e+T*l)}},arc:function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),o=r*Math.sin(n),l=t+s,u=e+o,h=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+l+","+u:(Math.abs(this._x1-l)>xs||Math.abs(this._y1-u)>xs)&&(this._+="L"+l+","+u),r&&(d<0&&(d=d%zd+zd),d>tF?this._+="A"+r+","+r+",0,1,"+h+","+(t-s)+","+(e-o)+"A"+r+","+r+",0,1,"+h+","+(this._x1=l)+","+(this._y1=u):d>xs&&(this._+="A"+r+","+r+",0,"+ +(d>=Vd)+","+h+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};var eF=Array.prototype.slice;function ks(t){return function(){return t}}function rF(t){return t.source}function nF(t){return t.target}function Sv(t){return t.radius}function iF(t){return t.startAngle}function aF(t){return t.endAngle}function sF(){return 0}function oF(){return 10}function Av(t){var e=rF,r=nF,n=Sv,i=Sv,a=iF,s=aF,o=sF,l=null;function u(){var h,d=e.apply(this,arguments),f=r.apply(this,arguments),p=o.apply(this,arguments)/2,m=eF.call(arguments),_=+n.apply(this,(m[0]=d,m)),y=a.apply(this,m)-ah,b=s.apply(this,m)-ah,x=+i.apply(this,(m[0]=f,m)),k=a.apply(this,m)-ah,T=s.apply(this,m)-ah;if(l||(l=h=Ra()),p>Fd&&(wv(b-y)>p*2+Fd?b>y?(y+=p,b-=p):(y-=p,b+=p):y=b=(y+b)/2,wv(T-k)>p*2+Fd?T>k?(k+=p,T-=p):(k-=p,T+=p):k=T=(k+T)/2),l.moveTo(_*vo(y),_*xo(y)),l.arc(0,0,_,y,b),y!==k||b!==T)if(t){var C=+t.apply(this,arguments),M=x-C,S=(k+T)/2;l.quadraticCurveTo(0,0,M*vo(k),M*xo(k)),l.lineTo(x*vo(S),x*xo(S)),l.lineTo(M*vo(T),M*xo(T))}else l.quadraticCurveTo(0,0,x*vo(k),x*xo(k)),l.arc(0,0,x,k,T);if(l.quadraticCurveTo(0,0,_*vo(y),_*xo(y)),l.closePath(),h)return l=null,h+""||null}return t&&(u.headRadius=function(h){return arguments.length?(t=typeof h=="function"?h:ks(+h),u):t}),u.radius=function(h){return arguments.length?(n=i=typeof h=="function"?h:ks(+h),u):n},u.sourceRadius=function(h){return arguments.length?(n=typeof h=="function"?h:ks(+h),u):n},u.targetRadius=function(h){return arguments.length?(i=typeof h=="function"?h:ks(+h),u):i},u.startAngle=function(h){return arguments.length?(a=typeof h=="function"?h:ks(+h),u):a},u.endAngle=function(h){return arguments.length?(s=typeof h=="function"?h:ks(+h),u):s},u.padAngle=function(h){return arguments.length?(o=typeof h=="function"?h:ks(+h),u):o},u.source=function(h){return arguments.length?(e=h,u):e},u.target=function(h){return arguments.length?(r=h,u):r},u.context=function(h){return arguments.length?(l=h==null?null:h,u):l},u}function lF(){return Av()}function cF(){return Av(oF)}var uF=Array.prototype,Mv=uF.slice;function hF(t,e){return t-e}function fF(t){for(var e=0,r=t.length,n=t[r-1][1]*t[0][0]-t[r-1][0]*t[0][1];++e()=>t;function dF(t,e){for(var r=-1,n=e.length,i;++rn!=p>n&&r<(f-u)*(n-h)/(p-h)+u&&(i=-i)}return i}function gF(t,e,r){var n;return yF(t,e,r)&&mF(t[n=+(t[0]===e[0])],r[n],e[n])}function yF(t,e,r){return(e[0]-t[0])*(r[1]-t[1])===(r[0]-t[0])*(e[1]-t[1])}function mF(t,e,r){return t<=e&&e<=r||r<=e&&e<=t}function bF(){}var Ki=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function Ud(){var t=1,e=1,r=W0,n=l;function i(u){var h=r(u);if(Array.isArray(h))h=h.slice().sort(hF);else{const d=xl(u),f=wl(d[0],d[1],h);h=hs(Math.floor(d[0]/f)*f,Math.floor(d[1]/f-1)*f,h)}return h.map(d=>a(u,d))}function a(u,h){var d=[],f=[];return s(u,h,function(p){n(p,u,h),fF(p)>0?d.push([p]):f.push(p)}),f.forEach(function(p){for(var m=0,_=d.length,y;m<_;++m)if(dF((y=d[m])[0],p)!==-1){y.push(p);return}}),{type:"MultiPolygon",value:h,coordinates:d}}function s(u,h,d){var f=new Array,p=new Array,m,_,y,b,x,k;for(m=_=-1,b=u[0]>=h,Ki[b<<1].forEach(T);++m=h,Ki[y|b<<1].forEach(T);for(Ki[b<<0].forEach(T);++_=h,x=u[_*t]>=h,Ki[b<<1|x<<2].forEach(T);++m=h,k=x,x=u[_*t+m+1]>=h,Ki[y|b<<1|x<<2|k<<3].forEach(T);Ki[b|x<<3].forEach(T)}for(m=-1,x=u[_*t]>=h,Ki[x<<2].forEach(T);++m=h,Ki[x<<2|k<<3].forEach(T);Ki[x<<3].forEach(T);function T(C){var M=[C[0][0]+m,C[0][1]+_],S=[C[1][0]+m,C[1][1]+_],R=o(M),A=o(S),L,v;(L=p[R])?(v=f[A])?(delete p[L.end],delete f[v.start],L===v?(L.ring.push(S),d(L.ring)):f[L.start]=p[v.end]={start:L.start,end:v.end,ring:L.ring.concat(v.ring)}):(delete p[L.end],L.ring.push(S),p[L.end=A]=L):(L=f[A])?(v=p[R])?(delete f[L.start],delete p[v.end],L===v?(L.ring.push(S),d(L.ring)):f[v.start]=p[L.end]={start:v.start,end:L.end,ring:v.ring.concat(L.ring)}):(delete f[L.start],L.ring.unshift(M),f[L.start=R]=L):f[R]=p[A]={start:R,end:A,ring:[M,S]}}}function o(u){return u[0]*2+u[1]*(t+1)*4}function l(u,h,d){u.forEach(function(f){var p=f[0],m=f[1],_=p|0,y=m|0,b,x=h[y*t+_];p>0&&p0&&m=0&&d>=0))throw new Error("invalid size");return t=h,e=d,i},i.thresholds=function(u){return arguments.length?(r=typeof u=="function"?u:Array.isArray(u)?Ia(Mv.call(u)):Ia(u),i):r},i.smooth=function(u){return arguments.length?(n=u?l:bF,i):n===l},i}function _F(t){return t[0]}function vF(t){return t[1]}function xF(){return 1}function kF(){var t=_F,e=vF,r=xF,n=960,i=500,a=20,s=2,o=a*3,l=n+o*2>>s,u=i+o*2>>s,h=Ia(20);function d(x){var k=new Float32Array(l*u),T=Math.pow(2,-s),C=-1;for(const w of x){var M=(t(w,++C,x)+o)*T,S=(e(w,C,x)+o)*T,R=+r(w,C,x);if(M>=0&&M=0&&SM*C))(k).map((M,S)=>(M.value=+T[S],p(M)))}f.contours=function(x){var k=d(x),T=Ud().size([l,u]),C=Math.pow(2,2*s),M=S=>{S=+S;var R=p(T.contour(k,S*C));return R.value=S,R};return Object.defineProperty(M,"max",{get:()=>lo(k)/C}),M};function p(x){return x.coordinates.forEach(m),x}function m(x){x.forEach(_)}function _(x){x.forEach(y)}function y(x){x[0]=x[0]*Math.pow(2,s)-o,x[1]=x[1]*Math.pow(2,s)-o}function b(){return o=a*3,l=n+o*2>>s,u=i+o*2>>s,f}return f.x=function(x){return arguments.length?(t=typeof x=="function"?x:Ia(+x),f):t},f.y=function(x){return arguments.length?(e=typeof x=="function"?x:Ia(+x),f):e},f.weight=function(x){return arguments.length?(r=typeof x=="function"?x:Ia(+x),f):r},f.size=function(x){if(!arguments.length)return[n,i];var k=+x[0],T=+x[1];if(!(k>=0&&T>=0))throw new Error("invalid size");return n=k,i=T,b()},f.cellSize=function(x){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return s=Math.floor(Math.log(x)/Math.LN2),b()},f.thresholds=function(x){return arguments.length?(h=typeof x=="function"?x:Array.isArray(x)?Ia(Mv.call(x)):Ia(x),f):h},f.bandwidth=function(x){if(!arguments.length)return Math.sqrt(a*(a+1));if(!((x=+x)>=0))throw new Error("invalid bandwidth");return a=(Math.sqrt(4*x*x+1)-1)/2,b()},f}const Zi=11102230246251565e-32,Pr=134217729,wF=(3+8*Zi)*Zi;function Wd(t,e,r,n,i){let a,s,o,l,u=e[0],h=n[0],d=0,f=0;h>u==h>-u?(a=u,u=e[++d]):(a=h,h=n[++f]);let p=0;if(du==h>-u?(s=u+a,o=a-(s-u),u=e[++d]):(s=h+a,o=a-(s-h),h=n[++f]),a=s,o!==0&&(i[p++]=o);du==h>-u?(s=a+u,l=s-a,o=a-(s-l)+(u-l),u=e[++d]):(s=a+h,l=s-a,o=a-(s-l)+(h-l),h=n[++f]),a=s,o!==0&&(i[p++]=o);for(;d=D||-w>=D||(d=t-A,o=t-(A+d)+(d-i),d=r-L,u=r-(L+d)+(d-i),d=e-v,l=e-(v+d)+(d-a),d=n-B,h=n-(B+d)+(d-a),o===0&&l===0&&u===0&&h===0)||(D=SF*s+wF*Math.abs(w),w+=A*h+B*o-(v*u+L*l),w>=D||-w>=D))return w;T=o*B,f=Pr*o,p=f-(f-o),m=o-p,f=Pr*B,_=f-(f-B),y=B-_,C=m*y-(T-p*_-m*_-p*y),M=l*L,f=Pr*l,p=f-(f-l),m=l-p,f=Pr*L,_=f-(f-L),y=L-_,S=m*y-(M-p*_-m*_-p*y),b=C-S,d=C-b,Xr[0]=C-(b+d)+(d-S),x=T+b,d=x-T,k=T-(x-d)+(b-d),b=k-M,d=k-b,Xr[1]=k-(b+d)+(d-M),R=x+b,d=R-x,Xr[2]=x-(R-d)+(b-d),Xr[3]=R;const N=Wd(4,ko,4,Xr,Lv);T=A*h,f=Pr*A,p=f-(f-A),m=A-p,f=Pr*h,_=f-(f-h),y=h-_,C=m*y-(T-p*_-m*_-p*y),M=v*u,f=Pr*v,p=f-(f-v),m=v-p,f=Pr*u,_=f-(f-u),y=u-_,S=m*y-(M-p*_-m*_-p*y),b=C-S,d=C-b,Xr[0]=C-(b+d)+(d-S),x=T+b,d=x-T,k=T-(x-d)+(b-d),b=k-M,d=k-b,Xr[1]=k-(b+d)+(d-M),R=x+b,d=R-x,Xr[2]=x-(R-d)+(b-d),Xr[3]=R;const z=Wd(N,Lv,4,Xr,Rv);T=o*h,f=Pr*o,p=f-(f-o),m=o-p,f=Pr*h,_=f-(f-h),y=h-_,C=m*y-(T-p*_-m*_-p*y),M=l*u,f=Pr*l,p=f-(f-l),m=l-p,f=Pr*u,_=f-(f-u),y=u-_,S=m*y-(M-p*_-m*_-p*y),b=C-S,d=C-b,Xr[0]=C-(b+d)+(d-S),x=T+b,d=x-T,k=T-(x-d)+(b-d),b=k-M,d=k-b,Xr[1]=k-(b+d)+(d-M),R=x+b,d=R-x,Xr[2]=x-(R-d)+(b-d),Xr[3]=R;const X=Wd(z,Rv,4,Xr,Iv);return Iv[X-1]}function sh(t,e,r,n,i,a){const s=(e-a)*(r-i),o=(t-i)*(n-a),l=s-o;if(s===0||o===0||s>0!=o>0)return l;const u=Math.abs(s+o);return Math.abs(l)>=EF*u?l:-AF(t,e,r,n,i,a,u)}const Nv=Math.pow(2,-52),oh=new Uint32Array(512);class lh{static from(e,r=NF,n=BF){const i=e.length,a=new Float64Array(i*2);for(let s=0;s>1;if(r>0&&typeof e[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=e;const n=Math.max(2*r-5,0);this._triangles=new Uint32Array(n*3),this._halfedges=new Int32Array(n*3),this._hashSize=Math.ceil(Math.sqrt(r)),this._hullPrev=new Uint32Array(r),this._hullNext=new Uint32Array(r),this._hullTri=new Uint32Array(r),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(r),this._dists=new Float64Array(r),this.update()}update(){const{coords:e,_hullPrev:r,_hullNext:n,_hullTri:i,_hullHash:a}=this,s=e.length>>1;let o=1/0,l=1/0,u=-1/0,h=-1/0;for(let L=0;Lu&&(u=v),B>h&&(h=B),this._ids[L]=L}const d=(o+u)/2,f=(l+h)/2;let p=1/0,m,_,y;for(let L=0;L0&&(_=L,p=v)}let k=e[2*_],T=e[2*_+1],C=1/0;for(let L=0;Lw&&(L[v++]=D,w=this._dists[D])}this.hull=L.subarray(0,v),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(sh(b,x,k,T,M,S)<0){const L=_,v=k,B=T;_=y,k=M,T=S,y=L,M=v,S=B}const R=IF(b,x,k,T,M,S);this._cx=R.x,this._cy=R.y;for(let L=0;L0&&Math.abs(D-v)<=Nv&&Math.abs(N-B)<=Nv||(v=D,B=N,w===m||w===_||w===y))continue;let z=0;for(let $=0,lt=this._hashKey(D,N);$=0;)if(X=ct,X===z){X=-1;break}if(X===-1)continue;let J=this._addTriangle(X,w,n[X],-1,-1,i[X]);i[w]=this._legalize(J+2),i[X]=J,A++;let Y=n[X];for(;ct=n[Y],sh(D,N,e[2*Y],e[2*Y+1],e[2*ct],e[2*ct+1])<0;)J=this._addTriangle(Y,w,ct,i[w],-1,i[Y]),i[w]=this._legalize(J+2),n[Y]=Y,A--,Y=ct;if(X===z)for(;ct=r[X],sh(D,N,e[2*ct],e[2*ct+1],e[2*X],e[2*X+1])<0;)J=this._addTriangle(ct,w,X,-1,i[X],i[ct]),this._legalize(J+2),i[ct]=J,n[X]=X,A--,X=ct;this._hullStart=r[w]=X,n[X]=r[Y]=w,n[w]=Y,a[this._hashKey(D,N)]=w,a[this._hashKey(e[2*X],e[2*X+1])]=X}this.hull=new Uint32Array(A);for(let L=0,v=this._hullStart;L0?3-r:1+r)/4}function Hd(t,e,r,n){const i=t-r,a=e-n;return i*i+a*a}function LF(t,e,r,n,i,a,s,o){const l=t-s,u=e-o,h=r-s,d=n-o,f=i-s,p=a-o,m=l*l+u*u,_=h*h+d*d,y=f*f+p*p;return l*(d*y-_*p)-u*(h*y-_*f)+m*(h*p-d*f)<0}function RF(t,e,r,n,i,a){const s=r-t,o=n-e,l=i-t,u=a-e,h=s*s+o*o,d=l*l+u*u,f=.5/(s*u-o*l),p=(u*h-o*d)*f,m=(s*d-l*h)*f;return p*p+m*m}function IF(t,e,r,n,i,a){const s=r-t,o=n-e,l=i-t,u=a-e,h=s*s+o*o,d=l*l+u*u,f=.5/(s*u-o*l),p=t+(u*h-o*d)*f,m=e+(s*d-l*h)*f;return{x:p,y:m}}function wo(t,e,r,n){if(n-r<=20)for(let i=r+1;i<=n;i++){const a=t[i],s=e[a];let o=i-1;for(;o>=r&&e[t[o]]>s;)t[o+1]=t[o--];t[o+1]=a}else{const i=r+n>>1;let a=r+1,s=n;Ul(t,i,a),e[t[r]]>e[t[n]]&&Ul(t,r,n),e[t[a]]>e[t[n]]&&Ul(t,a,n),e[t[r]]>e[t[a]]&&Ul(t,r,a);const o=t[a],l=e[o];for(;;){do a++;while(e[t[a]]l);if(s=s-r?(wo(t,e,a,n),wo(t,e,r,s-1)):(wo(t,e,r,s-1),wo(t,e,a,n))}}function Ul(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function NF(t){return t[0]}function BF(t){return t[1]}const Bv=1e-6;class ws{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,r){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,r){this._+=`L${this._x1=+e},${this._y1=+r}`}arc(e,r,n){e=+e,r=+r,n=+n;const i=e+n,a=r;if(n<0)throw new Error("negative radius");this._x1===null?this._+=`M${i},${a}`:(Math.abs(this._x1-i)>Bv||Math.abs(this._y1-a)>Bv)&&(this._+="L"+i+","+a),n&&(this._+=`A${n},${n},0,1,1,${e-n},${r}A${n},${n},0,1,1,${this._x1=i},${this._y1=a}`)}rect(e,r,n,i){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${+n}v${+i}h${-n}Z`}value(){return this._||null}}class Gd{constructor(){this._=[]}moveTo(e,r){this._.push([e,r])}closePath(){this._.push(this._[0].slice())}lineTo(e,r){this._.push([e,r])}value(){return this._.length?this._:null}}class Dv{constructor(e,[r,n,i,a]=[0,0,960,500]){if(!((i=+i)>=(r=+r))||!((a=+a)>=(n=+n)))throw new Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=i,this.xmin=r,this.ymax=a,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:e,hull:r,triangles:n},vectors:i}=this,a=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let p=0,m=0,_=n.length,y,b;p<_;p+=3,m+=2){const x=n[p]*2,k=n[p+1]*2,T=n[p+2]*2,C=e[x],M=e[x+1],S=e[k],R=e[k+1],A=e[T],L=e[T+1],v=S-C,B=R-M,w=A-C,D=L-M,N=(v*D-B*w)*2;if(Math.abs(N)<1e-9){let z=1e9;const X=n[0]*2;z*=Math.sign((e[X]-C)*D-(e[X+1]-M)*w),y=(C+A)/2-z*D,b=(M+L)/2+z*w}else{const z=1/N,X=v*v+B*B,ct=w*w+D*D;y=C+(D*X-B*ct)*z,b=M+(v*ct-w*X)*z}a[m]=y,a[m+1]=b}let s=r[r.length-1],o,l=s*4,u,h=e[2*s],d,f=e[2*s+1];i.fill(0);for(let p=0;p1;)a-=2;for(let s=2;s4)for(let s=0;s0){if(r>=this.ymax)return null;(s=(this.ymax-r)/i)0){if(e>=this.xmax)return null;(s=(this.xmax-e)/n)this.xmax?2:0)|(rthis.ymax?8:0)}}const DF=2*Math.PI,To=Math.pow;function OF(t){return t[0]}function FF(t){return t[1]}function PF(t){const{triangles:e,coords:r}=t;for(let n=0;n1e-10)return!1}return!0}function qF(t,e,r){return[t+Math.sin(t+e)*r,e+Math.cos(t-e)*r]}class jd{static from(e,r=OF,n=FF,i){return new jd("length"in e?VF(e,r,n,i):Float64Array.from(zF(e,r,n,i)))}constructor(e){this._delaunator=new lh(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const e=this._delaunator,r=this.points;if(e.hull&&e.hull.length>2&&PF(e)){this.collinear=Int32Array.from({length:r.length/2},(f,p)=>p).sort((f,p)=>r[2*f]-r[2*p]||r[2*f+1]-r[2*p+1]);const l=this.collinear[0],u=this.collinear[this.collinear.length-1],h=[r[2*l],r[2*l+1],r[2*u],r[2*u+1]],d=1e-8*Math.hypot(h[3]-h[1],h[2]-h[0]);for(let f=0,p=r.length/2;f0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=i[0],s[i[0]]=1,i.length===2&&(s[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(e){return new Dv(this,e)}*neighbors(e){const{inedges:r,hull:n,_hullIndex:i,halfedges:a,triangles:s,collinear:o}=this;if(o){const d=o.indexOf(e);d>0&&(yield o[d-1]),d=0&&a!==n&&a!==i;)n=a;return a}_step(e,r,n){const{inedges:i,hull:a,_hullIndex:s,halfedges:o,triangles:l,points:u}=this;if(i[e]===-1||!u.length)return(e+1)%(u.length>>1);let h=e,d=To(r-u[e*2],2)+To(n-u[e*2+1],2);const f=i[e];let p=f;do{let m=l[p];const _=To(r-u[m*2],2)+To(n-u[m*2+1],2);if(_9999?"+"+dn(t,6):dn(t,4)}function WF(t){var e=t.getUTCHours(),r=t.getUTCMinutes(),n=t.getUTCSeconds(),i=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":UF(t.getUTCFullYear())+"-"+dn(t.getUTCMonth()+1,2)+"-"+dn(t.getUTCDate(),2)+(i?"T"+dn(e,2)+":"+dn(r,2)+":"+dn(n,2)+"."+dn(i,3)+"Z":n?"T"+dn(e,2)+":"+dn(r,2)+":"+dn(n,2)+"Z":r||e?"T"+dn(e,2)+":"+dn(r,2)+"Z":"")}function ch(t){var e=new RegExp('["'+t+` +\r]`),r=t.charCodeAt(0);function n(d,f){var p,m,_=i(d,function(y,b){if(p)return p(y,b-1);m=y,p=f?YF(y,f):Fv(y)});return _.columns=m||[],_}function i(d,f){var p=[],m=d.length,_=0,y=0,b,x=m<=0,k=!1;d.charCodeAt(m-1)===Wl&&--m,d.charCodeAt(m-1)===Kd&&--m;function T(){if(x)return $d;if(k)return k=!1,Ov;var M,S=_,R;if(d.charCodeAt(S)===Xd){for(;_++=m?x=!0:(R=d.charCodeAt(_++))===Wl?k=!0:R===Kd&&(k=!0,d.charCodeAt(_)===Wl&&++_),d.slice(S+1,M-1).replace(/""/g,'"')}for(;_uh(e,r).then(n=>new DOMParser().parseFromString(n,t))}const yP=Zd("application/xml");var mP=Zd("text/html"),bP=Zd("image/svg+xml");function _P(t,e){var r,n=1;t==null&&(t=0),e==null&&(e=0);function i(){var a,s=r.length,o,l=0,u=0;for(a=0;a=(d=(o+u)/2))?o=d:u=d,(y=r>=(f=(l+h)/2))?l=f:h=f,i=a,!(a=a[b=y<<1|_]))return i[b]=s,t;if(p=+t._x.call(null,a.data),m=+t._y.call(null,a.data),e===p&&r===m)return s.next=a,i?i[b]=s:t._root=s,t;do i=i?i[b]=new Array(4):t._root=new Array(4),(_=e>=(d=(o+u)/2))?o=d:u=d,(y=r>=(f=(l+h)/2))?l=f:h=f;while((b=y<<1|_)===(x=(m>=f)<<1|p>=d));return i[x]=a,i[b]=s,t}function xP(t){var e,r,n=t.length,i,a,s=new Array(n),o=new Array(n),l=1/0,u=1/0,h=-1/0,d=-1/0;for(r=0;rh&&(h=i),ad&&(d=a));if(l>h||u>d)return this;for(this.cover(l,u).cover(h,d),r=0;rt||t>=i||n>e||e>=a;)switch(u=(eh||(o=m.y0)>d||(l=m.x1)=b)<<1|t>=y)&&(m=f[f.length-1],f[f.length-1]=f[f.length-1-_],f[f.length-1-_]=m)}else{var x=t-+this._x.call(null,p.data),k=e-+this._y.call(null,p.data),T=x*x+k*k;if(T=(f=(s+l)/2))?s=f:l=f,(_=d>=(p=(o+u)/2))?o=p:u=p,e=r,!(r=r[y=_<<1|m]))return this;if(!r.length)break;(e[y+1&3]||e[y+2&3]||e[y+3&3])&&(n=e,b=y)}for(;r.data!==t;)if(i=r,!(r=r.next))return this;return(a=r.next)&&delete r.next,i?(a?i.next=a:delete i.next,this):e?(a?e[y]=a:delete e[y],(r=e[0]||e[1]||e[2]||e[3])&&r===(e[3]||e[2]||e[1]||e[0])&&!r.length&&(n?n[b]=r:this._root=r),this):(this._root=a,this)}function SP(t){for(var e=0,r=t.length;ef.index){var v=p-R.x-R.vx,B=m-R.y-R.vy,w=v*v+B*B;wp+L||Mm+L||Su.r&&(u.r=u[h].r)}function l(){if(!!e){var u,h=e.length,d;for(r=new Array(h),u=0;u[e(C,M,s),C])),T;for(y=0,o=new Array(b);y(t=(zP*t+YP)%Hv)/Hv}function WP(t){return t.x}function HP(t){return t.y}var GP=10,jP=Math.PI*(3-Math.sqrt(5));function $P(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,s=.6,o=new Map,l=Qu(d),u=fs("tick","end"),h=UP();t==null&&(t=[]);function d(){f(),u.call("tick",e),r1?(y==null?o.delete(_):o.set(_,m(y)),e):o.get(_)},find:function(_,y,b){var x=0,k=t.length,T,C,M,S,R;for(b==null?b=1/0:b*=b,x=0;x1?(u.on(_,y),e):u.on(_)}}}function XP(){var t,e,r,n,i=vr(-30),a,s=1,o=1/0,l=.81;function u(p){var m,_=t.length,y=hh(t,WP,HP).visitAfter(d);for(n=p,m=0;m<_;++m)e=t[m],y.visit(f)}function h(){if(!!t){var p,m=t.length,_;for(a=new Array(m),p=0;p=o)return;(p.data!==e||p.next)&&(b===0&&(b=Na(r),T+=b*b),x===0&&(x=Na(r),T+=x*x),T=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function fh(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function Eo(t){return t=fh(Math.abs(t)),t?t[1]:NaN}function tq(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function eq(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var rq=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Co(t){if(!(e=rq.exec(t)))throw new Error("invalid format: "+t);var e;return new dh({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Co.prototype=dh.prototype;function dh(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}dh.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function nq(t){t:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var Gv;function iq(t,e){var r=fh(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(Gv=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+fh(t,Math.max(0,e+a-1))[0]}function jv(t,e){var r=fh(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const $v={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:JP,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>jv(t*100,e),r:jv,s:iq,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Xv(t){return t}var Kv=Array.prototype.map,Zv=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function Qv(t){var e=t.grouping===void 0||t.thousands===void 0?Xv:tq(Kv.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?Xv:eq(Kv.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"\u2212":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(d){d=Co(d);var f=d.fill,p=d.align,m=d.sign,_=d.symbol,y=d.zero,b=d.width,x=d.comma,k=d.precision,T=d.trim,C=d.type;C==="n"?(x=!0,C="g"):$v[C]||(k===void 0&&(k=12),T=!0,C="g"),(y||f==="0"&&p==="=")&&(y=!0,f="0",p="=");var M=_==="$"?r:_==="#"&&/[boxX]/.test(C)?"0"+C.toLowerCase():"",S=_==="$"?n:/[%p]/.test(C)?s:"",R=$v[C],A=/[defgprs%]/.test(C);k=k===void 0?6:/[gprs]/.test(C)?Math.max(1,Math.min(21,k)):Math.max(0,Math.min(20,k));function L(v){var B=M,w=S,D,N,z;if(C==="c")w=R(v)+w,v="";else{v=+v;var X=v<0||1/v<0;if(v=isNaN(v)?l:R(Math.abs(v),k),T&&(v=nq(v)),X&&+v==0&&m!=="+"&&(X=!1),B=(X?m==="("?m:o:m==="-"||m==="("?"":m)+B,w=(C==="s"?Zv[8+Gv/3]:"")+w+(X&&m==="("?")":""),A){for(D=-1,N=v.length;++Dz||z>57){w=(z===46?i+v.slice(D+1):v.slice(D))+w,v=v.slice(0,D);break}}}x&&!y&&(v=e(v,1/0));var ct=B.length+v.length+w.length,J=ct>1)+B+v+w+J.slice(ct);break;default:v=J+B+v+w;break}return a(v)}return L.toString=function(){return d+""},L}function h(d,f){var p=u((d=Co(d),d.type="f",d)),m=Math.max(-8,Math.min(8,Math.floor(Eo(f)/3)))*3,_=Math.pow(10,-m),y=Zv[8+m/3];return function(b){return p(_*b)+y}}return{format:u,formatPrefix:h}}var ph,gh,Jd;Jv({thousands:",",grouping:[3],currency:["$",""]});function Jv(t){return ph=Qv(t),gh=ph.format,Jd=ph.formatPrefix,ph}function t6(t){return Math.max(0,-Eo(Math.abs(t)))}function e6(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Eo(e)/3)))*3-Eo(Math.abs(t)))}function r6(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Eo(e)-Eo(t))+1}var te=1e-6,Hl=1e-12,Ae=Math.PI,rr=Ae/2,yh=Ae/4,Qr=Ae*2,Ue=180/Ae,re=Ae/180,Ne=Math.abs,So=Math.atan,Jr=Math.atan2,Kt=Math.cos,mh=Math.ceil,n6=Math.exp,t2=Math.hypot,bh=Math.log,e2=Math.pow,Ht=Math.sin,Dn=Math.sign||function(t){return t>0?1:t<0?-1:0},Sr=Math.sqrt,r2=Math.tan;function i6(t){return t>1?0:t<-1?Ae:Math.acos(t)}function tn(t){return t>1?rr:t<-1?-rr:Math.asin(t)}function a6(t){return(t=Ht(t/2))*t}function Je(){}function _h(t,e){t&&o6.hasOwnProperty(t.type)&&o6[t.type](t,e)}var s6={Feature:function(t,e){_h(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n=0?1:-1,i=n*r,a=Kt(e),s=Ht(e),o=s2*s,l=a2*a+o*Kt(i),u=o*n*Ht(i);vh.add(Jr(u,l)),i2=t,a2=a,s2=s}function lq(t){return xh=new _r,ti(t,Si),xh*2}function kh(t){return[Jr(t[1],t[0]),tn(t[2])]}function Cs(t){var e=t[0],r=t[1],n=Kt(r);return[n*Kt(e),n*Ht(e),Ht(r)]}function wh(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Ao(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function o2(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Th(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Eh(t){var e=Sr(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var tr,pn,nr,En,Ss,f6,d6,Mo,Gl,Ba,Qi,Ji={point:l2,lineStart:g6,lineEnd:y6,polygonStart:function(){Ji.point=m6,Ji.lineStart=cq,Ji.lineEnd=uq,Gl=new _r,Si.polygonStart()},polygonEnd:function(){Si.polygonEnd(),Ji.point=l2,Ji.lineStart=g6,Ji.lineEnd=y6,vh<0?(tr=-(nr=180),pn=-(En=90)):Gl>te?En=90:Gl<-te&&(pn=-90),Qi[0]=tr,Qi[1]=nr},sphere:function(){tr=-(nr=180),pn=-(En=90)}};function l2(t,e){Ba.push(Qi=[tr=t,nr=t]),eEn&&(En=e)}function p6(t,e){var r=Cs([t*re,e*re]);if(Mo){var n=Ao(Mo,r),i=[n[1],-n[0],0],a=Ao(i,n);Eh(a),a=kh(a);var s=t-Ss,o=s>0?1:-1,l=a[0]*Ue*o,u,h=Ne(s)>180;h^(o*SsEn&&(En=u)):(l=(l+360)%360-180,h^(o*SsEn&&(En=e))),h?tCn(tr,nr)&&(nr=t):Cn(t,nr)>Cn(tr,nr)&&(tr=t):nr>=tr?(tnr&&(nr=t)):t>Ss?Cn(tr,t)>Cn(tr,nr)&&(nr=t):Cn(t,nr)>Cn(tr,nr)&&(tr=t)}else Ba.push(Qi=[tr=t,nr=t]);eEn&&(En=e),Mo=r,Ss=t}function g6(){Ji.point=p6}function y6(){Qi[0]=tr,Qi[1]=nr,Ji.point=l2,Mo=null}function m6(t,e){if(Mo){var r=t-Ss;Gl.add(Ne(r)>180?r+(r>0?360:-360):r)}else f6=t,d6=e;Si.point(t,e),p6(t,e)}function cq(){Si.lineStart()}function uq(){m6(f6,d6),Si.lineEnd(),Ne(Gl)>te&&(tr=-(nr=180)),Qi[0]=tr,Qi[1]=nr,Mo=null}function Cn(t,e){return(e-=t)<0?e+360:e}function hq(t,e){return t[0]-e[0]}function b6(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eCn(n[0],n[1])&&(n[1]=i[1]),Cn(i[0],n[1])>Cn(n[0],n[1])&&(n[0]=i[0])):a.push(n=i);for(s=-1/0,r=a.length-1,e=0,n=a[r];e<=r;n=i,++e)i=a[e],(o=Cn(n[1],i[0]))>s&&(s=o,tr=i[0],nr=n[1])}return Ba=Qi=null,tr===1/0||pn===1/0?[[NaN,NaN],[NaN,NaN]]:[[tr,pn],[nr,En]]}var jl,Ch,Sh,Ah,Mh,Lh,Rh,Ih,c2,u2,h2,_6,v6,en,rn,nn,ei={sphere:Je,point:f2,lineStart:x6,lineEnd:k6,polygonStart:function(){ei.lineStart=gq,ei.lineEnd=yq},polygonEnd:function(){ei.lineStart=x6,ei.lineEnd=k6}};function f2(t,e){t*=re,e*=re;var r=Kt(e);$l(r*Kt(t),r*Ht(t),Ht(e))}function $l(t,e,r){++jl,Sh+=(t-Sh)/jl,Ah+=(e-Ah)/jl,Mh+=(r-Mh)/jl}function x6(){ei.point=dq}function dq(t,e){t*=re,e*=re;var r=Kt(e);en=r*Kt(t),rn=r*Ht(t),nn=Ht(e),ei.point=pq,$l(en,rn,nn)}function pq(t,e){t*=re,e*=re;var r=Kt(e),n=r*Kt(t),i=r*Ht(t),a=Ht(e),s=Jr(Sr((s=rn*a-nn*i)*s+(s=nn*n-en*a)*s+(s=en*i-rn*n)*s),en*n+rn*i+nn*a);Ch+=s,Lh+=s*(en+(en=n)),Rh+=s*(rn+(rn=i)),Ih+=s*(nn+(nn=a)),$l(en,rn,nn)}function k6(){ei.point=f2}function gq(){ei.point=mq}function yq(){w6(_6,v6),ei.point=f2}function mq(t,e){_6=t,v6=e,t*=re,e*=re,ei.point=w6;var r=Kt(e);en=r*Kt(t),rn=r*Ht(t),nn=Ht(e),$l(en,rn,nn)}function w6(t,e){t*=re,e*=re;var r=Kt(e),n=r*Kt(t),i=r*Ht(t),a=Ht(e),s=rn*a-nn*i,o=nn*n-en*a,l=en*i-rn*n,u=t2(s,o,l),h=tn(u),d=u&&-h/u;c2.add(d*s),u2.add(d*o),h2.add(d*l),Ch+=h,Lh+=h*(en+(en=n)),Rh+=h*(rn+(rn=i)),Ih+=h*(nn+(nn=a)),$l(en,rn,nn)}function bq(t){jl=Ch=Sh=Ah=Mh=Lh=Rh=Ih=0,c2=new _r,u2=new _r,h2=new _r,ti(t,ei);var e=+c2,r=+u2,n=+h2,i=t2(e,r,n);return iAe?t+Math.round(-t/Qr)*Qr:t,e]}p2.invert=p2;function g2(t,e,r){return(t%=Qr)?e||r?d2(E6(t),C6(e,r)):E6(t):e||r?C6(e,r):p2}function T6(t){return function(e,r){return e+=t,[e>Ae?e-Qr:e<-Ae?e+Qr:e,r]}}function E6(t){var e=T6(t);return e.invert=T6(-t),e}function C6(t,e){var r=Kt(t),n=Ht(t),i=Kt(e),a=Ht(e);function s(o,l){var u=Kt(l),h=Kt(o)*u,d=Ht(o)*u,f=Ht(l),p=f*r+h*n;return[Jr(d*i-p*a,h*r-f*n),tn(p*i+d*a)]}return s.invert=function(o,l){var u=Kt(l),h=Kt(o)*u,d=Ht(o)*u,f=Ht(l),p=f*i-d*a;return[Jr(d*i+f*a,h*r+p*n),tn(p*r-h*n)]},s}function S6(t){t=g2(t[0]*re,t[1]*re,t.length>2?t[2]*re:0);function e(r){return r=t(r[0]*re,r[1]*re),r[0]*=Ue,r[1]*=Ue,r}return e.invert=function(r){return r=t.invert(r[0]*re,r[1]*re),r[0]*=Ue,r[1]*=Ue,r},e}function A6(t,e,r,n,i,a){if(!!r){var s=Kt(e),o=Ht(e),l=n*r;i==null?(i=e+n*Qr,a=e-l/2):(i=M6(s,i),a=M6(s,a),(n>0?ia)&&(i+=n*Qr));for(var u,h=i;n>0?h>a:h1&&t.push(t.pop().concat(t.shift()))},result:function(){var r=t;return t=[],e=null,r}}}function Nh(t,e){return Ne(t[0]-e[0])=0;--o)i.point((d=h[o])[0],d[1]);else n(f.x,f.p.x,-1,i);f=f.p}f=f.o,h=f.z,p=!p}while(!f.v);i.lineEnd()}}}function I6(t){if(!!(e=t.length)){for(var e,r=0,n=t[0],i;++r=0?1:-1,L=A*R,v=L>Ae,B=y*M;if(l.add(Jr(B*A*Ht(L),b*S+B*Kt(L))),s+=v?R+A*Qr:R,v^m>=r^T>=r){var w=Ao(Cs(p),Cs(k));Eh(w);var D=Ao(a,w);Eh(D);var N=(v^R>=0?-1:1)*tn(D[2]);(n>N||n===N&&(w[0]||w[1]))&&(o+=v^R>=0?1:-1)}}return(s<-te||s0){for(l||(i.polygonStart(),l=!0),i.lineStart(),M=0;M1&&T&2&&C.push(C.pop().concat(C.shift())),h.push(C.filter(vq))}}return f}}function vq(t){return t.length>1}function xq(t,e){return((t=t.x)[0]<0?t[1]-rr-te:rr-t[1])-((e=e.x)[0]<0?e[1]-rr-te:rr-e[1])}const m2=B6(function(){return!0},kq,Tq,[-Ae,-rr]);function kq(t){var e=NaN,r=NaN,n=NaN,i;return{lineStart:function(){t.lineStart(),i=1},point:function(a,s){var o=a>0?Ae:-Ae,l=Ne(a-e);Ne(l-Ae)0?rr:-rr),t.point(n,r),t.lineEnd(),t.lineStart(),t.point(o,r),t.point(a,r),i=0):n!==o&&l>=Ae&&(Ne(e-n)te?So((Ht(e)*(a=Kt(n))*Ht(r)-Ht(n)*(i=Kt(e))*Ht(t))/(i*a*s)):(e+n)/2}function Tq(t,e,r,n){var i;if(t==null)i=r*rr,n.point(-Ae,i),n.point(0,i),n.point(Ae,i),n.point(Ae,0),n.point(Ae,-i),n.point(0,-i),n.point(-Ae,-i),n.point(-Ae,0),n.point(-Ae,i);else if(Ne(t[0]-e[0])>te){var a=t[0]0,i=Ne(e)>te;function a(h,d,f,p){A6(p,t,r,f,h,d)}function s(h,d){return Kt(h)*Kt(d)>e}function o(h){var d,f,p,m,_;return{lineStart:function(){m=p=!1,_=1},point:function(y,b){var x=[y,b],k,T=s(y,b),C=n?T?0:u(y,b):T?u(y+(y<0?Ae:-Ae),b):0;if(!d&&(m=p=T)&&h.lineStart(),T!==p&&(k=l(d,x),(!k||Nh(d,k)||Nh(x,k))&&(x[2]=1)),T!==p)_=0,T?(h.lineStart(),k=l(x,d),h.point(k[0],k[1])):(k=l(d,x),h.point(k[0],k[1],2),h.lineEnd()),d=k;else if(i&&d&&n^T){var M;!(C&f)&&(M=l(x,d,!0))&&(_=0,n?(h.lineStart(),h.point(M[0][0],M[0][1]),h.point(M[1][0],M[1][1]),h.lineEnd()):(h.point(M[1][0],M[1][1]),h.lineEnd(),h.lineStart(),h.point(M[0][0],M[0][1],3)))}T&&(!d||!Nh(d,x))&&h.point(x[0],x[1]),d=x,p=T,f=C},lineEnd:function(){p&&h.lineEnd(),d=null},clean:function(){return _|(m&&p)<<1}}}function l(h,d,f){var p=Cs(h),m=Cs(d),_=[1,0,0],y=Ao(p,m),b=wh(y,y),x=y[0],k=b-x*x;if(!k)return!f&&h;var T=e*b/k,C=-e*x/k,M=Ao(_,y),S=Th(_,T),R=Th(y,C);o2(S,R);var A=M,L=wh(S,A),v=wh(A,A),B=L*L-v*(wh(S,S)-1);if(!(B<0)){var w=Sr(B),D=Th(A,(-L-w)/v);if(o2(D,S),D=kh(D),!f)return D;var N=h[0],z=d[0],X=h[1],ct=d[1],J;z0^D[1]<(Ne(D[0]-N)Ae^(N<=D[0]&&D[0]<=z)){var ut=Th(A,(-L+w)/v);return o2(ut,S),[D,kh(ut)]}}}function u(h,d){var f=n?t:Ae-t,p=0;return h<-f?p|=1:h>f&&(p|=2),d<-f?p|=4:d>f&&(p|=8),p}return B6(s,o,a,n?[0,-t]:[-Ae,t-Ae])}function Eq(t,e,r,n,i,a){var s=t[0],o=t[1],l=e[0],u=e[1],h=0,d=1,f=l-s,p=u-o,m;if(m=r-s,!(!f&&m>0)){if(m/=f,f<0){if(m0){if(m>d)return;m>h&&(h=m)}if(m=i-s,!(!f&&m<0)){if(m/=f,f<0){if(m>d)return;m>h&&(h=m)}else if(f>0){if(m0)){if(m/=p,p<0){if(m0){if(m>d)return;m>h&&(h=m)}if(m=a-o,!(!p&&m<0)){if(m/=p,p<0){if(m>d)return;m>h&&(h=m)}else if(p>0){if(m0&&(t[0]=s+h*f,t[1]=o+h*p),d<1&&(e[0]=s+d*f,e[1]=o+d*p),!0}}}}}var Xl=1e9,Dh=-Xl;function Oh(t,e,r,n){function i(u,h){return t<=u&&u<=r&&e<=h&&h<=n}function a(u,h,d,f){var p=0,m=0;if(u==null||(p=s(u,d))!==(m=s(h,d))||l(u,h)<0^d>0)do f.point(p===0||p===3?t:r,p>1?n:e);while((p=(p+d+4)%4)!==m);else f.point(h[0],h[1])}function s(u,h){return Ne(u[0]-t)0?0:3:Ne(u[0]-r)0?2:1:Ne(u[1]-e)0?1:0:h>0?3:2}function o(u,h){return l(u.x,h.x)}function l(u,h){var d=s(u,1),f=s(h,1);return d!==f?d-f:d===0?h[1]-u[1]:d===1?u[0]-h[0]:d===2?u[1]-h[1]:h[0]-u[0]}return function(u){var h=u,d=L6(),f,p,m,_,y,b,x,k,T,C,M,S={point:R,lineStart:B,lineEnd:w,polygonStart:L,polygonEnd:v};function R(N,z){i(N,z)&&h.point(N,z)}function A(){for(var N=0,z=0,X=p.length;zn&&(W-lt)*(n-ut)>(tt-ut)*(t-lt)&&++N:tt<=n&&(W-lt)*(n-ut)<(tt-ut)*(t-lt)&&--N;return N}function L(){h=d,f=[],p=[],M=!0}function v(){var N=A(),z=M&&N,X=(f=j0(f)).length;(z||X)&&(u.polygonStart(),z&&(u.lineStart(),a(null,null,1,u),u.lineEnd()),X&&R6(f,o,N,a,u),u.polygonEnd()),h=u,f=p=m=null}function B(){S.point=D,p&&p.push(m=[]),C=!0,T=!1,x=k=NaN}function w(){f&&(D(_,y),b&&T&&d.rejoin(),f.push(d.result())),S.point=R,T&&h.lineEnd()}function D(N,z){var X=i(N,z);if(p&&m.push([N,z]),C)_=N,y=z,b=X,C=!1,X&&(h.lineStart(),h.point(N,z));else if(X&&T)h.point(N,z);else{var ct=[x=Math.max(Dh,Math.min(Xl,x)),k=Math.max(Dh,Math.min(Xl,k))],J=[N=Math.max(Dh,Math.min(Xl,N)),z=Math.max(Dh,Math.min(Xl,z))];Eq(ct,J,t,e,r,n)?(T||(h.lineStart(),h.point(ct[0],ct[1])),h.point(J[0],J[1]),X||h.lineEnd(),M=!1):X&&(h.lineStart(),h.point(N,z),M=!1)}x=N,k=z,T=X}return S}}function Cq(){var t=0,e=0,r=960,n=500,i,a,s;return s={stream:function(o){return i&&a===o?i:i=Oh(t,e,r,n)(a=o)},extent:function(o){return arguments.length?(t=+o[0][0],e=+o[0][1],r=+o[1][0],n=+o[1][1],i=a=null,s):[[t,e],[r,n]]}}}var b2,_2,Fh,Ph,Ro={sphere:Je,point:Je,lineStart:Sq,lineEnd:Je,polygonStart:Je,polygonEnd:Je};function Sq(){Ro.point=Mq,Ro.lineEnd=Aq}function Aq(){Ro.point=Ro.lineEnd=Je}function Mq(t,e){t*=re,e*=re,_2=t,Fh=Ht(e),Ph=Kt(e),Ro.point=Lq}function Lq(t,e){t*=re,e*=re;var r=Ht(e),n=Kt(e),i=Ne(t-_2),a=Kt(i),s=Ht(i),o=n*s,l=Ph*r-Fh*n*a,u=Fh*r+Ph*n*a;b2.add(Jr(Sr(o*o+l*l),u)),_2=t,Fh=r,Ph=n}function O6(t){return b2=new _r,ti(t,Ro),+b2}var v2=[null,null],Rq={type:"LineString",coordinates:v2};function qh(t,e){return v2[0]=t,v2[1]=e,O6(Rq)}var F6={Feature:function(t,e){return Vh(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n0&&(i=qh(t[a],t[a-1]),i>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))te}).map(f)).concat(Ca(mh(a/u)*u,i,u).filter(function(k){return Ne(k%d)>te}).map(p))}return b.lines=function(){return x().map(function(k){return{type:"LineString",coordinates:k}})},b.outline=function(){return{type:"Polygon",coordinates:[m(n).concat(_(s).slice(1),m(r).reverse().slice(1),_(o).reverse().slice(1))]}},b.extent=function(k){return arguments.length?b.extentMajor(k).extentMinor(k):b.extentMinor()},b.extentMajor=function(k){return arguments.length?(n=+k[0][0],r=+k[1][0],o=+k[0][1],s=+k[1][1],n>r&&(k=n,n=r,r=k),o>s&&(k=o,o=s,s=k),b.precision(y)):[[n,o],[r,s]]},b.extentMinor=function(k){return arguments.length?(e=+k[0][0],t=+k[1][0],a=+k[0][1],i=+k[1][1],e>t&&(k=e,e=t,t=k),a>i&&(k=a,a=i,i=k),b.precision(y)):[[e,a],[t,i]]},b.step=function(k){return arguments.length?b.stepMajor(k).stepMinor(k):b.stepMinor()},b.stepMajor=function(k){return arguments.length?(h=+k[0],d=+k[1],b):[h,d]},b.stepMinor=function(k){return arguments.length?(l=+k[0],u=+k[1],b):[l,u]},b.precision=function(k){return arguments.length?(y=+k,f=U6(a,i,90),p=W6(e,t,y),m=U6(o,s,90),_=W6(n,r,y),b):y},b.extentMajor([[-180,-90+te],[180,90-te]]).extentMinor([[-180,-80-te],[180,80+te]])}function Bq(){return H6()()}function Dq(t,e){var r=t[0]*re,n=t[1]*re,i=e[0]*re,a=e[1]*re,s=Kt(n),o=Ht(n),l=Kt(a),u=Ht(a),h=s*Kt(r),d=s*Ht(r),f=l*Kt(i),p=l*Ht(i),m=2*tn(Sr(a6(a-n)+s*l*a6(i-r))),_=Ht(m),y=m?function(b){var x=Ht(b*=m)/_,k=Ht(m-b)/_,T=k*h+x*f,C=k*d+x*p,M=k*o+x*u;return[Jr(C,T)*Ue,Jr(M,Sr(T*T+C*C))*Ue]}:function(){return[r*Ue,n*Ue]};return y.distance=m,y}const Kl=t=>t;var x2=new _r,k2=new _r,G6,j6,w2,T2,Da={point:Je,lineStart:Je,lineEnd:Je,polygonStart:function(){Da.lineStart=Oq,Da.lineEnd=Pq},polygonEnd:function(){Da.lineStart=Da.lineEnd=Da.point=Je,x2.add(Ne(k2)),k2=new _r},result:function(){var t=x2/2;return x2=new _r,t}};function Oq(){Da.point=Fq}function Fq(t,e){Da.point=$6,G6=w2=t,j6=T2=e}function $6(t,e){k2.add(T2*t-w2*e),w2=t,T2=e}function Pq(){$6(G6,j6)}const X6=Da;var Io=1/0,zh=Io,Zl=-Io,Yh=Zl,qq={point:Vq,lineStart:Je,lineEnd:Je,polygonStart:Je,polygonEnd:Je,result:function(){var t=[[Io,zh],[Zl,Yh]];return Zl=Yh=-(zh=Io=1/0),t}};function Vq(t,e){tZl&&(Zl=t),eYh&&(Yh=e)}const Uh=qq;var E2=0,C2=0,Ql=0,Wh=0,Hh=0,No=0,S2=0,A2=0,Jl=0,K6,Z6,Ai,Mi,ri={point:As,lineStart:Q6,lineEnd:J6,polygonStart:function(){ri.lineStart=Uq,ri.lineEnd=Wq},polygonEnd:function(){ri.point=As,ri.lineStart=Q6,ri.lineEnd=J6},result:function(){var t=Jl?[S2/Jl,A2/Jl]:No?[Wh/No,Hh/No]:Ql?[E2/Ql,C2/Ql]:[NaN,NaN];return E2=C2=Ql=Wh=Hh=No=S2=A2=Jl=0,t}};function As(t,e){E2+=t,C2+=e,++Ql}function Q6(){ri.point=zq}function zq(t,e){ri.point=Yq,As(Ai=t,Mi=e)}function Yq(t,e){var r=t-Ai,n=e-Mi,i=Sr(r*r+n*n);Wh+=i*(Ai+t)/2,Hh+=i*(Mi+e)/2,No+=i,As(Ai=t,Mi=e)}function J6(){ri.point=As}function Uq(){ri.point=Hq}function Wq(){tx(K6,Z6)}function Hq(t,e){ri.point=tx,As(K6=Ai=t,Z6=Mi=e)}function tx(t,e){var r=t-Ai,n=e-Mi,i=Sr(r*r+n*n);Wh+=i*(Ai+t)/2,Hh+=i*(Mi+e)/2,No+=i,i=Mi*t-Ai*e,S2+=i*(Ai+t),A2+=i*(Mi+e),Jl+=i*3,As(Ai=t,Mi=e)}const ex=ri;function rx(t){this._context=t}rx.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._context.moveTo(t,e),this._point=1;break}case 1:{this._context.lineTo(t,e);break}default:{this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,Qr);break}}},result:Je};var M2=new _r,L2,nx,ix,tc,ec,Gh={point:Je,lineStart:function(){Gh.point=Gq},lineEnd:function(){L2&&ax(nx,ix),Gh.point=Je},polygonStart:function(){L2=!0},polygonEnd:function(){L2=null},result:function(){var t=+M2;return M2=new _r,t}};function Gq(t,e){Gh.point=ax,nx=tc=t,ix=ec=e}function ax(t,e){tc-=t,ec-=e,M2.add(Sr(tc*tc+ec*ec)),tc=t,ec=e}const sx=Gh;function ox(){this._string=[]}ox.prototype={_radius:4.5,_circle:lx(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._string.push("M",t,",",e),this._point=1;break}case 1:{this._string.push("L",t,",",e);break}default:{this._circle==null&&(this._circle=lx(this._radius)),this._string.push("M",t,",",e,this._circle);break}}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}else return null}};function lx(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function jq(t,e){var r=4.5,n,i;function a(s){return s&&(typeof r=="function"&&i.pointRadius(+r.apply(this,arguments)),ti(s,n(i))),i.result()}return a.area=function(s){return ti(s,n(X6)),X6.result()},a.measure=function(s){return ti(s,n(sx)),sx.result()},a.bounds=function(s){return ti(s,n(Uh)),Uh.result()},a.centroid=function(s){return ti(s,n(ex)),ex.result()},a.projection=function(s){return arguments.length?(n=s==null?(t=null,Kl):(t=s).stream,a):t},a.context=function(s){return arguments.length?(i=s==null?(e=null,new ox):new rx(e=s),typeof r!="function"&&i.pointRadius(r),a):e},a.pointRadius=function(s){return arguments.length?(r=typeof s=="function"?s:(i.pointRadius(+s),+s),a):r},a.projection(t).context(e)}function $q(t){return{stream:rc(t)}}function rc(t){return function(e){var r=new R2;for(var n in t)r[n]=t[n];return r.stream=e,r}}function R2(){}R2.prototype={constructor:R2,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function I2(t,e,r){var n=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),n!=null&&t.clipExtent(null),ti(r,t.stream(Uh)),e(Uh.result()),n!=null&&t.clipExtent(n),t}function jh(t,e,r){return I2(t,function(n){var i=e[1][0]-e[0][0],a=e[1][1]-e[0][1],s=Math.min(i/(n[1][0]-n[0][0]),a/(n[1][1]-n[0][1])),o=+e[0][0]+(i-s*(n[1][0]+n[0][0]))/2,l=+e[0][1]+(a-s*(n[1][1]+n[0][1]))/2;t.scale(150*s).translate([o,l])},r)}function N2(t,e,r){return jh(t,[[0,0],e],r)}function B2(t,e,r){return I2(t,function(n){var i=+e,a=i/(n[1][0]-n[0][0]),s=(i-a*(n[1][0]+n[0][0]))/2,o=-a*n[0][1];t.scale(150*a).translate([s,o])},r)}function D2(t,e,r){return I2(t,function(n){var i=+e,a=i/(n[1][1]-n[0][1]),s=-a*n[0][0],o=(i-a*(n[1][1]+n[0][1]))/2;t.scale(150*a).translate([s,o])},r)}var cx=16,Xq=Kt(30*re);function ux(t,e){return+e?Zq(t,e):Kq(t)}function Kq(t){return rc({point:function(e,r){e=t(e,r),this.stream.point(e[0],e[1])}})}function Zq(t,e){function r(n,i,a,s,o,l,u,h,d,f,p,m,_,y){var b=u-n,x=h-i,k=b*b+x*x;if(k>4*e&&_--){var T=s+f,C=o+p,M=l+m,S=Sr(T*T+C*C+M*M),R=tn(M/=S),A=Ne(Ne(M)-1)e||Ne((b*w+x*D)/k-.5)>.3||s*f+o*p+l*m2?N[2]%360*re:0,w()):[o*Ue,l*Ue,u*Ue]},v.angle=function(N){return arguments.length?(d=N%360*re,w()):d*Ue},v.reflectX=function(N){return arguments.length?(f=N?-1:1,w()):f<0},v.reflectY=function(N){return arguments.length?(p=N?-1:1,w()):p<0},v.precision=function(N){return arguments.length?(M=ux(S,C=N*N),D()):Sr(C)},v.fitExtent=function(N,z){return jh(v,N,z)},v.fitSize=function(N,z){return N2(v,N,z)},v.fitWidth=function(N,z){return B2(v,N,z)},v.fitHeight=function(N,z){return D2(v,N,z)};function w(){var N=hx(r,0,0,f,p,d).apply(null,e(a,s)),z=hx(r,n-N[0],i-N[1],f,p,d);return h=g2(o,l,u),S=d2(e,z),R=d2(h,S),M=ux(S,C),D()}function D(){return A=L=null,v}return function(){return e=t.apply(this,arguments),v.invert=e.invert&&B,w()}}function F2(t){var e=0,r=Ae/3,n=O2(t),i=n(e,r);return i.parallels=function(a){return arguments.length?n(e=a[0]*re,r=a[1]*re):[e*Ue,r*Ue]},i}function eV(t){var e=Kt(t);function r(n,i){return[n*e,Ht(i)/e]}return r.invert=function(n,i){return[n/e,tn(i*e)]},r}function fx(t,e){var r=Ht(t),n=(r+Ht(e))/2;if(Ne(n)=.12&&y<.234&&_>=-.425&&_<-.214?i:y>=.166&&y<.234&&_>=-.214&&_<-.115?s:r).invert(f)},h.stream=function(f){return t&&e===f?t:t=rV([r.stream(e=f),i.stream(f),s.stream(f)])},h.precision=function(f){return arguments.length?(r.precision(f),i.precision(f),s.precision(f),d()):r.precision()},h.scale=function(f){return arguments.length?(r.scale(f),i.scale(f*.35),s.scale(f),h.translate(r.translate())):r.scale()},h.translate=function(f){if(!arguments.length)return r.translate();var p=r.scale(),m=+f[0],_=+f[1];return n=r.translate(f).clipExtent([[m-.455*p,_-.238*p],[m+.455*p,_+.238*p]]).stream(u),a=i.translate([m-.307*p,_+.201*p]).clipExtent([[m-.425*p+te,_+.12*p+te],[m-.214*p-te,_+.234*p-te]]).stream(u),o=s.translate([m-.205*p,_+.212*p]).clipExtent([[m-.214*p+te,_+.166*p+te],[m-.115*p-te,_+.234*p-te]]).stream(u),d()},h.fitExtent=function(f,p){return jh(h,f,p)},h.fitSize=function(f,p){return N2(h,f,p)},h.fitWidth=function(f,p){return B2(h,f,p)},h.fitHeight=function(f,p){return D2(h,f,p)};function d(){return t=e=null,h}return h.scale(1070)}function px(t){return function(e,r){var n=Kt(e),i=Kt(r),a=t(n*i);return a===1/0?[2,0]:[a*i*Ht(e),a*Ht(r)]}}function nc(t){return function(e,r){var n=Sr(e*e+r*r),i=t(n),a=Ht(i),s=Kt(i);return[Jr(e*a,n*s),tn(n&&r*a/n)]}}var P2=px(function(t){return Sr(2/(1+t))});P2.invert=nc(function(t){return 2*tn(t/2)});function iV(){return Li(P2).scale(124.75).clipAngle(180-.001)}var q2=px(function(t){return(t=i6(t))&&t/Ht(t)});q2.invert=nc(function(t){return t});function aV(){return Li(q2).scale(79.4188).clipAngle(180-.001)}function ic(t,e){return[t,bh(r2((rr+e)/2))]}ic.invert=function(t,e){return[t,2*So(n6(e))-rr]};function sV(){return gx(ic).scale(961/Qr)}function gx(t){var e=Li(t),r=e.center,n=e.scale,i=e.translate,a=e.clipExtent,s=null,o,l,u;e.scale=function(d){return arguments.length?(n(d),h()):n()},e.translate=function(d){return arguments.length?(i(d),h()):i()},e.center=function(d){return arguments.length?(r(d),h()):r()},e.clipExtent=function(d){return arguments.length?(d==null?s=o=l=u=null:(s=+d[0][0],o=+d[0][1],l=+d[1][0],u=+d[1][1]),h()):s==null?null:[[s,o],[l,u]]};function h(){var d=Ae*n(),f=e(S6(e.rotate()).invert([0,0]));return a(s==null?[[f[0]-d,f[1]-d],[f[0]+d,f[1]+d]]:t===ic?[[Math.max(f[0]-d,s),o],[Math.min(f[0]+d,l),u]]:[[s,Math.max(f[1]-d,o)],[l,Math.min(f[1]+d,u)]])}return h()}function Xh(t){return r2((rr+t)/2)}function yx(t,e){var r=Kt(t),n=t===e?Ht(t):bh(r/Kt(e))/bh(Xh(e)/Xh(t)),i=r*e2(Xh(t),n)/n;if(!n)return ic;function a(s,o){i>0?o<-rr+te&&(o=-rr+te):o>rr-te&&(o=rr-te);var l=i/e2(Xh(o),n);return[l*Ht(n*s),i-l*Kt(n*s)]}return a.invert=function(s,o){var l=i-o,u=Dn(n)*Sr(s*s+l*l),h=Jr(s,Ne(l))*Dn(l);return l*n<0&&(h-=Ae*Dn(s)*Dn(l)),[h/n,2*So(e2(i/u,1/n))-rr]},a}function oV(){return F2(yx).scale(109.5).parallels([30,30])}function ac(t,e){return[t,e]}ac.invert=ac;function lV(){return Li(ac).scale(152.63)}function mx(t,e){var r=Kt(t),n=t===e?Ht(t):(r-Kt(e))/(e-t),i=r/n+t;if(Ne(n)te&&--n>0);return[t/(.8707+(a=r*r)*(-.131979+a*(-.013791+a*a*a*(.003971-.001529*a)))),r]};function pV(){return Li(Y2).scale(175.295)}function U2(t,e){return[Kt(e)*Ht(t),Ht(e)]}U2.invert=nc(tn);function gV(){return Li(U2).scale(249.5).clipAngle(90+te)}function W2(t,e){var r=Kt(e),n=1+Kt(t)*r;return[r*Ht(t)/n,Ht(e)/n]}W2.invert=nc(function(t){return 2*So(t)});function yV(){return Li(W2).scale(250).clipAngle(142)}function H2(t,e){return[bh(r2((rr+e)/2)),-t]}H2.invert=function(t,e){return[-e,2*So(n6(t))-rr]};function mV(){var t=gx(H2),e=t.center,r=t.rotate;return t.center=function(n){return arguments.length?e([-n[1],n[0]]):(n=e(),[n[1],-n[0]])},t.rotate=function(n){return arguments.length?r([n[0],n[1],n.length>2?n[2]+90:90]):(n=r(),[n[0],n[1],n[2]-90])},r([0,0,90]).scale(159.155)}function bV(t,e){return t.parent===e.parent?1:2}function _V(t){return t.reduce(vV,0)/t.length}function vV(t,e){return t+e.x}function xV(t){return 1+t.reduce(kV,0)}function kV(t,e){return Math.max(t,e.y)}function wV(t){for(var e;e=t.children;)t=e[0];return t}function TV(t){for(var e;e=t.children;)t=e[e.length-1];return t}function EV(){var t=bV,e=1,r=1,n=!1;function i(a){var s,o=0;a.eachAfter(function(f){var p=f.children;p?(f.x=_V(p),f.y=xV(p)):(f.x=s?o+=t(f,s):0,f.y=0,s=f)});var l=wV(a),u=TV(a),h=l.x-t(l,u)/2,d=u.x+t(u,l)/2;return a.eachAfter(n?function(f){f.x=(f.x-a.x)*e,f.y=(a.y-f.y)*r}:function(f){f.x=(f.x-h)/(d-h)*e,f.y=(1-(a.y?f.y/a.y:1))*r})}return i.separation=function(a){return arguments.length?(t=a,i):t},i.size=function(a){return arguments.length?(n=!1,e=+a[0],r=+a[1],i):n?null:[e,r]},i.nodeSize=function(a){return arguments.length?(n=!0,e=+a[0],r=+a[1],i):n?[e,r]:null},i}function CV(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function SV(){return this.eachAfter(CV)}function AV(t,e){let r=-1;for(const n of this)t.call(e,n,++r,this);return this}function MV(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function LV(t,e){for(var r=this,n=[r],i=[],a,s,o,l=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,o=a.length;s=0;)r+=n[i].value;e.value=r})}function NV(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function BV(t){for(var e=this,r=DV(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function DV(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}function OV(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function FV(){return Array.from(this)}function PV(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function qV(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*VV(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i=0;--o)i.push(a=s[o]=new Ms(s[o])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(bx)}function zV(){return G2(this).eachBefore(WV)}function YV(t){return t.children}function UV(t){return Array.isArray(t)?t[1]:null}function WV(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function bx(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function Ms(t){this.data=t,this.depth=this.height=0,this.parent=null}Ms.prototype=G2.prototype={constructor:Ms,count:SV,each:AV,eachAfter:LV,eachBefore:MV,find:RV,sum:IV,sort:NV,path:BV,ancestors:OV,descendants:FV,leaves:PV,links:qV,copy:zV,[Symbol.iterator]:VV};function Zh(t){return t==null?null:_x(t)}function _x(t){if(typeof t!="function")throw new Error;return t}function Ls(){return 0}function Bo(t){return function(){return t}}const HV=1664525,GV=1013904223,vx=4294967296;function j2(){let t=1;return()=>(t=(HV*t+GV)%vx)/vx}function jV(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function $V(t,e){let r=t.length,n,i;for(;r;)i=e()*r--|0,n=t[r],t[r]=t[i],t[i]=n;return t}function XV(t){return xx(t,j2())}function xx(t,e){for(var r=0,n=(t=$V(Array.from(t),e)).length,i=[],a,s;r0&&r*r>n*n+i*i}function $2(t,e){for(var r=0;r1e-6?(v+Math.sqrt(v*v-4*L*B))/(2*L):B/v);return{x:n+M+S*w,y:i+R+A*w,r:w}}function Tx(t,e,r){var n=t.x-e.x,i,a,s=t.y-e.y,o,l,u=n*n+s*s;u?(a=e.r+r.r,a*=a,l=t.r+r.r,l*=l,a>l?(i=(u+l-a)/(2*u),o=Math.sqrt(Math.max(0,l/u-i*i)),r.x=t.x-i*n-o*s,r.y=t.y-i*s+o*n):(i=(u+a-l)/(2*u),o=Math.sqrt(Math.max(0,a/u-i*i)),r.x=e.x+i*n-o*s,r.y=e.y+i*s+o*n)):(r.x=e.x+r.r,r.y=e.y)}function Ex(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function Cx(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function Jh(t){this._=t,this.next=null,this.previous=null}function Sx(t,e){if(!(a=(t=jV(t)).length))return 0;var r,n,i,a,s,o,l,u,h,d,f;if(r=t[0],r.x=0,r.y=0,!(a>1))return r.r;if(n=t[1],r.x=-n.r,n.x=r.r,n.y=0,!(a>2))return r.r+n.r;Tx(n,r,i=t[2]),r=new Jh(r),n=new Jh(n),i=new Jh(i),r.next=i.previous=n,n.next=r.previous=i,i.next=n.previous=r;t:for(l=3;loz(r(T,C,i))),x=b.map(Ix),k=new Set(b).add("");for(const T of x)k.has(T)||(k.add(T),b.push(T),x.push(Ix(T)),a.push(K2));s=(T,C)=>b[C],o=(T,C)=>x[C]}for(h=0,l=a.length;h=0&&(p=a[b],p.data===K2);--b)p.data=null}if(d.parent=nz,d.eachBefore(function(b){b.depth=b.parent.depth+1,--l}).eachBefore(bx),d.parent=null,l>0)throw new Error("cycle");return d}return n.id=function(i){return arguments.length?(t=Zh(i),n):t},n.parentId=function(i){return arguments.length?(e=Zh(i),n):e},n.path=function(i){return arguments.length?(r=Zh(i),n):r},n}function oz(t){t=`${t}`;let e=t.length;return Z2(t,e-1)&&!Z2(t,e-2)&&(t=t.slice(0,-1)),t[0]==="/"?t:`/${t}`}function Ix(t){let e=t.length;if(e<2)return"";for(;--e>1&&!Z2(t,e););return t.slice(0,e)}function Z2(t,e){if(t[e]==="/"){let r=0;for(;e>0&&t[--e]==="\\";)++r;if((r&1)===0)return!0}return!1}function lz(t,e){return t.parent===e.parent?1:2}function Q2(t){var e=t.children;return e?e[0]:t.t}function J2(t){var e=t.children;return e?e[e.length-1]:t.t}function cz(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function uz(t){for(var e=0,r=0,n=t.children,i=n.length,a;--i>=0;)a=n[i],a.z+=e,a.m+=e,e+=a.s+(r+=a.c)}function hz(t,e,r){return t.a.parent===e.parent?t.a:r}function tf(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}tf.prototype=Object.create(Ms.prototype);function fz(t){for(var e=new tf(t,0),r,n=[e],i,a,s,o;r=n.pop();)if(a=r._.children)for(r.children=new Array(o=a.length),s=o-1;s>=0;--s)n.push(i=r.children[s]=new tf(a[s],s)),i.parent=r;return(e.parent=new tf(null,0)).children=[e],e}function dz(){var t=lz,e=1,r=1,n=null;function i(u){var h=fz(u);if(h.eachAfter(a),h.parent.m=-h.z,h.eachBefore(s),n)u.eachBefore(l);else{var d=u,f=u,p=u;u.eachBefore(function(x){x.xf.x&&(f=x),x.depth>p.depth&&(p=x)});var m=d===f?1:t(d,f)/2,_=m-d.x,y=e/(f.x+m+_),b=r/(p.depth||1);u.eachBefore(function(x){x.x=(x.x+_)*y,x.y=x.depth*b})}return u}function a(u){var h=u.children,d=u.parent.children,f=u.i?d[u.i-1]:null;if(h){uz(u);var p=(h[0].z+h[h.length-1].z)/2;f?(u.z=f.z+t(u._,f._),u.m=u.z-p):u.z=p}else f&&(u.z=f.z+t(u._,f._));u.parent.A=o(u,f,u.parent.A||d[0])}function s(u){u._.x=u.z+u.parent.m,u.m+=u.parent.m}function o(u,h,d){if(h){for(var f=u,p=u,m=h,_=f.parent.children[0],y=f.m,b=p.m,x=m.m,k=_.m,T;m=J2(m),f=Q2(f),m&&f;)_=Q2(_),p=J2(p),p.a=u,T=m.z+x-f.z-y+t(m._,f._),T>0&&(cz(hz(m,u,d),u,T),y+=T,b+=T),x+=m.m,y+=f.m,k+=_.m,b+=p.m;m&&!J2(p)&&(p.t=m,p.m+=x-b),f&&!Q2(_)&&(_.t=f,_.m+=y-k,d=u)}return d}function l(u){u.x*=e,u.y=u.depth*r}return i.separation=function(u){return arguments.length?(t=u,i):t},i.size=function(u){return arguments.length?(n=!1,e=+u[0],r=+u[1],i):n?null:[e,r]},i.nodeSize=function(u){return arguments.length?(n=!0,e=+u[0],r=+u[1],i):n?[e,r]:null},i}function ef(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(i-r)/t.value;++ox&&(x=u),M=y*y*C,k=Math.max(x/M,M/b),k>T){y-=u;break}T=k}s.push(l={value:y,dice:p1?n:1)},r}(Nx);function pz(){var t=Dx,e=!1,r=1,n=1,i=[0],a=Ls,s=Ls,o=Ls,l=Ls,u=Ls;function h(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(d),i=[0],e&&f.eachBefore(Lx),f}function d(f){var p=i[f.depth],m=f.x0+p,_=f.y0+p,y=f.x1-p,b=f.y1-p;y=f-1){var x=a[d];x.x0=m,x.y0=_,x.x1=y,x.y1=b;return}for(var k=u[d],T=p/2+k,C=d+1,M=f-1;C>>1;u[S]b-_){var L=p?(m*A+y*R)/p:y;h(d,C,R,m,_,L,b),h(C,f,A,L,_,y,b)}else{var v=p?(_*A+b*R)/p:b;h(d,C,R,m,_,y,v),h(C,f,A,m,v,y,b)}}}function yz(t,e,r,n,i){(t.depth&1?ef:hc)(t,e,r,n,i)}const mz=function t(e){function r(n,i,a,s,o){if((l=n._squarify)&&l.ratio===e)for(var l,u,h,d,f=-1,p,m=l.length,_=n.value;++f1?n:1)},r}(Nx);function bz(t){for(var e=-1,r=t.length,n,i=t[r-1],a=0;++e1&&vz(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function kz(t){if((r=t.length)<3)return null;var e,r,n=new Array(r),i=new Array(r);for(e=0;e=0;--e)u.push(t[n[a[e]][2]]);for(e=+o;ea!=o>a&&i<(s-l)*(a-u)/(o-u)+l&&(h=!h),s=l,o=u;return h}function Tz(t){for(var e=-1,r=t.length,n=t[r-1],i,a,s=n[0],o=n[1],l=0;++e1);return n+i*o*Math.sqrt(-2*Math.log(s)/s)}}return r.source=t,r}(Ir),Sz=function t(e){var r=tp.source(e);function n(){var i=r.apply(this,arguments);return function(){return Math.exp(i())}}return n.source=t,n}(Ir),Fx=function t(e){function r(n){return(n=+n)<=0?()=>0:function(){for(var i=0,a=n;a>1;--a)i+=e();return i+a*e()}}return r.source=t,r}(Ir),Az=function t(e){var r=Fx.source(e);function n(i){if((i=+i)==0)return e;var a=r(i);return function(){return a()/i}}return n.source=t,n}(Ir),Mz=function t(e){function r(n){return function(){return-Math.log1p(-e())/n}}return r.source=t,r}(Ir),Lz=function t(e){function r(n){if((n=+n)<0)throw new RangeError("invalid alpha");return n=1/-n,function(){return Math.pow(1-e(),n)}}return r.source=t,r}(Ir),Rz=function t(e){function r(n){if((n=+n)<0||n>1)throw new RangeError("invalid p");return function(){return Math.floor(e()+n)}}return r.source=t,r}(Ir),Px=function t(e){function r(n){if((n=+n)<0||n>1)throw new RangeError("invalid p");return n===0?()=>1/0:n===1?()=>1:(n=Math.log1p(-n),function(){return 1+Math.floor(Math.log1p(-e())/n)})}return r.source=t,r}(Ir),ep=function t(e){var r=tp.source(e)();function n(i,a){if((i=+i)<0)throw new RangeError("invalid k");if(i===0)return()=>0;if(a=a==null?1:+a,i===1)return()=>-Math.log1p(-e())*a;var s=(i<1?i+1:i)-1/3,o=1/(3*Math.sqrt(s)),l=i<1?()=>Math.pow(e(),1/i):()=>1;return function(){do{do var u=r(),h=1+o*u;while(h<=0);h*=h*h;var d=1-e()}while(d>=1-.0331*u*u*u*u&&Math.log(d)>=.5*u*u+s*(1-h+Math.log(h)));return s*h*l()*a}}return n.source=t,n}(Ir),qx=function t(e){var r=ep.source(e);function n(i,a){var s=r(i),o=r(a);return function(){var l=s();return l===0?0:l/(l+o())}}return n.source=t,n}(Ir),Vx=function t(e){var r=Px.source(e),n=qx.source(e);function i(a,s){return a=+a,(s=+s)>=1?()=>a:s<=0?()=>0:function(){for(var o=0,l=a,u=s;l*u>16&&l*(1-u)>16;){var h=Math.floor((l+1)*u),d=n(h,l-h+1)();d<=u?(o+=h,l-=h,u=(u-d)/(1-d)):(l=h-1,u/=d)}for(var f=u<.5,p=f?u:1-u,m=r(p),_=m(),y=0;_<=l;++y)_+=m();return o+(f?y:l-y)}}return i.source=t,i}(Ir),Iz=function t(e){function r(n,i,a){var s;return(n=+n)==0?s=o=>-Math.log(o):(n=1/n,s=o=>Math.pow(o,n)),i=i==null?0:+i,a=a==null?1:+a,function(){return i+a*s(-Math.log1p(-e()))}}return r.source=t,r}(Ir),Nz=function t(e){function r(n,i){return n=n==null?0:+n,i=i==null?1:+i,function(){return n+i*Math.tan(Math.PI*e())}}return r.source=t,r}(Ir),Bz=function t(e){function r(n,i){return n=n==null?0:+n,i=i==null?1:+i,function(){var a=e();return n+i*Math.log(a/(1-a))}}return r.source=t,r}(Ir),Dz=function t(e){var r=ep.source(e),n=Vx.source(e);function i(a){return function(){for(var s=0,o=a;o>16;){var l=Math.floor(.875*o),u=r(l)();if(u>o)return s+n(l-1,o/u)();s+=l,o-=u}for(var h=-Math.log1p(-e()),d=0;h<=o;++d)h-=Math.log1p(-e());return s+d}}return i.source=t,i}(Ir),Oz=1664525,Fz=1013904223,zx=1/4294967296;function Pz(t=Math.random()){let e=(0<=t&&t<1?t/zx:Math.abs(t))|0;return()=>(e=Oz*e+Fz|0,zx*(e>>>0))}function On(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function ta(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}const rp=Symbol("implicit");function rf(){var t=new kl,e=[],r=[],n=rp;function i(a){let s=t.get(a);if(s===void 0){if(n!==rp)return n;t.set(a,s=e.push(a)-1)}return r[s%r.length]}return i.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new kl;for(const s of a)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(a){return arguments.length?(r=Array.from(a),i):r.slice()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return rf(e,r).unknown(n)},On.apply(i,arguments),i}function np(){var t=rf().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,a,s,o=!1,l=0,u=0,h=.5;delete t.unknown;function d(){var f=e().length,p=ie&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function Yz(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?Uz:Yz,l=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(l||(l=o(t.map(n),e,r)))(n(s(f)))}return d.invert=function(f){return s(i((u||(u=o(e,t.map(n),Bn)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,nf),h()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),h()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),r=Gu,h()},d.clamp=function(f){return arguments.length?(s=f?!0:an,h()):s!==an},d.interpolate=function(f){return arguments.length?(r=f,h()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,i=p,h()}}function ap(){return af()(an,an)}function Wx(t,e,r,n){var i=wl(t,e,r),a;switch(n=Co(n==null?",f":n),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=e6(i,s))&&(n.precision=a),Jd(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=r6(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=t6(i))&&(n.precision=a-(n.type==="%")*2);break}}return gh(n)}function Oa(t){var e=t.domain;return t.ticks=function(r){var n=e();return hs(n[0],n[n.length-1],r==null?10:r)},t.tickFormat=function(r,n){var i=e();return Wx(i[0],i[i.length-1],r==null?10:r,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],o=n[a],l,u,h=10;for(o0;){if(u=oo(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function sp(){var t=ap();return t.copy=function(){return fc(t,sp())},On.apply(t,arguments),Oa(t)}function Hx(t){var e;function r(n){return n==null||isNaN(n=+n)?e:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(t=Array.from(n,nf),r):t.slice()},r.unknown=function(n){return arguments.length?(e=n,r):e},r.copy=function(){return Hx(t).unknown(e)},t=arguments.length?Array.from(t,nf):[0,1],Oa(r)}function Gx(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return aMath.pow(t,e)}function $z(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function Xx(t){return(e,r)=>-t(-e,r)}function op(t){const e=t(jx,$x),r=e.domain;let n=10,i,a;function s(){return i=$z(n),a=jz(n),r()[0]<0?(i=Xx(i),a=Xx(a),t(Wz,Hz)):t(jx,$x),e}return e.base=function(o){return arguments.length?(n=+o,s()):n},e.domain=function(o){return arguments.length?(r(o),s()):r()},e.ticks=o=>{const l=r();let u=l[0],h=l[l.length-1];const d=h0){for(;f<=p;++f)for(m=1;mh)break;b.push(_)}}else for(;f<=p;++f)for(m=n-1;m>=1;--m)if(_=f>0?m/a(-f):m*a(f),!(_h)break;b.push(_)}b.length*2{if(o==null&&(o=10),l==null&&(l=n===10?"s":","),typeof l!="function"&&(!(n%1)&&(l=Co(l)).precision==null&&(l.trim=!0),l=gh(l)),o===1/0)return l;const u=Math.max(1,n*o/e.ticks().length);return h=>{let d=h/a(Math.round(i(h)));return d*nr(Gx(r(),{floor:o=>a(Math.floor(i(o))),ceil:o=>a(Math.ceil(i(o)))})),e}function Kx(){const t=op(af()).domain([1,10]);return t.copy=()=>fc(t,Kx()).base(t.base()),On.apply(t,arguments),t}function Zx(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function Qx(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function lp(t){var e=1,r=t(Zx(e),Qx(e));return r.constant=function(n){return arguments.length?t(Zx(e=+n),Qx(e)):e},Oa(r)}function Jx(){var t=lp(af());return t.copy=function(){return fc(t,Jx()).constant(t.constant())},On.apply(t,arguments)}function t8(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function Xz(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function Kz(t){return t<0?-t*t:t*t}function cp(t){var e=t(an,an),r=1;function n(){return r===1?t(an,an):r===.5?t(Xz,Kz):t(t8(r),t8(1/r))}return e.exponent=function(i){return arguments.length?(r=+i,n()):r},Oa(e)}function up(){var t=cp(af());return t.copy=function(){return fc(t,up()).exponent(t.exponent())},On.apply(t,arguments),t}function Zz(){return up.apply(null,arguments).exponent(.5)}function e8(t){return Math.sign(t)*t*t}function Qz(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function r8(){var t=ap(),e=[0,1],r=!1,n;function i(a){var s=Qz(t(a));return isNaN(s)?n:r?Math.round(s):s}return i.invert=function(a){return t.invert(e8(a))},i.domain=function(a){return arguments.length?(t.domain(a),i):t.domain()},i.range=function(a){return arguments.length?(t.range((e=Array.from(a,nf)).map(e8)),i):e.slice()},i.rangeRound=function(a){return i.range(a).round(!0)},i.round=function(a){return arguments.length?(r=!!a,i):r},i.clamp=function(a){return arguments.length?(t.clamp(a),i):t.clamp()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return r8(t.domain(),e).round(r).clamp(t.clamp()).unknown(n)},On.apply(i,arguments),Oa(i)}function n8(){var t=[],e=[],r=[],n;function i(){var s=0,o=Math.max(1,e.length);for(r=new Array(o-1);++s0?r[o-1]:t[0],o=r?[n[r-1],e]:[n[u-1],n[u]]},s.unknown=function(l){return arguments.length&&(a=l),s},s.thresholds=function(){return n.slice()},s.copy=function(){return i8().domain([t,e]).range(i).unknown(a)},On.apply(Oa(s),arguments)}function a8(){var t=[.5],e=[0,1],r,n=1;function i(a){return a!=null&&a<=a?e[cs(t,a,0,n)]:r}return i.domain=function(a){return arguments.length?(t=Array.from(a),n=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(a){return arguments.length?(e=Array.from(a),n=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(a){var s=e.indexOf(a);return[t[s-1],t[s]]},i.unknown=function(a){return arguments.length?(r=a,i):r},i.copy=function(){return a8().domain(t).range(e).unknown(r)},On.apply(i,arguments)}var hp=new Date,fp=new Date;function xr(t,e,r,n){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=function(a){return t(a=new Date(+a)),a},i.ceil=function(a){return t(a=new Date(a-1)),e(a,1),t(a),a},i.round=function(a){var s=i(a),o=i.ceil(a);return a-s0))return l;do l.push(u=new Date(+a)),e(a,o),t(a);while(u=s)for(;t(s),!a(s);)s.setTime(s-1)},function(s,o){if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););})},r&&(i.count=function(a,s){return hp.setTime(+a),fp.setTime(+s),t(hp),t(fp),Math.floor(r(hp,fp))},i.every=function(a){return a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?function(s){return n(s)%a===0}:function(s){return i.count(0,s)%a===0}):i}),i}var sf=xr(function(){},function(t,e){t.setTime(+t+e)},function(t,e){return e-t});sf.every=function(t){return t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?xr(function(e){e.setTime(Math.floor(e/t)*t)},function(e,r){e.setTime(+e+r*t)},function(e,r){return(r-e)/t}):sf};const dp=sf;var s8=sf.range;const ea=1e3,Fn=ea*60,ra=Fn*60,Rs=ra*24,pp=Rs*7,o8=Rs*30,gp=Rs*365;var l8=xr(function(t){t.setTime(t-t.getMilliseconds())},function(t,e){t.setTime(+t+e*ea)},function(t,e){return(e-t)/ea},function(t){return t.getUTCSeconds()});const Fa=l8;var c8=l8.range,u8=xr(function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*ea)},function(t,e){t.setTime(+t+e*Fn)},function(t,e){return(e-t)/Fn},function(t){return t.getMinutes()});const yp=u8;var Jz=u8.range,h8=xr(function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*ea-t.getMinutes()*Fn)},function(t,e){t.setTime(+t+e*ra)},function(t,e){return(e-t)/ra},function(t){return t.getHours()});const mp=h8;var tY=h8.range,f8=xr(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Fn)/Rs,t=>t.getDate()-1);const dc=f8;var eY=f8.range;function Is(t){return xr(function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},function(e,r){e.setDate(e.getDate()+r*7)},function(e,r){return(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*Fn)/pp})}var Do=Is(0),pc=Is(1),d8=Is(2),p8=Is(3),Ns=Is(4),g8=Is(5),y8=Is(6),m8=Do.range,rY=pc.range,nY=d8.range,iY=p8.range,aY=Ns.range,sY=g8.range,oY=y8.range,b8=xr(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,e){t.setMonth(t.getMonth()+e)},function(t,e){return e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12},function(t){return t.getMonth()});const bp=b8;var lY=b8.range,_p=xr(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t,e){return e.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});_p.every=function(t){return!isFinite(t=Math.floor(t))||!(t>0)?null:xr(function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,r){e.setFullYear(e.getFullYear()+r*t)})};const Pa=_p;var cY=_p.range,_8=xr(function(t){t.setUTCSeconds(0,0)},function(t,e){t.setTime(+t+e*Fn)},function(t,e){return(e-t)/Fn},function(t){return t.getUTCMinutes()});const vp=_8;var uY=_8.range,v8=xr(function(t){t.setUTCMinutes(0,0,0)},function(t,e){t.setTime(+t+e*ra)},function(t,e){return(e-t)/ra},function(t){return t.getUTCHours()});const xp=v8;var hY=v8.range,x8=xr(function(t){t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCDate(t.getUTCDate()+e)},function(t,e){return(e-t)/Rs},function(t){return t.getUTCDate()-1});const gc=x8;var fY=x8.range;function Bs(t){return xr(function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},function(e,r){e.setUTCDate(e.getUTCDate()+r*7)},function(e,r){return(r-e)/pp})}var Oo=Bs(0),yc=Bs(1),k8=Bs(2),w8=Bs(3),Ds=Bs(4),T8=Bs(5),E8=Bs(6),C8=Oo.range,dY=yc.range,pY=k8.range,gY=w8.range,yY=Ds.range,mY=T8.range,bY=E8.range,S8=xr(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCMonth(t.getUTCMonth()+e)},function(t,e){return e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12},function(t){return t.getUTCMonth()});const kp=S8;var _Y=S8.range,wp=xr(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)},function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});wp.every=function(t){return!isFinite(t=Math.floor(t))||!(t>0)?null:xr(function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})};const qa=wp;var vY=wp.range;function A8(t,e,r,n,i,a){const s=[[Fa,1,ea],[Fa,5,5*ea],[Fa,15,15*ea],[Fa,30,30*ea],[a,1,Fn],[a,5,5*Fn],[a,15,15*Fn],[a,30,30*Fn],[i,1,ra],[i,3,3*ra],[i,6,6*ra],[i,12,12*ra],[n,1,Rs],[n,2,2*Rs],[r,1,pp],[e,1,o8],[e,3,3*o8],[t,1,gp]];function o(u,h,d){const f=hy).right(s,f);if(p===s.length)return t.every(wl(u/gp,h/gp,d));if(p===0)return dp.every(Math.max(wl(u,h,d),1));const[m,_]=s[f/s[p-1][2]53)return null;"w"in U||(U.w=1),"Z"in U?(j=Ep(mc(U.y,0,1)),P=j.getUTCDay(),j=P>4||P===0?yc.ceil(j):yc(j),j=gc.offset(j,(U.V-1)*7),U.y=j.getUTCFullYear(),U.m=j.getUTCMonth(),U.d=j.getUTCDate()+(U.w+6)%7):(j=Tp(mc(U.y,0,1)),P=j.getDay(),j=P>4||P===0?pc.ceil(j):pc(j),j=dc.offset(j,(U.V-1)*7),U.y=j.getFullYear(),U.m=j.getMonth(),U.d=j.getDate()+(U.w+6)%7)}else("W"in U||"U"in U)&&("w"in U||(U.w="u"in U?U.u%7:"W"in U?1:0),P="Z"in U?Ep(mc(U.y,0,1)).getUTCDay():Tp(mc(U.y,0,1)).getDay(),U.m=0,U.d="W"in U?(U.w+6)%7+U.W*7-(P+5)%7:U.w+U.U*7-(P+6)%7);return"Z"in U?(U.H+=U.Z/100|0,U.M+=U.Z%100,Ep(U)):Tp(U)}}function R(V,Q,q,U){for(var F=0,j=Q.length,P=q.length,et,at;F=P)return-1;if(et=Q.charCodeAt(F++),et===37){if(et=Q.charAt(F++),at=C[et in B8?Q.charAt(F++):et],!at||(U=at(V,q,U))<0)return-1}else if(et!=q.charCodeAt(U++))return-1}return U}function A(V,Q,q){var U=u.exec(Q.slice(q));return U?(V.p=h.get(U[0].toLowerCase()),q+U[0].length):-1}function L(V,Q,q){var U=p.exec(Q.slice(q));return U?(V.w=m.get(U[0].toLowerCase()),q+U[0].length):-1}function v(V,Q,q){var U=d.exec(Q.slice(q));return U?(V.w=f.get(U[0].toLowerCase()),q+U[0].length):-1}function B(V,Q,q){var U=b.exec(Q.slice(q));return U?(V.m=x.get(U[0].toLowerCase()),q+U[0].length):-1}function w(V,Q,q){var U=_.exec(Q.slice(q));return U?(V.m=y.get(U[0].toLowerCase()),q+U[0].length):-1}function D(V,Q,q){return R(V,e,Q,q)}function N(V,Q,q){return R(V,r,Q,q)}function z(V,Q,q){return R(V,n,Q,q)}function X(V){return s[V.getDay()]}function ct(V){return a[V.getDay()]}function J(V){return l[V.getMonth()]}function Y(V){return o[V.getMonth()]}function $(V){return i[+(V.getHours()>=12)]}function lt(V){return 1+~~(V.getMonth()/3)}function ut(V){return s[V.getUTCDay()]}function W(V){return a[V.getUTCDay()]}function tt(V){return l[V.getUTCMonth()]}function K(V){return o[V.getUTCMonth()]}function it(V){return i[+(V.getUTCHours()>=12)]}function Z(V){return 1+~~(V.getUTCMonth()/3)}return{format:function(V){var Q=M(V+="",k);return Q.toString=function(){return V},Q},parse:function(V){var Q=S(V+="",!1);return Q.toString=function(){return V},Q},utcFormat:function(V){var Q=M(V+="",T);return Q.toString=function(){return V},Q},utcParse:function(V){var Q=S(V+="",!0);return Q.toString=function(){return V},Q}}}var B8={"-":"",_:" ",0:"0"},Ar=/^\s*\d+/,xY=/^%/,kY=/[\\^$*+?|[\]().{}]/g;function Oe(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function TY(t,e,r){var n=Ar.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function EY(t,e,r){var n=Ar.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function CY(t,e,r){var n=Ar.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function SY(t,e,r){var n=Ar.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function AY(t,e,r){var n=Ar.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function D8(t,e,r){var n=Ar.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function O8(t,e,r){var n=Ar.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function MY(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function LY(t,e,r){var n=Ar.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function RY(t,e,r){var n=Ar.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function F8(t,e,r){var n=Ar.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function IY(t,e,r){var n=Ar.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function P8(t,e,r){var n=Ar.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function NY(t,e,r){var n=Ar.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function BY(t,e,r){var n=Ar.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function DY(t,e,r){var n=Ar.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function OY(t,e,r){var n=Ar.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function FY(t,e,r){var n=xY.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function PY(t,e,r){var n=Ar.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function qY(t,e,r){var n=Ar.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function q8(t,e){return Oe(t.getDate(),e,2)}function VY(t,e){return Oe(t.getHours(),e,2)}function zY(t,e){return Oe(t.getHours()%12||12,e,2)}function YY(t,e){return Oe(1+dc.count(Pa(t),t),e,3)}function V8(t,e){return Oe(t.getMilliseconds(),e,3)}function UY(t,e){return V8(t,e)+"000"}function WY(t,e){return Oe(t.getMonth()+1,e,2)}function HY(t,e){return Oe(t.getMinutes(),e,2)}function GY(t,e){return Oe(t.getSeconds(),e,2)}function jY(t){var e=t.getDay();return e===0?7:e}function $Y(t,e){return Oe(Do.count(Pa(t)-1,t),e,2)}function z8(t){var e=t.getDay();return e>=4||e===0?Ns(t):Ns.ceil(t)}function XY(t,e){return t=z8(t),Oe(Ns.count(Pa(t),t)+(Pa(t).getDay()===4),e,2)}function KY(t){return t.getDay()}function ZY(t,e){return Oe(pc.count(Pa(t)-1,t),e,2)}function QY(t,e){return Oe(t.getFullYear()%100,e,2)}function JY(t,e){return t=z8(t),Oe(t.getFullYear()%100,e,2)}function tU(t,e){return Oe(t.getFullYear()%1e4,e,4)}function eU(t,e){var r=t.getDay();return t=r>=4||r===0?Ns(t):Ns.ceil(t),Oe(t.getFullYear()%1e4,e,4)}function rU(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Oe(e/60|0,"0",2)+Oe(e%60,"0",2)}function Y8(t,e){return Oe(t.getUTCDate(),e,2)}function nU(t,e){return Oe(t.getUTCHours(),e,2)}function iU(t,e){return Oe(t.getUTCHours()%12||12,e,2)}function aU(t,e){return Oe(1+gc.count(qa(t),t),e,3)}function U8(t,e){return Oe(t.getUTCMilliseconds(),e,3)}function sU(t,e){return U8(t,e)+"000"}function oU(t,e){return Oe(t.getUTCMonth()+1,e,2)}function lU(t,e){return Oe(t.getUTCMinutes(),e,2)}function cU(t,e){return Oe(t.getUTCSeconds(),e,2)}function uU(t){var e=t.getUTCDay();return e===0?7:e}function hU(t,e){return Oe(Oo.count(qa(t)-1,t),e,2)}function W8(t){var e=t.getUTCDay();return e>=4||e===0?Ds(t):Ds.ceil(t)}function fU(t,e){return t=W8(t),Oe(Ds.count(qa(t),t)+(qa(t).getUTCDay()===4),e,2)}function dU(t){return t.getUTCDay()}function pU(t,e){return Oe(yc.count(qa(t)-1,t),e,2)}function gU(t,e){return Oe(t.getUTCFullYear()%100,e,2)}function yU(t,e){return t=W8(t),Oe(t.getUTCFullYear()%100,e,2)}function mU(t,e){return Oe(t.getUTCFullYear()%1e4,e,4)}function bU(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Ds(t):Ds.ceil(t),Oe(t.getUTCFullYear()%1e4,e,4)}function _U(){return"+0000"}function H8(){return"%"}function G8(t){return+t}function j8(t){return Math.floor(+t/1e3)}var Fo,vc,$8,of,Cp;X8({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function X8(t){return Fo=N8(t),vc=Fo.format,$8=Fo.parse,of=Fo.utcFormat,Cp=Fo.utcParse,Fo}var K8="%Y-%m-%dT%H:%M:%S.%LZ";function vU(t){return t.toISOString()}var xU=Date.prototype.toISOString?vU:of(K8);const kU=xU;function wU(t){var e=new Date(t);return isNaN(e)?null:e}var TU=+new Date("2000-01-01T00:00:00.000Z")?wU:Cp(K8);const EU=TU;function CU(t){return new Date(t)}function SU(t){return t instanceof Date?+t:+new Date(+t)}function Sp(t,e,r,n,i,a,s,o,l,u){var h=ap(),d=h.invert,f=h.domain,p=u(".%L"),m=u(":%S"),_=u("%I:%M"),y=u("%I %p"),b=u("%a %d"),x=u("%b %d"),k=u("%B"),T=u("%Y");function C(M){return(l(M)e(i/(t.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(i,a)=>Cl(t,a/n))},r.copy=function(){return e7(e).domain(t)},ta.apply(r,arguments)}function cf(){var t=0,e=.5,r=1,n=1,i,a,s,o,l,u=an,h,d=!1,f;function p(_){return isNaN(_=+_)?f:(_=.5+((_=+h(_))-a)*(n*_O5(t[t.length-1]);var a7=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(Ee);const zU=We(a7);var s7=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(Ee);const YU=We(s7);var o7=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(Ee);const UU=We(o7);var l7=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(Ee);const WU=We(l7);var c7=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(Ee);const HU=We(c7);var u7=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(Ee);const GU=We(u7);var h7=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(Ee);const jU=We(h7);var f7=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(Ee);const $U=We(f7);var d7=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(Ee);const XU=We(d7);var p7=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(Ee);const KU=We(p7);var g7=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(Ee);const ZU=We(g7);var y7=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(Ee);const QU=We(y7);var m7=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(Ee);const JU=We(m7);var b7=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(Ee);const tW=We(b7);var _7=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(Ee);const eW=We(_7);var v7=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(Ee);const rW=We(v7);var x7=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(Ee);const nW=We(x7);var k7=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(Ee);const iW=We(k7);var w7=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(Ee);const aW=We(w7);var T7=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(Ee);const sW=We(T7);var E7=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(Ee);const oW=We(E7);var C7=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(Ee);const lW=We(C7);var S7=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(Ee);const cW=We(S7);var A7=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(Ee);const uW=We(A7);var M7=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(Ee);const hW=We(M7);var L7=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(Ee);const fW=We(L7);var R7=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(Ee);const dW=We(R7);function pW(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-t*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-t*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-t*2475.67)))))))+")"}const gW=$u(Qn(300,.5,0),Qn(-240,.5,1));var yW=$u(Qn(-100,.75,.35),Qn(80,1.5,.8)),mW=$u(Qn(260,.75,.35),Qn(80,1.5,.8)),uf=Qn();function bW(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return uf.h=360*t-100,uf.s=1.5-1.5*e,uf.l=.8-.9*e,uf+""}var hf=po(),_W=Math.PI/3,vW=Math.PI*2/3;function xW(t){var e;return t=(.5-t)*Math.PI,hf.r=255*(e=Math.sin(t))*e,hf.g=255*(e=Math.sin(t+_W))*e,hf.b=255*(e=Math.sin(t+vW))*e,hf+""}function kW(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-t*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+t*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-t*6838.66)))))))+")"}function ff(t){var e=t.length;return function(r){return t[Math.max(0,Math.min(e-1,Math.floor(r*e)))]}}const wW=ff(Ee("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var TW=ff(Ee("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),EW=ff(Ee("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),CW=ff(Ee("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function xe(t){return function(){return t}}const I7=Math.abs,qr=Math.atan2,na=Math.cos,SW=Math.max,Po=Math.min,gn=Math.sin,Ge=Math.sqrt,Vr=1e-12,za=Math.PI,df=za/2,Ya=2*za;function AW(t){return t>1?0:t<-1?za:Math.acos(t)}function N7(t){return t>=1?df:t<=-1?-df:Math.asin(t)}function MW(t){return t.innerRadius}function LW(t){return t.outerRadius}function RW(t){return t.startAngle}function IW(t){return t.endAngle}function NW(t){return t&&t.padAngle}function BW(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,h=s-i,d=o-a,f=d*l-h*u;if(!(f*fD*D+N*N&&(R=L,A=v),{cx:R,cy:A,x01:-h,y01:-d,x11:R*(i/C-1),y11:A*(i/C-1)}}function gf(){var t=MW,e=LW,r=xe(0),n=null,i=RW,a=IW,s=NW,o=null;function l(){var u,h,d=+t.apply(this,arguments),f=+e.apply(this,arguments),p=i.apply(this,arguments)-df,m=a.apply(this,arguments)-df,_=I7(m-p),y=m>p;if(o||(o=u=Ra()),fVr))o.moveTo(0,0);else if(_>Ya-Vr)o.moveTo(f*na(p),f*gn(p)),o.arc(0,0,f,p,m,!y),d>Vr&&(o.moveTo(d*na(m),d*gn(m)),o.arc(0,0,d,m,p,y));else{var b=p,x=m,k=p,T=m,C=_,M=_,S=s.apply(this,arguments)/2,R=S>Vr&&(n?+n.apply(this,arguments):Ge(d*d+f*f)),A=Po(I7(f-d)/2,+r.apply(this,arguments)),L=A,v=A,B,w;if(R>Vr){var D=N7(R/d*gn(S)),N=N7(R/f*gn(S));(C-=D*2)>Vr?(D*=y?1:-1,k+=D,T-=D):(C=0,k=T=(p+m)/2),(M-=N*2)>Vr?(N*=y?1:-1,b+=N,x-=N):(M=0,b=x=(p+m)/2)}var z=f*na(b),X=f*gn(b),ct=d*na(T),J=d*gn(T);if(A>Vr){var Y=f*na(x),$=f*gn(x),lt=d*na(k),ut=d*gn(k),W;if(_Vr?v>Vr?(B=pf(lt,ut,z,X,f,v,y),w=pf(Y,$,ct,J,f,v,y),o.moveTo(B.cx+B.x01,B.cy+B.y01),vVr)||!(C>Vr)?o.lineTo(ct,J):L>Vr?(B=pf(ct,J,Y,$,d,-L,y),w=pf(z,X,lt,ut,d,-L,y),o.lineTo(B.cx+B.x01,B.cy+B.y01),L=f;--p)o.point(x[p],k[p]);o.lineEnd(),o.areaEnd()}y&&(x[d]=+t(_,d,h),k[d]=+e(_,d,h),o.point(n?+n(_,d,h):x[d],r?+r(_,d,h):k[d]))}if(b)return o=null,b+""||null}function u(){return Ua().defined(i).curve(s).context(a)}return l.x=function(h){return arguments.length?(t=typeof h=="function"?h:xe(+h),n=null,l):t},l.x0=function(h){return arguments.length?(t=typeof h=="function"?h:xe(+h),l):t},l.x1=function(h){return arguments.length?(n=h==null?null:typeof h=="function"?h:xe(+h),l):n},l.y=function(h){return arguments.length?(e=typeof h=="function"?h:xe(+h),r=null,l):e},l.y0=function(h){return arguments.length?(e=typeof h=="function"?h:xe(+h),l):e},l.y1=function(h){return arguments.length?(r=h==null?null:typeof h=="function"?h:xe(+h),l):r},l.lineX0=l.lineY0=function(){return u().x(t).y(e)},l.lineY1=function(){return u().x(t).y(r)},l.lineX1=function(){return u().x(n).y(e)},l.defined=function(h){return arguments.length?(i=typeof h=="function"?h:xe(!!h),l):i},l.curve=function(h){return arguments.length?(s=h,a!=null&&(o=s(a)),l):s},l.context=function(h){return arguments.length?(h==null?a=o=null:o=s(a=h),l):a},l}function OW(t,e){return et?1:e>=t?0:NaN}function FW(t){return t}function O7(){var t=FW,e=OW,r=null,n=xe(0),i=xe(Ya),a=xe(0);function s(o){var l,u=(o=yf(o)).length,h,d,f=0,p=new Array(u),m=new Array(u),_=+n.apply(this,arguments),y=Math.min(Ya,Math.max(-Ya,i.apply(this,arguments)-_)),b,x=Math.min(Math.abs(y)/u,a.apply(this,arguments)),k=x*(y<0?-1:1),T;for(l=0;l0&&(f+=T);for(e!=null?p.sort(function(C,M){return e(m[C],m[M])}):r!=null&&p.sort(function(C,M){return r(o[C],o[M])}),l=0,d=f?(y-u*k)/f:0;l0?T*d:0)+k,m[h]={data:o[h],index:l,value:T,startAngle:_,endAngle:b,padAngle:x};return m}return s.value=function(o){return arguments.length?(t=typeof o=="function"?o:xe(+o),s):t},s.sortValues=function(o){return arguments.length?(e=o,r=null,s):e},s.sort=function(o){return arguments.length?(r=o,e=null,s):r},s.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:xe(+o),s):n},s.endAngle=function(o){return arguments.length?(i=typeof o=="function"?o:xe(+o),s):i},s.padAngle=function(o){return arguments.length?(a=typeof o=="function"?o:xe(+o),s):a},s}var F7=Ip(yn);function P7(t){this._curve=t}P7.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};function Ip(t){function e(r){return new P7(t(r))}return e._curve=t,e}function xc(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(r){return arguments.length?e(Ip(r)):e()._curve},t}function q7(){return xc(Ua().curve(F7))}function V7(){var t=D7().curve(F7),e=t.curve,r=t.lineX0,n=t.lineX1,i=t.lineY0,a=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return xc(r())},delete t.lineX0,t.lineEndAngle=function(){return xc(n())},delete t.lineX1,t.lineInnerRadius=function(){return xc(i())},delete t.lineY0,t.lineOuterRadius=function(){return xc(a())},delete t.lineY1,t.curve=function(s){return arguments.length?e(Ip(s)):e()._curve},t}function kc(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}class z7{constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}}class PW{constructor(e){this._context=e}lineStart(){this._point=0}lineEnd(){}point(e,r){if(e=+e,r=+r,this._point++===0)this._x0=e,this._y0=r;else{const n=kc(this._x0,this._y0),i=kc(this._x0,this._y0=(this._y0+r)/2),a=kc(e,this._y0),s=kc(e,r);this._context.moveTo(...n),this._context.bezierCurveTo(...i,...a,...s)}}}function Y7(t){return new z7(t,!0)}function U7(t){return new z7(t,!1)}function qW(t){return new PW(t)}function VW(t){return t.source}function zW(t){return t.target}function mf(t){let e=VW,r=zW,n=Lp,i=Rp,a=null,s=null;function o(){let l;const u=DW.call(arguments),h=e.apply(this,u),d=r.apply(this,u);if(a==null&&(s=t(l=Ra())),s.lineStart(),u[0]=h,s.point(+n.apply(this,u),+i.apply(this,u)),u[0]=d,s.point(+n.apply(this,u),+i.apply(this,u)),s.lineEnd(),l)return s=null,l+""||null}return o.source=function(l){return arguments.length?(e=l,o):e},o.target=function(l){return arguments.length?(r=l,o):r},o.x=function(l){return arguments.length?(n=typeof l=="function"?l:xe(+l),o):n},o.y=function(l){return arguments.length?(i=typeof l=="function"?l:xe(+l),o):i},o.context=function(l){return arguments.length?(l==null?a=s=null:s=t(a=l),o):a},o}function YW(){return mf(Y7)}function UW(){return mf(U7)}function WW(){const t=mf(qW);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}const HW=Ge(3),W7={draw(t,e){const r=Ge(e+Po(e/28,.75))*.59436,n=r/2,i=n*HW;t.moveTo(0,r),t.lineTo(0,-r),t.moveTo(-i,-n),t.lineTo(i,n),t.moveTo(-i,n),t.lineTo(i,-n)}},bf={draw(t,e){const r=Ge(e/za);t.moveTo(r,0),t.arc(0,0,r,0,Ya)}},H7={draw(t,e){const r=Ge(e/5)/2;t.moveTo(-3*r,-r),t.lineTo(-r,-r),t.lineTo(-r,-3*r),t.lineTo(r,-3*r),t.lineTo(r,-r),t.lineTo(3*r,-r),t.lineTo(3*r,r),t.lineTo(r,r),t.lineTo(r,3*r),t.lineTo(-r,3*r),t.lineTo(-r,r),t.lineTo(-3*r,r),t.closePath()}},G7=Ge(1/3),GW=G7*2,j7={draw(t,e){const r=Ge(e/GW),n=r*G7;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},$7={draw(t,e){const r=Ge(e)*.62625;t.moveTo(0,-r),t.lineTo(r,0),t.lineTo(0,r),t.lineTo(-r,0),t.closePath()}},X7={draw(t,e){const r=Ge(e-Po(e/7,2))*.87559;t.moveTo(-r,0),t.lineTo(r,0),t.moveTo(0,r),t.lineTo(0,-r)}},K7={draw(t,e){const r=Ge(e),n=-r/2;t.rect(n,n,r,r)}},Z7={draw(t,e){const r=Ge(e)*.4431;t.moveTo(r,r),t.lineTo(r,-r),t.lineTo(-r,-r),t.lineTo(-r,r),t.closePath()}},jW=.8908130915292852,Q7=gn(za/10)/gn(7*za/10),$W=gn(Ya/10)*Q7,XW=-na(Ya/10)*Q7,J7={draw(t,e){const r=Ge(e*jW),n=$W*r,i=XW*r;t.moveTo(0,-r),t.lineTo(n,i);for(let a=1;a<5;++a){const s=Ya*a/5,o=na(s),l=gn(s);t.lineTo(l*r,-o*r),t.lineTo(o*n-l*i,l*n+o*i)}t.closePath()}},Np=Ge(3),tk={draw(t,e){const r=-Ge(e/(Np*3));t.moveTo(0,r*2),t.lineTo(-Np*r,-r),t.lineTo(Np*r,-r),t.closePath()}},KW=Ge(3),ek={draw(t,e){const r=Ge(e)*.6824,n=r/2,i=r*KW/2;t.moveTo(0,-r),t.lineTo(i,n),t.lineTo(-i,n),t.closePath()}},Pn=-.5,qn=Ge(3)/2,Bp=1/Ge(12),ZW=(Bp/2+1)*3,rk={draw(t,e){const r=Ge(e/ZW),n=r/2,i=r*Bp,a=n,s=r*Bp+r,o=-a,l=s;t.moveTo(n,i),t.lineTo(a,s),t.lineTo(o,l),t.lineTo(Pn*n-qn*i,qn*n+Pn*i),t.lineTo(Pn*a-qn*s,qn*a+Pn*s),t.lineTo(Pn*o-qn*l,qn*o+Pn*l),t.lineTo(Pn*n+qn*i,Pn*i-qn*n),t.lineTo(Pn*a+qn*s,Pn*s-qn*a),t.lineTo(Pn*o+qn*l,Pn*l-qn*o),t.closePath()}},nk={draw(t,e){const r=Ge(e-Po(e/6,1.7))*.6189;t.moveTo(-r,-r),t.lineTo(r,r),t.moveTo(-r,r),t.lineTo(r,-r)}},ik=[bf,H7,j7,K7,J7,tk,rk],QW=[bf,X7,nk,ek,W7,Z7,$7];function JW(t,e){let r=null;t=typeof t=="function"?t:xe(t||bf),e=typeof e=="function"?e:xe(e===void 0?64:+e);function n(){let i;if(r||(r=i=Ra()),t.apply(this,arguments).draw(r,+e.apply(this,arguments)),i)return r=null,i+""||null}return n.type=function(i){return arguments.length?(t=typeof i=="function"?i:xe(i),n):t},n.size=function(i){return arguments.length?(e=typeof i=="function"?i:xe(+i),n):e},n.context=function(i){return arguments.length?(r=i==null?null:i,n):r},n}function Wa(){}function _f(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function vf(t){this._context=t}vf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:_f(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:_f(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Os(t){return new vf(t)}function ak(t){this._context=t}ak.prototype={areaStart:Wa,areaEnd:Wa,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:_f(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function sk(t){return new ak(t)}function ok(t){this._context=t}ok.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:_f(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function lk(t){return new ok(t)}function ck(t,e){this._basis=new vf(t),this._beta=e}ck.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*t[o]+(1-this._beta)*(n+l*a),this._beta*e[o]+(1-this._beta)*(i+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const tH=function t(e){function r(n){return e===1?new vf(n):new ck(n,e)}return r.beta=function(n){return t(+n)},r}(.85);function xf(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function Dp(t,e){this._context=t,this._k=(1-e)/6}Dp.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:xf(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:xf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const eH=function t(e){function r(n){return new Dp(n,e)}return r.tension=function(n){return t(+n)},r}(0);function Op(t,e){this._context=t,this._k=(1-e)/6}Op.prototype={areaStart:Wa,areaEnd:Wa,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:xf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const rH=function t(e){function r(n){return new Op(n,e)}return r.tension=function(n){return t(+n)},r}(0);function Fp(t,e){this._context=t,this._k=(1-e)/6}Fp.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:xf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const nH=function t(e){function r(n){return new Fp(n,e)}return r.tension=function(n){return t(+n)},r}(0);function Pp(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Vr){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Vr){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/h,s=(s*u+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function uk(t,e){this._context=t,this._alpha=e}uk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Pp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const iH=function t(e){function r(n){return e?new uk(n,e):new Dp(n,0)}return r.alpha=function(n){return t(+n)},r}(.5);function hk(t,e){this._context=t,this._alpha=e}hk.prototype={areaStart:Wa,areaEnd:Wa,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Pp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const aH=function t(e){function r(n){return e?new hk(n,e):new Op(n,0)}return r.alpha=function(n){return t(+n)},r}(.5);function fk(t,e){this._context=t,this._alpha=e}fk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Pp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const sH=function t(e){function r(n){return e?new fk(n,e):new Fp(n,0)}return r.alpha=function(n){return t(+n)},r}(.5);function dk(t){this._context=t}dk.prototype={areaStart:Wa,areaEnd:Wa,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function pk(t){return new dk(t)}function gk(t){return t<0?-1:1}function yk(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),o=(a*i+s*n)/(n+i);return(gk(a)+gk(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function mk(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function qp(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-n)/3;t._context.bezierCurveTo(n+o,i+o*e,a-o,s-o*r,a,s)}function kf(t){this._context=t}kf.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:qp(this,this._t0,mk(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,qp(this,mk(this,r=yk(this,t,e)),r);break;default:qp(this,this._t0,r=yk(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function bk(t){this._context=new _k(t)}(bk.prototype=Object.create(kf.prototype)).point=function(t,e){kf.prototype.point.call(this,e,t)};function _k(t){this._context=t}_k.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}};function vk(t){return new kf(t)}function xk(t){return new bk(t)}function kk(t){this._context=t}kk.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=wk(t),i=wk(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function Ek(t){return new wf(t,.5)}function Ck(t){return new wf(t,0)}function Sk(t){return new wf(t,1)}function qo(t,e){if((s=t.length)>1)for(var r=1,n,i,a=t[e[0]],s,o=a.length;r=0;)r[e]=e;return r}function oH(t,e){return t[e]}function lH(t){const e=[];return e.key=t,e}function cH(){var t=xe([]),e=Vo,r=qo,n=oH;function i(a){var s=Array.from(t.apply(this,arguments),lH),o,l=s.length,u=-1,h;for(const d of a)for(o=0,++u;o0){for(var r,n,i=0,a=t[0].length,s;i0)for(var r,n=0,i,a,s,o,l,u=t[e[0]].length;n0?(i[0]=s,i[1]=s+=a):a<0?(i[1]=o,i[0]=o+=a):(i[0]=0,i[1]=a)}function fH(t,e){if((i=t.length)>0){for(var r=0,n=t[e[0]],i,a=n.length;r0)||!((a=(i=t[e[0]]).length)>0))){for(var r=0,n=1,i,a,s;na&&(a=i,r=e);return r}function Mk(t){var e=t.map(Lk);return Vo(t).sort(function(r,n){return e[r]-e[n]})}function Lk(t){for(var e=0,r=-1,n=t.length,i;++r()=>t;function bH(t,{sourceEvent:e,target:r,transform:n,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:n,enumerable:!0,configurable:!0},_:{value:i}})}function Ri(t,e,r){this.k=t,this.x=e,this.y=r}Ri.prototype={constructor:Ri,scale:function(t){return t===1?this:new Ri(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Ri(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ef=new Ri(1,0,0);Rk.prototype=Ri.prototype;function Rk(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Ef;return t.__zoom}function Vp(t){t.stopImmediatePropagation()}function wc(t){t.preventDefault(),t.stopImmediatePropagation()}function _H(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function vH(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function Ik(){return this.__zoom||Ef}function xH(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function kH(){return navigator.maxTouchPoints||"ontouchstart"in this}function wH(t,e,r){var n=t.invertX(e[0][0])-r[0][0],i=t.invertX(e[1][0])-r[1][0],a=t.invertY(e[0][1])-r[0][1],s=t.invertY(e[1][1])-r[1][1];return t.translate(i>n?(n+i)/2:Math.min(0,n)||Math.max(0,i),s>a?(a+s)/2:Math.min(0,a)||Math.max(0,s))}function TH(){var t=_H,e=vH,r=wH,n=xH,i=kH,a=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],o=250,l=j5,u=fs("start","zoom","end"),h,d,f,p=500,m=150,_=0,y=10;function b(D){D.property("__zoom",Ik).on("wheel.zoom",R,{passive:!1}).on("mousedown.zoom",A).on("dblclick.zoom",L).filter(i).on("touchstart.zoom",v).on("touchmove.zoom",B).on("touchend.zoom touchcancel.zoom",w).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(D,N,z,X){var ct=D.selection?D.selection():D;ct.property("__zoom",Ik),D!==ct?C(D,N,z,X):ct.interrupt().each(function(){M(this,arguments).event(X).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},b.scaleBy=function(D,N,z,X){b.scaleTo(D,function(){var ct=this.__zoom.k,J=typeof N=="function"?N.apply(this,arguments):N;return ct*J},z,X)},b.scaleTo=function(D,N,z,X){b.transform(D,function(){var ct=e.apply(this,arguments),J=this.__zoom,Y=z==null?T(ct):typeof z=="function"?z.apply(this,arguments):z,$=J.invert(Y),lt=typeof N=="function"?N.apply(this,arguments):N;return r(k(x(J,lt),Y,$),ct,s)},z,X)},b.translateBy=function(D,N,z,X){b.transform(D,function(){return r(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof z=="function"?z.apply(this,arguments):z),e.apply(this,arguments),s)},null,X)},b.translateTo=function(D,N,z,X,ct){b.transform(D,function(){var J=e.apply(this,arguments),Y=this.__zoom,$=X==null?T(J):typeof X=="function"?X.apply(this,arguments):X;return r(Ef.translate($[0],$[1]).scale(Y.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof z=="function"?-z.apply(this,arguments):-z),J,s)},X,ct)};function x(D,N){return N=Math.max(a[0],Math.min(a[1],N)),N===D.k?D:new Ri(N,D.x,D.y)}function k(D,N,z){var X=N[0]-z[0]*D.k,ct=N[1]-z[1]*D.k;return X===D.x&&ct===D.y?D:new Ri(D.k,X,ct)}function T(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function C(D,N,z,X){D.on("start.zoom",function(){M(this,arguments).event(X).start()}).on("interrupt.zoom end.zoom",function(){M(this,arguments).event(X).end()}).tween("zoom",function(){var ct=this,J=arguments,Y=M(ct,J).event(X),$=e.apply(ct,J),lt=z==null?T($):typeof z=="function"?z.apply(ct,J):z,ut=Math.max($[1][0]-$[0][0],$[1][1]-$[0][1]),W=ct.__zoom,tt=typeof N=="function"?N.apply(ct,J):N,K=l(W.invert(lt).concat(ut/W.k),tt.invert(lt).concat(ut/tt.k));return function(it){if(it===1)it=tt;else{var Z=K(it),V=ut/Z[2];it=new Ri(V,lt[0]-Z[0]*V,lt[1]-Z[1]*V)}Y.zoom(null,it)}})}function M(D,N,z){return!z&&D.__zooming||new S(D,N)}function S(D,N){this.that=D,this.args=N,this.active=0,this.sourceEvent=null,this.extent=e.apply(D,N),this.taps=0}S.prototype={event:function(D){return D&&(this.sourceEvent=D),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(D,N){return this.mouse&&D!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var N=St(this.that).datum();u.call(D,this.that,new bH(D,{sourceEvent:this.sourceEvent,target:b,type:D,transform:this.that.__zoom,dispatch:u}),N)}};function R(D,...N){if(!t.apply(this,arguments))return;var z=M(this,N).event(D),X=this.__zoom,ct=Math.max(a[0],Math.min(a[1],X.k*Math.pow(2,n.apply(this,arguments)))),J=Tn(D);if(z.wheel)(z.mouse[0][0]!==J[0]||z.mouse[0][1]!==J[1])&&(z.mouse[1]=X.invert(z.mouse[0]=J)),clearTimeout(z.wheel);else{if(X.k===ct)return;z.mouse=[J,X.invert(J)],vs(this),z.start()}wc(D),z.wheel=setTimeout(Y,m),z.zoom("mouse",r(k(x(X,ct),z.mouse[0],z.mouse[1]),z.extent,s));function Y(){z.wheel=null,z.end()}}function A(D,...N){if(f||!t.apply(this,arguments))return;var z=D.currentTarget,X=M(this,N,!0).event(D),ct=St(D.view).on("mousemove.zoom",lt,!0).on("mouseup.zoom",ut,!0),J=Tn(D,z),Y=D.clientX,$=D.clientY;Nu(D.view),Vp(D),X.mouse=[J,this.__zoom.invert(J)],vs(this),X.start();function lt(W){if(wc(W),!X.moved){var tt=W.clientX-Y,K=W.clientY-$;X.moved=tt*tt+K*K>_}X.event(W).zoom("mouse",r(k(X.that.__zoom,X.mouse[0]=Tn(W,z),X.mouse[1]),X.extent,s))}function ut(W){ct.on("mousemove.zoom mouseup.zoom",null),Bu(W.view,X.moved),wc(W),X.event(W).end()}}function L(D,...N){if(!!t.apply(this,arguments)){var z=this.__zoom,X=Tn(D.changedTouches?D.changedTouches[0]:D,this),ct=z.invert(X),J=z.k*(D.shiftKey?.5:2),Y=r(k(x(z,J),X,ct),e.apply(this,N),s);wc(D),o>0?St(this).transition().duration(o).call(C,Y,X,D):St(this).call(b.transform,Y,X,D)}}function v(D,...N){if(!!t.apply(this,arguments)){var z=D.touches,X=z.length,ct=M(this,N,D.changedTouches.length===X).event(D),J,Y,$,lt;for(Vp(D),Y=0;Y"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Cf(t,e,r){return CH()?Cf=Reflect.construct:Cf=function(i,a,s){var o=[null];o.push.apply(o,a);var l=Function.bind.apply(i,o),u=new l;return s&&zp(u,s.prototype),u},Cf.apply(null,arguments)}function ni(t){return SH(t)||AH(t)||MH(t)||LH()}function SH(t){if(Array.isArray(t))return Yp(t)}function AH(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function MH(t,e){if(!!t){if(typeof t=="string")return Yp(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yp(t,e)}}function Yp(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1?r-1:0),i=1;i/gm),HH=Ii(/^data-[\-\w.\u00B7-\uFFFF]/),GH=Ii(/^aria-[\-\w]+$/),jH=Ii(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),$H=Ii(/^(?:\w+script|data):/i),XH=Ii(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),KH=Ii(/^html$/i),ZH=function(){return typeof window>"u"?null:window},QH=function(e,r){if(Ha(e)!=="object"||typeof e.createPolicy!="function")return null;var n=null,i="data-tt-policy-suffix";r.currentScript&&r.currentScript.hasAttribute(i)&&(n=r.currentScript.getAttribute(i));var a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML:function(o){return o},createScriptURL:function(o){return o}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}};function Vk(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ZH(),e=function(st){return Vk(st)};if(e.version="2.4.0",e.removed=[],!t||!t.document||t.document.nodeType!==9)return e.isSupported=!1,e;var r=t.document,n=t.document,i=t.DocumentFragment,a=t.HTMLTemplateElement,s=t.Node,o=t.Element,l=t.NodeFilter,u=t.NamedNodeMap,h=u===void 0?t.NamedNodeMap||t.MozNamedAttrMap:u,d=t.HTMLFormElement,f=t.DOMParser,p=t.trustedTypes,m=o.prototype,_=Mf(m,"cloneNode"),y=Mf(m,"nextSibling"),b=Mf(m,"childNodes"),x=Mf(m,"parentNode");if(typeof a=="function"){var k=n.createElement("template");k.content&&k.content.ownerDocument&&(n=k.content.ownerDocument)}var T=QH(p,r),C=T?T.createHTML(""):"",M=n,S=M.implementation,R=M.createNodeIterator,A=M.createDocumentFragment,L=M.getElementsByTagName,v=r.importNode,B={};try{B=Fs(n).documentMode?n.documentMode:{}}catch{}var w={};e.isSupported=typeof x=="function"&&S&&typeof S.createHTMLDocument<"u"&&B!==9;var D=UH,N=WH,z=HH,X=GH,ct=$H,J=XH,Y=jH,$=null,lt=Me({},[].concat(ni(Ok),ni(Hp),ni(Gp),ni(jp),ni(Fk))),ut=null,W=Me({},[].concat(ni(Pk),ni($p),ni(qk),ni(Lf))),tt=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),K=null,it=null,Z=!0,V=!0,Q=!1,q=!1,U=!1,F=!1,j=!1,P=!1,et=!1,at=!1,It=!0,Lt=!1,Rt="user-content-",Ct=!0,pt=!1,mt={},vt=null,Tt=Me({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ft=null,le=Me({},["audio","video","img","source","image","track"]),Dt=null,Gt=Me({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),$t="http://www.w3.org/1998/Math/MathML",Qt="http://www.w3.org/2000/svg",we="http://www.w3.org/1999/xhtml",jt=we,Ft=!1,zt,wt=["application/xhtml+xml","text/html"],bt="text/html",Et,kt=null,Ut=n.createElement("form"),gt=function(st){return st instanceof RegExp||st instanceof Function},he=function(st){kt&&kt===st||((!st||Ha(st)!=="object")&&(st={}),st=Fs(st),zt=wt.indexOf(st.PARSER_MEDIA_TYPE)===-1?zt=bt:zt=st.PARSER_MEDIA_TYPE,Et=zt==="application/xhtml+xml"?function(At){return At}:Af,$="ALLOWED_TAGS"in st?Me({},st.ALLOWED_TAGS,Et):lt,ut="ALLOWED_ATTR"in st?Me({},st.ALLOWED_ATTR,Et):W,Dt="ADD_URI_SAFE_ATTR"in st?Me(Fs(Gt),st.ADD_URI_SAFE_ATTR,Et):Gt,ft="ADD_DATA_URI_TAGS"in st?Me(Fs(le),st.ADD_DATA_URI_TAGS,Et):le,vt="FORBID_CONTENTS"in st?Me({},st.FORBID_CONTENTS,Et):Tt,K="FORBID_TAGS"in st?Me({},st.FORBID_TAGS,Et):{},it="FORBID_ATTR"in st?Me({},st.FORBID_ATTR,Et):{},mt="USE_PROFILES"in st?st.USE_PROFILES:!1,Z=st.ALLOW_ARIA_ATTR!==!1,V=st.ALLOW_DATA_ATTR!==!1,Q=st.ALLOW_UNKNOWN_PROTOCOLS||!1,q=st.SAFE_FOR_TEMPLATES||!1,U=st.WHOLE_DOCUMENT||!1,P=st.RETURN_DOM||!1,et=st.RETURN_DOM_FRAGMENT||!1,at=st.RETURN_TRUSTED_TYPE||!1,j=st.FORCE_BODY||!1,It=st.SANITIZE_DOM!==!1,Lt=st.SANITIZE_NAMED_PROPS||!1,Ct=st.KEEP_CONTENT!==!1,pt=st.IN_PLACE||!1,Y=st.ALLOWED_URI_REGEXP||Y,jt=st.NAMESPACE||we,st.CUSTOM_ELEMENT_HANDLING&>(st.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(tt.tagNameCheck=st.CUSTOM_ELEMENT_HANDLING.tagNameCheck),st.CUSTOM_ELEMENT_HANDLING&>(st.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(tt.attributeNameCheck=st.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),st.CUSTOM_ELEMENT_HANDLING&&typeof st.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(tt.allowCustomizedBuiltInElements=st.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),q&&(V=!1),et&&(P=!0),mt&&($=Me({},ni(Fk)),ut=[],mt.html===!0&&(Me($,Ok),Me(ut,Pk)),mt.svg===!0&&(Me($,Hp),Me(ut,$p),Me(ut,Lf)),mt.svgFilters===!0&&(Me($,Gp),Me(ut,$p),Me(ut,Lf)),mt.mathMl===!0&&(Me($,jp),Me(ut,qk),Me(ut,Lf))),st.ADD_TAGS&&($===lt&&($=Fs($)),Me($,st.ADD_TAGS,Et)),st.ADD_ATTR&&(ut===W&&(ut=Fs(ut)),Me(ut,st.ADD_ATTR,Et)),st.ADD_URI_SAFE_ATTR&&Me(Dt,st.ADD_URI_SAFE_ATTR,Et),st.FORBID_CONTENTS&&(vt===Tt&&(vt=Fs(vt)),Me(vt,st.FORBID_CONTENTS,Et)),Ct&&($["#text"]=!0),U&&Me($,["html","head","body"]),$.table&&(Me($,["tbody"]),delete K.tbody),sn&&sn(st),kt=st)},yt=Me({},["mi","mo","mn","ms","mtext"]),ne=Me({},["foreignobject","desc","title","annotation-xml"]),ve=Me({},["title","style","font","a","script"]),ye=Me({},Hp);Me(ye,Gp),Me(ye,zH);var be=Me({},jp);Me(be,YH);var Te=function(st){var At=x(st);(!At||!At.tagName)&&(At={namespaceURI:we,tagName:"template"});var Nt=Af(st.tagName),Jt=Af(At.tagName);return st.namespaceURI===Qt?At.namespaceURI===we?Nt==="svg":At.namespaceURI===$t?Nt==="svg"&&(Jt==="annotation-xml"||yt[Jt]):Boolean(ye[Nt]):st.namespaceURI===$t?At.namespaceURI===we?Nt==="math":At.namespaceURI===Qt?Nt==="math"&&ne[Jt]:Boolean(be[Nt]):st.namespaceURI===we?At.namespaceURI===Qt&&!ne[Jt]||At.namespaceURI===$t&&!yt[Jt]?!1:!be[Nt]&&(ve[Nt]||!ye[Nt]):!1},Wt=function(st){Tc(e.removed,{element:st});try{st.parentNode.removeChild(st)}catch{try{st.outerHTML=C}catch{st.remove()}}},se=function(st,At){try{Tc(e.removed,{attribute:At.getAttributeNode(st),from:At})}catch{Tc(e.removed,{attribute:null,from:At})}if(At.removeAttribute(st),st==="is"&&!ut[st])if(P||et)try{Wt(At)}catch{}else try{At.setAttribute(st,"")}catch{}},me=function(st){var At,Nt;if(j)st=""+st;else{var Jt=FH(st,/^[\r\n\t ]+/);Nt=Jt&&Jt[0]}zt==="application/xhtml+xml"&&(st=''+st+"");var ze=T?T.createHTML(st):st;if(jt===we)try{At=new f().parseFromString(ze,zt)}catch{}if(!At||!At.documentElement){At=S.createDocument(jt,"template",null);try{At.documentElement.innerHTML=Ft?"":ze}catch{}}var Pe=At.body||At.documentElement;return st&&Nt&&Pe.insertBefore(n.createTextNode(Nt),Pe.childNodes[0]||null),jt===we?L.call(At,U?"html":"body")[0]:U?At.documentElement:Pe},ue=function(st){return R.call(st.ownerDocument||st,st,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT,null,!1)},_a=function(st){return st instanceof d&&(typeof st.nodeName!="string"||typeof st.textContent!="string"||typeof st.removeChild!="function"||!(st.attributes instanceof h)||typeof st.removeAttribute!="function"||typeof st.setAttribute!="function"||typeof st.namespaceURI!="string"||typeof st.insertBefore!="function")},Hr=function(st){return Ha(s)==="object"?st instanceof s:st&&Ha(st)==="object"&&typeof st.nodeType=="number"&&typeof st.nodeName=="string"},Ie=function(st,At,Nt){!w[st]||OH(w[st],function(Jt){Jt.call(e,At,Nt,kt)})},oe=function(st){var At;if(Ie("beforeSanitizeElements",st,null),_a(st)||on(/[\u0080-\uFFFF]/,st.nodeName))return Wt(st),!0;var Nt=Et(st.nodeName);if(Ie("uponSanitizeElement",st,{tagName:Nt,allowedTags:$}),st.hasChildNodes()&&!Hr(st.firstElementChild)&&(!Hr(st.content)||!Hr(st.content.firstElementChild))&&on(/<[/\w]/g,st.innerHTML)&&on(/<[/\w]/g,st.textContent)||Nt==="select"&&on(/