From b7ff702bbdc8697235d1b752b4f40d87cf1ec9e9 Mon Sep 17 00:00:00 2001 From: "Zed A. Shaw" Date: Sat, 2 Jan 2021 12:25:43 -0500 Subject: [PATCH] More writing on the rationale and critique of CSS. Started to include other demos from other frameworks like Carousel from bootstrap. --- public/build/bundle.css | 6 +- public/build/bundle.js | 4413 ++++++++++++++++++++++++++---------- public/build/bundle.js.map | 2 +- public/code/Carousel.css | 66 + public/code/Carousel.html | 14 + public/test.css | 16 + public/test.html | 25 + src/App.svelte | 1 + src/FAQ.svelte | 46 + src/Home.svelte | 377 ++- src/demos/Carousel.svelte | 95 + src/demos/index.svelte | 6 + src/routes.js | 4 + src/thumbs/Carousel.svelte | 92 + 14 files changed, 3941 insertions(+), 1222 deletions(-) create mode 100644 public/code/Carousel.css create mode 100644 public/code/Carousel.html create mode 100644 public/test.css create mode 100644 public/test.html create mode 100644 src/FAQ.svelte create mode 100644 src/demos/Carousel.svelte create mode 100644 src/thumbs/Carousel.svelte diff --git a/public/build/bundle.css b/public/build/bundle.css index 462fb80..61857d7 100644 --- a/public/build/bundle.css +++ b/public/build/bundle.css @@ -1,5 +1,5 @@ -header.svelte-khlxmc.svelte-khlxmc{}main.svelte-khlxmc.svelte-khlxmc{}footer.svelte-khlxmc.svelte-khlxmc{display:flex;flex:flex-grow;flex-direction:row}footer.svelte-khlxmc nav.svelte-khlxmc{flex:1}@import 'sass/_variables';.inactive.svelte-1iby9by{stroke:var(--color-inactive);fill:var(--color-bg)}hero.svelte-3owcui.svelte-3owcui{display:block;padding:3rem;background-color:var(--color-bg-secondary)}hero.svelte-3owcui h1.svelte-3owcui{font-size:3rem}aside.svelte-3owcui a.svelte-3owcui{--text-decoration:underline}rationale.svelte-3owcui.svelte-3owcui{display:flex;flex-direction:column;font-size:1.5em;padding-left:4rem;padding-right:4rem}h1#faq.svelte-3owcui.svelte-3owcui{font-size:3em}images.svelte-1bny7ze.svelte-1bny7ze{display:grid;grid-template-columns:1fr 1fr}figure:hover content{filter:grayscale(1) blur(6px);background-color:var(--color-bg-secondary);cursor:pointer}figure.svelte-1bny7ze.svelte-1bny7ze{padding:0.5em;position:sticky}figure.svelte-1bny7ze figcaption.svelte-1bny7ze{display:none;color:var(--color-text);font-size:6em;filter:drop-shadow(10px 5px 5px var(--color-shadow-secondary));font-weight:bold}figure.svelte-1bny7ze:hover figcaption.svelte-1bny7ze{display:flex;padding-top:2em;width:100%;justify-content:center;position:absolute;top:0;left:0}content.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{border:1px solid #ddd;display:flex;flex-direction:row;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:0rem}left.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{display:flex;flex-basis:200px;flex-direction:column;border-right:1px solid var(--color-bg-secondary);padding:1em;font-size:1.2em}middle.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{display:flex;flex:2;flex-direction:column}right.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{display:flex;flex-basis:300px;flex-direction:column;border-left:1px solid var(--color-bg-secondary)}header.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{width:100%;text-align:unset}header.svelte-bnvc6y nav.svelte-bnvc6y.svelte-bnvc6y{justify-content:left}header.svelte-bnvc6y nav h4.svelte-bnvc6y.svelte-bnvc6y{}header.svelte-bnvc6y nav back.svelte-bnvc6y.svelte-bnvc6y{padding-left:1rem;padding-right:1rem}header.svelte-bnvc6y nav name h4.svelte-bnvc6y.svelte-bnvc6y{margin:unset;padding:unset}header.svelte-bnvc6y nav name span.svelte-bnvc6y.svelte-bnvc6y{font-size:0.8em;font-weight:normal}middle.svelte-bnvc6y images.svelte-bnvc6y.svelte-bnvc6y{display:grid;grid-template-columns:1fr min-content}middle.svelte-bnvc6y images figure#background.svelte-bnvc6y.svelte-bnvc6y{z-index:-1;grid-column:1/2;grid-row:1/ span 2}figure#background.svelte-bnvc6y img.svelte-bnvc6y.svelte-bnvc6y{height:200px;min-width:500px}middle.svelte-bnvc6y images figure#avatar.svelte-bnvc6y.svelte-bnvc6y{z-index:5;grid-column:1/1;grid-row:2/2}middle.svelte-bnvc6y images figure#avatar img.svelte-bnvc6y.svelte-bnvc6y{z-index:5;position:relative;top:90px;left:10px;width:128px}figure#avatar.svelte-bnvc6y img.svelte-bnvc6y.svelte-bnvc6y{border-radius:50%;border:5px white solid}button#follow.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{padding:0.8rem;border-radius:30px;border:1px var(--color) solid;background:var(--color-bg);color:var(--color);position:relative;top:60px;left:220px}button#signup.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{border-radius:30px;padding:0.5rem;width:100%;font-size:0.9em}aside#newperson.svelte-bnvc6y p.svelte-bnvc6y.svelte-bnvc6y{font-size:0.8em;color:var(--color-inactive)}recent-media.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:1px}profile.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{margin-top:6rem;margin-left:1rem;margin-right:1rem}tweet.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{display:flex;flex-direction:row}tweet.svelte-bnvc6y post.svelte-bnvc6y.svelte-bnvc6y{padding-left:1em;flex-grow:2;margin-bottom:1rem}tweet.svelte-bnvc6y figure#avatar.svelte-bnvc6y img.svelte-bnvc6y{min-width:64px;height:64px}tweet.svelte-bnvc6y post h4.svelte-bnvc6y.svelte-bnvc6y{margin:unset}tweet.svelte-bnvc6y post p.svelte-bnvc6y.svelte-bnvc6y{margin-bottom:0.5rem}tweet.svelte-bnvc6y post actions.svelte-bnvc6y.svelte-bnvc6y{display:flex;justify-content:space-evenly}hr.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{margin-top:0.5em;margin-bottom:0.5em}aside#trending.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{background-color:var(--color-bg-secondary);padding:0px}aside#trending.svelte-bnvc6y h3.svelte-bnvc6y.svelte-bnvc6y{margin-left:1em}aside#trending.svelte-bnvc6y a.svelte-bnvc6y.svelte-bnvc6y{margin-left:1em;color:var(--color)}aside#trending.svelte-bnvc6y li.svelte-bnvc6y.svelte-bnvc6y{border-top:1px var(--color-bg) solid;list-style-type:none;list-style-position:outside;padding:0.3rem}aside#trending.svelte-bnvc6y ul.svelte-bnvc6y.svelte-bnvc6y{padding-left:0px}content.svelte-yyzz8b.svelte-yyzz8b{border:1px solid #ddd;display:flex;flex-direction:column;padding:1rem}header.svelte-yyzz8b.svelte-yyzz8b{display:flex;width:100%;flex-direction:row;padding:0}nav.svelte-yyzz8b.svelte-yyzz8b{flex:1}figure.svelte-yyzz8b.svelte-yyzz8b{display:flex;justify-content:center;margin-top:4rem}search.svelte-yyzz8b.svelte-yyzz8b{display:flex;justify-content:center;flex-direction:column;margin-top:2rem}search.svelte-yyzz8b input.svelte-yyzz8b{align-self:center;width:50ch}search.svelte-yyzz8b buttons.svelte-yyzz8b{display:flex;justify-content:space-evenly}button.svelte-yyzz8b.svelte-yyzz8b{padding:0.5rem;background-color:#ddd;border:0px;color:#000;font-weight:unset}content.svelte-87j0be.svelte-87j0be{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:1rem;--sub-color:#999;--title-color:#000}header.svelte-87j0be.svelte-87j0be{display:flex;width:100%;flex-direction:row}nav.svelte-87j0be.svelte-87j0be{flex:1}nav.svelte-87j0be input.svelte-87j0be{display:flex;flex-grow:2;margin:1rem}logo.svelte-87j0be.svelte-87j0be{font-weight:bold;font-size:1rem;color:black}button.svelte-87j0be.svelte-87j0be{background-color:var(--color-bg);color:var(--color);padding:0.5rem;border-radius:2px}hr.svelte-87j0be.svelte-87j0be{margin-top:0.5rem;margin-bottom:0.5rem}main.svelte-87j0be.svelte-87j0be{display:flex;flex-direction:row}right.svelte-87j0be.svelte-87j0be{margin-left:0.5rem}left.svelte-87j0be.svelte-87j0be{margin-right:0.5rem}figcaption.svelte-87j0be a.svelte-87j0be{color:var(--color-secondary);font-size:0.8em}figcaption.svelte-87j0be p.svelte-87j0be{font-weight:bold;margin-top:unset}figcaption.svelte-87j0be video-actions.svelte-87j0be{color:var(--sub-color);font-weight:unset;display:flex;flex-grow:1;justify-content:space-between}card.svelte-87j0be.svelte-87j0be{display:flex;margin-top:0.2rem;margin-bottom:0.2rem;--img-width:120px;--img-height:80px;--font-size:0.8em}card.svelte-87j0be img.svelte-87j0be{width:var(--img-width);height:var(--img-height)}card.svelte-87j0be info.svelte-87j0be{display:flex;flex-direction:column;padding:0.2rem;color:var(--sub-color);font-size:var(--font-size)}card.svelte-87j0be info h4.svelte-87j0be{font-weight:bold;color:var(--title-color);margin:0px}card.small.svelte-87j0be.svelte-87j0be{--img-width:100px;--img-height:70px;--font-size:0.6em}promotion.svelte-87j0be.svelte-87j0be{display:flex;flex-direction:column}promotion.svelte-87j0be nav button#subscribe.svelte-87j0be{background-color:red;color:#fff;border:unset}promotion.svelte-87j0be card.svelte-87j0be{--img-width:4rem;--img-height:4rem}promotion.svelte-87j0be content.svelte-87j0be{border:unset;padding-left:4rem}comments.svelte-87j0be nav.svelte-87j0be{justify-content:left;font-weight:unset}comments.svelte-87j0be nav sort.svelte-87j0be{color:var(--sub-color)}comments.svelte-87j0be card.svelte-87j0be{color:black;--img-width:4rem;--img-height:4rem;--font-size:1em}comments.svelte-87j0be card p.svelte-87j0be{color:black}comments.svelte-87j0be card reply.svelte-87j0be{color:var(--color)}a.svelte-cr3eg9.svelte-cr3eg9{color:var(--color)}content.svelte-cr3eg9.svelte-cr3eg9{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;padding:1rem}header.svelte-cr3eg9.svelte-cr3eg9{display:flex;width:100%;flex-direction:row}nav.svelte-cr3eg9.svelte-cr3eg9{flex:1}button.svelte-cr3eg9.svelte-cr3eg9{padding:0.5rem}profile.svelte-cr3eg9.svelte-cr3eg9{display:flex;flow-direction:row}profile.svelte-cr3eg9 figure.svelte-cr3eg9{padding-right:3rem;padding-left:3rem}profile.svelte-cr3eg9 info.svelte-cr3eg9{display:flex;flex-direction:column;width:100%}profile.svelte-cr3eg9 info p.svelte-cr3eg9{padding:0.5rem}tabs.svelte-cr3eg9 nav.svelte-cr3eg9{justify-content:center;border-top:1px black solid;border-color:var(--color-inactive)}posts.svelte-cr3eg9.svelte-cr3eg9{display:grid;grid-template-columns:1fr 1fr 1fr}pins.svelte-cr3eg9.svelte-cr3eg9{display:flex;flex-direction:row;justify-content:space-evenly;margin-top:1rem;margin-bottom:1rem}:root{--pin-red:#e60023}content.svelte-8rhjm4.svelte-8rhjm4.svelte-8rhjm4{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;padding:1rem}header.svelte-8rhjm4.svelte-8rhjm4.svelte-8rhjm4{width:100%;flex-direction:row}header.svelte-8rhjm4 nav.svelte-8rhjm4.svelte-8rhjm4{flex:1}header.svelte-8rhjm4 nav input.svelte-8rhjm4.svelte-8rhjm4{width:100%}header.svelte-8rhjm4 nav button.svelte-8rhjm4.svelte-8rhjm4{border-radius:30px;background-color:var(--color-bg-secondary);border:unset;color:var(--color-text);padding-left:1rem;padding-right:1rem}header.svelte-8rhjm4 nav button#signup.svelte-8rhjm4.svelte-8rhjm4{background-color:var(--pin-red);color:var(--color-bg)}header.svelte-8rhjm4 nav a.svelte-8rhjm4.svelte-8rhjm4{color:var(--text-color)}header.svelte-8rhjm4 logo.svelte-8rhjm4.svelte-8rhjm4{color:var(--pin-red);display:flex;font-size:1.2em}header.svelte-8rhjm4 left.svelte-8rhjm4.svelte-8rhjm4{display:flex;justify-content:space-evenly;padding:1em;flex:2}header.svelte-8rhjm4 input.svelte-8rhjm4.svelte-8rhjm4{border-radius:30px;flex:3;padding:1rem}profile.svelte-8rhjm4.svelte-8rhjm4.svelte-8rhjm4{display:flex;flex-direction:row;width:100%;justify-content:center}profile.svelte-8rhjm4 info.svelte-8rhjm4.svelte-8rhjm4{margin-right:2em}profile.svelte-8rhjm4 h1.svelte-8rhjm4.svelte-8rhjm4{margin-bottom:unset;font-size:3em}profile.svelte-8rhjm4 p.svelte-8rhjm4.svelte-8rhjm4{margin-bottom:0.5rem;margin-top:0.5rem}pins.svelte-8rhjm4.svelte-8rhjm4.svelte-8rhjm4{display:flex;flex-direction:row}pins.svelte-8rhjm4 lane figure.svelte-8rhjm4.svelte-8rhjm4{margin:0.5rem}pins.svelte-8rhjm4 lane figure.svelte-8rhjm4 img.svelte-8rhjm4{border-radius:15px}pins.svelte-8rhjm4 lane.svelte-8rhjm4.svelte-8rhjm4{display:flex;flex-direction:column}a.svelte-i1di9h.svelte-i1di9h{color:var(--color)}content.svelte-i1di9h.svelte-i1di9h{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:1rem;padding-top:0px}header.svelte-i1di9h.svelte-i1di9h{display:flex;width:100%;flex-direction:row}header.svelte-i1di9h nav.svelte-i1di9h{flex:1}header.svelte-i1di9h nav input.svelte-i1di9h{display:flex;flex-grow:2;margin:1rem}header.svelte-i1di9h nav button.svelte-i1di9h{background-color:var(--color-bg);color:var(--color);padding:0.5rem}profile.svelte-i1di9h.svelte-i1di9h{display:flex;flow-direction:row}profile.svelte-i1di9h figure.svelte-i1di9h{padding-right:3rem;padding-left:3rem}profile.svelte-i1di9h info.svelte-i1di9h{display:flex;flex-direction:column;width:100%}profile.svelte-i1di9h info p.svelte-i1di9h{padding:0.5rem}posts.svelte-i1di9h.svelte-i1di9h{display:grid;grid-template-columns:1fr 1fr 1fr}posts.svelte-i1di9h figure.svelte-i1di9h{}related.svelte-i1di9h.svelte-i1di9h{display:flex;flex-direction:row;justify-content:space-evenly;margin-top:1rem;margin-bottom:1rem}nav.svelte-i1di9h a.svelte-i1di9h,a.svelte-i1di9h.svelte-i1di9h:visited,a.svelte-i1di9h.svelte-i1di9h:active{text-decoration:none;color:var(--color-text)}content.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;--sub-color:#999;--title-color:#000}main.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{display:flex;flex-direction:column}header.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{display:flex;width:100%;flex-direction:row}header.svelte-9c6eed nav.svelte-9c6eed.svelte-9c6eed{flex:1;margin-left:1rem;margin-right:1rem}header.svelte-9c6eed nav input.svelte-9c6eed.svelte-9c6eed{display:flex;flex-grow:2;margin:1rem}header.svelte-9c6eed nav.svelte-9c6eed button.svelte-9c6eed{background-color:var(--color-bg);color:var(--color);padding:0.5rem}hr.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{margin-top:0.5rem;margin-bottom:0.5rem}figcaption.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{padding:1rem}figcaption.svelte-9c6eed a.svelte-9c6eed.svelte-9c6eed{color:var(--color-secondary);font-size:0.8em}figcaption.svelte-9c6eed p.svelte-9c6eed.svelte-9c6eed{font-weight:bold;margin-top:unset}figcaption.svelte-9c6eed video-actions.svelte-9c6eed.svelte-9c6eed{color:var(--sub-color);font-weight:unset;display:flex;flex-grow:1;justify-content:space-between}card.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{display:flex;margin-top:0.2rem;margin-bottom:0.2rem;--img-width:120px;--img-height:80px;--font-size:0.8em}card.svelte-9c6eed img.svelte-9c6eed.svelte-9c6eed{width:var(--img-width);height:var(--img-height)}card.svelte-9c6eed info.svelte-9c6eed.svelte-9c6eed{display:flex;flex-direction:column;padding:0.2rem;color:var(--sub-color);font-size:var(--font-size)}card.svelte-9c6eed info h4.svelte-9c6eed.svelte-9c6eed{font-weight:bold;color:var(--title-color);margin:0px}promotion.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{display:flex;flex-direction:column}promotion.svelte-9c6eed card.svelte-9c6eed.svelte-9c6eed{--img-width:4rem;--img-height:4rem}promotion.svelte-9c6eed content.svelte-9c6eed.svelte-9c6eed{border:unset;padding-left:4rem}comments.svelte-9c6eed nav.svelte-9c6eed.svelte-9c6eed{justify-content:left;font-weight:unset}comments.svelte-9c6eed nav sort.svelte-9c6eed.svelte-9c6eed{color:var(--sub-color)}comments.svelte-9c6eed card.svelte-9c6eed.svelte-9c6eed{color:black;--img-width:4rem;--img-height:4rem;--font-size:1em}comments.svelte-9c6eed card p.svelte-9c6eed.svelte-9c6eed{color:black}comments.svelte-9c6eed card reply.svelte-9c6eed.svelte-9c6eed{color:var(--color)}lower.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{padding:1rem}nav#vote-nav.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{justify-content:flex-end}nav.svelte-9c6eed a.svelte-9c6eed.svelte-9c6eed,a.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed:visited,a.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed:active{text-decoration:none;color:var(--color-text)}content.svelte-t7gl8c{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}content.svelte-12f1gxf.svelte-12f1gxf{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}card.svelte-12f1gxf.svelte-12f1gxf{display:flex;flex-direction:column;border:1px solid #eee;width:min-content}card.svelte-12f1gxf top img.svelte-12f1gxf{padding:0;margin:0;width:480px}card.svelte-12f1gxf middle.svelte-12f1gxf{padding-left:0.5rem;padding-right:0.5rem;display:flex;flex-direction:column;justify-content:flex-start}card.svelte-12f1gxf middle h4.svelte-12f1gxf{margin:0}card.svelte-12f1gxf bottom.svelte-12f1gxf{flex-shrink:0}card.svelte-12f1gxf bottom button.svelte-12f1gxf{padding:0.2rem}content.svelte-fwzpwr.svelte-fwzpwr{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}tile.svelte-fwzpwr.svelte-fwzpwr{padding:0.5rem;display:flex;flex-direction:row;border:1px solid #eee;max-width:50vh}tile.svelte-fwzpwr middle.svelte-fwzpwr{padding-left:0.5rem;padding-right:0.5rem;display:flex;flex-direction:column;justify-content:flex-start;flex-shrink:3}tile.svelte-fwzpwr middle h4.svelte-fwzpwr{margin-top:0;margin-bottom:0}tile.svelte-fwzpwr right.svelte-fwzpwr{flex-shrink:0}tile.svelte-fwzpwr right button.svelte-fwzpwr{padding:0.2rem}content.svelte-1lajyim.svelte-1lajyim{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}panel.svelte-1lajyim.svelte-1lajyim{display:flex;flex-direction:column;border:1px solid #eee;width:min-content}panel.svelte-1lajyim top.svelte-1lajyim{width:480px;padding:0.5rem}panel.svelte-1lajyim middle.svelte-1lajyim{padding-left:0.5rem;padding-right:0.5rem;display:flex;flex-direction:column;justify-content:flex-start}panel.svelte-1lajyim bottom.svelte-1lajyim{flex-shrink:0;display:flex;flex-direction:row;justify-content:space-evenly}panel.svelte-1lajyim bottom button.svelte-1lajyim{display:flex;margin:0;border-radius:unset;width:100%;justify-content:space-evenly}button.svelte-1lajyim.svelte-1lajyim:hover{filter:invert(20%)}button#cancel.svelte-1lajyim.svelte-1lajyim{background:unset;color:var(--color-text)}content.svelte-cwnhgy{display:flex;justify-content:center}button.svelte-cwnhgy{padding:5em}modal.svelte-cwnhgy{display:flex;position:fixed;align-items:center;justify-content:center;top:0;left:0;right:0;bottom:0;z-index:10;background:rgba(244,244,244,0.75);padding:0px}modal-content.svelte-cwnhgy{flex-direction:column;background:white;border:1px solid var(--color-accent);border-radius:5px;max-height:300px;min-height:300px;max-width:300px;width:100%;z-index:20;padding:0.5em}content.svelte-1ofkzoq.svelte-1ofkzoq{display:flex;flex-direction:column}nav-bar.svelte-1ofkzoq.svelte-1ofkzoq{display:flex;flex-direction:row;width:100%;justify-content:space-evenly;padding:1em;border:1px solid var(--color-accent);margin-bottom:1em}nav-bar.svelte-1ofkzoq middle.svelte-1ofkzoq{display:flex;flex:2;justify-content:center;padding-left:1em;padding-right:1em}nav-bar.svelte-1ofkzoq middle input.svelte-1ofkzoq{width:100%}.alternate.svelte-1ofkzoq.svelte-1ofkzoq{background-color:#ddd}content.svelte-j1ijok.svelte-j1ijok{display:flex;flex-direction:column}tabs.svelte-j1ijok.svelte-j1ijok{margin-top:1em;display:flex;justify-content:space-evenly;border-bottom:var(--color-accent)}tabs.svelte-j1ijok a.svelte-j1ijok{text-decoration:none;color:var(--color-text);border-bottom:1px solid var(--color-accent);border-width:thin;width:100%;text-align:center;padding:2rem 0rem 0.5rem}tabs.svelte-j1ijok a.svelte-j1ijok:hover{box-shadow:-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black}tabs.svelte-j1ijok a.active.svelte-j1ijok{background-color:var(--color-bg-secondary)}panel.svelte-j1ijok.svelte-j1ijok{display:none}panel.active.svelte-j1ijok.svelte-j1ijok{border:1px solid var(--color-accent);display:flex;flex-direction:column;padding:1em}content.svelte-1gt8gt4.svelte-1gt8gt4{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}calendar.svelte-1gt8gt4.svelte-1gt8gt4{display:grid;grid-template-columns:repeat(7, 1fr);grid-template-rows:auto;max-width:300px;outline:1px solid var(--color-accent)}calendar.svelte-1gt8gt4 day.svelte-1gt8gt4{background-color:var(--color-bg-secondary);font-weight:bold;padding-left:0.3rem;padding-right:0.3rem}calendar.svelte-1gt8gt4 month.svelte-1gt8gt4{grid-column:span 7;font-size:1.5em;font-weight:bold;text-align:center}calendar.svelte-1gt8gt4 date.svelte-1gt8gt4{padding:0.3rem}calendar.svelte-1gt8gt4 date.svelte-1gt8gt4:hover{background-color:var(--color-bg-secondary)}content.svelte-1c5ml3s.svelte-1c5ml3s{display:flex;flex-direction:column}icecream.svelte-1c5ml3s.svelte-1c5ml3s{position:relative}icecream.svelte-1c5ml3s background.svelte-1c5ml3s{position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1}icecream.svelte-1c5ml3s background img.svelte-1c5ml3s{width:100vh}overlay.svelte-1c5ml3s.svelte-1c5ml3s{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:auto;grid-template-areas:"topleft topright" +header.svelte-khlxmc.svelte-khlxmc{}main.svelte-khlxmc.svelte-khlxmc{}footer.svelte-khlxmc.svelte-khlxmc{display:flex;flex:flex-grow;flex-direction:row}footer.svelte-khlxmc nav.svelte-khlxmc{flex:1}@import 'sass/_variables';.inactive.svelte-1iby9by{stroke:var(--color-inactive);fill:var(--color-bg)}hero.svelte-1nza6iy.svelte-1nza6iy{display:block;padding:3rem;background-color:var(--color-bg-secondary)}hero.svelte-1nza6iy h1.svelte-1nza6iy{font-size:3rem}aside.svelte-1nza6iy a.svelte-1nza6iy{--text-decoration:underline}rationale.svelte-1nza6iy.svelte-1nza6iy{display:flex;flex-direction:column;font-size:1.5em;padding-left:4rem;padding-right:4rem}quote.svelte-1nza6iy.svelte-1nza6iy{box-shadow:4px 4px 4px 4px var(--color-shadow);padding:1em;font-style:italic;background-color:var(--color-bg-secondary)}pre.svelte-1nza6iy code.svelte-1nza6iy{font-size:0.8em}h1.svelte-c8ddwn{font-size:3em}images.svelte-1bny7ze.svelte-1bny7ze{display:grid;grid-template-columns:1fr 1fr}figure:hover content{filter:grayscale(1) blur(6px);background-color:var(--color-bg-secondary);cursor:pointer}figure.svelte-1bny7ze.svelte-1bny7ze{padding:0.5em;position:sticky}figure.svelte-1bny7ze figcaption.svelte-1bny7ze{display:none;color:var(--color-text);font-size:6em;filter:drop-shadow(10px 5px 5px var(--color-shadow-secondary));font-weight:bold}figure.svelte-1bny7ze:hover figcaption.svelte-1bny7ze{display:flex;padding-top:2em;width:100%;justify-content:center;position:absolute;top:0;left:0}:root{--pin-red:#e60023}content.svelte-8rhjm4.svelte-8rhjm4.svelte-8rhjm4{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;padding:1rem}header.svelte-8rhjm4.svelte-8rhjm4.svelte-8rhjm4{width:100%;flex-direction:row}header.svelte-8rhjm4 nav.svelte-8rhjm4.svelte-8rhjm4{flex:1}header.svelte-8rhjm4 nav input.svelte-8rhjm4.svelte-8rhjm4{width:100%}header.svelte-8rhjm4 nav button.svelte-8rhjm4.svelte-8rhjm4{border-radius:30px;background-color:var(--color-bg-secondary);border:unset;color:var(--color-text);padding-left:1rem;padding-right:1rem}header.svelte-8rhjm4 nav button#signup.svelte-8rhjm4.svelte-8rhjm4{background-color:var(--pin-red);color:var(--color-bg)}header.svelte-8rhjm4 nav a.svelte-8rhjm4.svelte-8rhjm4{color:var(--text-color)}header.svelte-8rhjm4 logo.svelte-8rhjm4.svelte-8rhjm4{color:var(--pin-red);display:flex;font-size:1.2em}header.svelte-8rhjm4 left.svelte-8rhjm4.svelte-8rhjm4{display:flex;justify-content:space-evenly;padding:1em;flex:2}header.svelte-8rhjm4 input.svelte-8rhjm4.svelte-8rhjm4{border-radius:30px;flex:3;padding:1rem}profile.svelte-8rhjm4.svelte-8rhjm4.svelte-8rhjm4{display:flex;flex-direction:row;width:100%;justify-content:center}profile.svelte-8rhjm4 info.svelte-8rhjm4.svelte-8rhjm4{margin-right:2em}profile.svelte-8rhjm4 h1.svelte-8rhjm4.svelte-8rhjm4{margin-bottom:unset;font-size:3em}profile.svelte-8rhjm4 p.svelte-8rhjm4.svelte-8rhjm4{margin-bottom:0.5rem;margin-top:0.5rem}pins.svelte-8rhjm4.svelte-8rhjm4.svelte-8rhjm4{display:flex;flex-direction:row}pins.svelte-8rhjm4 lane figure.svelte-8rhjm4.svelte-8rhjm4{margin:0.5rem}pins.svelte-8rhjm4 lane figure.svelte-8rhjm4 img.svelte-8rhjm4{border-radius:15px}pins.svelte-8rhjm4 lane.svelte-8rhjm4.svelte-8rhjm4{display:flex;flex-direction:column}a.svelte-i1di9h.svelte-i1di9h{color:var(--color)}content.svelte-i1di9h.svelte-i1di9h{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:1rem;padding-top:0px}header.svelte-i1di9h.svelte-i1di9h{display:flex;width:100%;flex-direction:row}header.svelte-i1di9h nav.svelte-i1di9h{flex:1}header.svelte-i1di9h nav input.svelte-i1di9h{display:flex;flex-grow:2;margin:1rem}header.svelte-i1di9h nav button.svelte-i1di9h{background-color:var(--color-bg);color:var(--color);padding:0.5rem}profile.svelte-i1di9h.svelte-i1di9h{display:flex;flow-direction:row}profile.svelte-i1di9h figure.svelte-i1di9h{padding-right:3rem;padding-left:3rem}profile.svelte-i1di9h info.svelte-i1di9h{display:flex;flex-direction:column;width:100%}profile.svelte-i1di9h info p.svelte-i1di9h{padding:0.5rem}posts.svelte-i1di9h.svelte-i1di9h{display:grid;grid-template-columns:1fr 1fr 1fr}posts.svelte-i1di9h figure.svelte-i1di9h{}related.svelte-i1di9h.svelte-i1di9h{display:flex;flex-direction:row;justify-content:space-evenly;margin-top:1rem;margin-bottom:1rem}nav.svelte-i1di9h a.svelte-i1di9h,a.svelte-i1di9h.svelte-i1di9h:visited,a.svelte-i1di9h.svelte-i1di9h:active{text-decoration:none;color:var(--color-text)}content.svelte-yyzz8b.svelte-yyzz8b{border:1px solid #ddd;display:flex;flex-direction:column;padding:1rem}header.svelte-yyzz8b.svelte-yyzz8b{display:flex;width:100%;flex-direction:row;padding:0}nav.svelte-yyzz8b.svelte-yyzz8b{flex:1}figure.svelte-yyzz8b.svelte-yyzz8b{display:flex;justify-content:center;margin-top:4rem}search.svelte-yyzz8b.svelte-yyzz8b{display:flex;justify-content:center;flex-direction:column;margin-top:2rem}search.svelte-yyzz8b input.svelte-yyzz8b{align-self:center;width:50ch}search.svelte-yyzz8b buttons.svelte-yyzz8b{display:flex;justify-content:space-evenly}button.svelte-yyzz8b.svelte-yyzz8b{padding:0.5rem;background-color:#ddd;border:0px;color:#000;font-weight:unset}content.svelte-87j0be.svelte-87j0be{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:1rem;--sub-color:#999;--title-color:#000}header.svelte-87j0be.svelte-87j0be{display:flex;width:100%;flex-direction:row}nav.svelte-87j0be.svelte-87j0be{flex:1}nav.svelte-87j0be input.svelte-87j0be{display:flex;flex-grow:2;margin:1rem}logo.svelte-87j0be.svelte-87j0be{font-weight:bold;font-size:1rem;color:black}button.svelte-87j0be.svelte-87j0be{background-color:var(--color-bg);color:var(--color);padding:0.5rem;border-radius:2px}hr.svelte-87j0be.svelte-87j0be{margin-top:0.5rem;margin-bottom:0.5rem}main.svelte-87j0be.svelte-87j0be{display:flex;flex-direction:row}right.svelte-87j0be.svelte-87j0be{margin-left:0.5rem}left.svelte-87j0be.svelte-87j0be{margin-right:0.5rem}figcaption.svelte-87j0be a.svelte-87j0be{color:var(--color-secondary);font-size:0.8em}figcaption.svelte-87j0be p.svelte-87j0be{font-weight:bold;margin-top:unset}figcaption.svelte-87j0be video-actions.svelte-87j0be{color:var(--sub-color);font-weight:unset;display:flex;flex-grow:1;justify-content:space-between}card.svelte-87j0be.svelte-87j0be{display:flex;margin-top:0.2rem;margin-bottom:0.2rem;--img-width:120px;--img-height:80px;--font-size:0.8em}card.svelte-87j0be img.svelte-87j0be{width:var(--img-width);height:var(--img-height)}card.svelte-87j0be info.svelte-87j0be{display:flex;flex-direction:column;padding:0.2rem;color:var(--sub-color);font-size:var(--font-size)}card.svelte-87j0be info h4.svelte-87j0be{font-weight:bold;color:var(--title-color);margin:0px}card.small.svelte-87j0be.svelte-87j0be{--img-width:100px;--img-height:70px;--font-size:0.6em}promotion.svelte-87j0be.svelte-87j0be{display:flex;flex-direction:column}promotion.svelte-87j0be nav button#subscribe.svelte-87j0be{background-color:red;color:#fff;border:unset}promotion.svelte-87j0be card.svelte-87j0be{--img-width:4rem;--img-height:4rem}promotion.svelte-87j0be content.svelte-87j0be{border:unset;padding-left:4rem}comments.svelte-87j0be nav.svelte-87j0be{justify-content:left;font-weight:unset}comments.svelte-87j0be nav sort.svelte-87j0be{color:var(--sub-color)}comments.svelte-87j0be card.svelte-87j0be{color:black;--img-width:4rem;--img-height:4rem;--font-size:1em}comments.svelte-87j0be card p.svelte-87j0be{color:black}comments.svelte-87j0be card reply.svelte-87j0be{color:var(--color)}a.svelte-cr3eg9.svelte-cr3eg9{color:var(--color)}content.svelte-cr3eg9.svelte-cr3eg9{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;padding:1rem}header.svelte-cr3eg9.svelte-cr3eg9{display:flex;width:100%;flex-direction:row}nav.svelte-cr3eg9.svelte-cr3eg9{flex:1}button.svelte-cr3eg9.svelte-cr3eg9{padding:0.5rem}profile.svelte-cr3eg9.svelte-cr3eg9{display:flex;flow-direction:row}profile.svelte-cr3eg9 figure.svelte-cr3eg9{padding-right:3rem;padding-left:3rem}profile.svelte-cr3eg9 info.svelte-cr3eg9{display:flex;flex-direction:column;width:100%}profile.svelte-cr3eg9 info p.svelte-cr3eg9{padding:0.5rem}tabs.svelte-cr3eg9 nav.svelte-cr3eg9{justify-content:center;border-top:1px black solid;border-color:var(--color-inactive)}posts.svelte-cr3eg9.svelte-cr3eg9{display:grid;grid-template-columns:1fr 1fr 1fr}pins.svelte-cr3eg9.svelte-cr3eg9{display:flex;flex-direction:row;justify-content:space-evenly;margin-top:1rem;margin-bottom:1rem}content.svelte-12f1gxf.svelte-12f1gxf{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}card.svelte-12f1gxf.svelte-12f1gxf{display:flex;flex-direction:column;border:1px solid #eee;width:min-content}card.svelte-12f1gxf top img.svelte-12f1gxf{padding:0;margin:0;width:480px}card.svelte-12f1gxf middle.svelte-12f1gxf{padding-left:0.5rem;padding-right:0.5rem;display:flex;flex-direction:column;justify-content:flex-start}card.svelte-12f1gxf middle h4.svelte-12f1gxf{margin:0}card.svelte-12f1gxf bottom.svelte-12f1gxf{flex-shrink:0}card.svelte-12f1gxf bottom button.svelte-12f1gxf{padding:0.2rem}content.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;--sub-color:#999;--title-color:#000}main.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{display:flex;flex-direction:column}header.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{display:flex;width:100%;flex-direction:row}header.svelte-9c6eed nav.svelte-9c6eed.svelte-9c6eed{flex:1;margin-left:1rem;margin-right:1rem}header.svelte-9c6eed nav input.svelte-9c6eed.svelte-9c6eed{display:flex;flex-grow:2;margin:1rem}header.svelte-9c6eed nav.svelte-9c6eed button.svelte-9c6eed{background-color:var(--color-bg);color:var(--color);padding:0.5rem}hr.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{margin-top:0.5rem;margin-bottom:0.5rem}figcaption.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{padding:1rem}figcaption.svelte-9c6eed a.svelte-9c6eed.svelte-9c6eed{color:var(--color-secondary);font-size:0.8em}figcaption.svelte-9c6eed p.svelte-9c6eed.svelte-9c6eed{font-weight:bold;margin-top:unset}figcaption.svelte-9c6eed video-actions.svelte-9c6eed.svelte-9c6eed{color:var(--sub-color);font-weight:unset;display:flex;flex-grow:1;justify-content:space-between}card.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{display:flex;margin-top:0.2rem;margin-bottom:0.2rem;--img-width:120px;--img-height:80px;--font-size:0.8em}card.svelte-9c6eed img.svelte-9c6eed.svelte-9c6eed{width:var(--img-width);height:var(--img-height)}card.svelte-9c6eed info.svelte-9c6eed.svelte-9c6eed{display:flex;flex-direction:column;padding:0.2rem;color:var(--sub-color);font-size:var(--font-size)}card.svelte-9c6eed info h4.svelte-9c6eed.svelte-9c6eed{font-weight:bold;color:var(--title-color);margin:0px}promotion.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{display:flex;flex-direction:column}promotion.svelte-9c6eed card.svelte-9c6eed.svelte-9c6eed{--img-width:4rem;--img-height:4rem}promotion.svelte-9c6eed content.svelte-9c6eed.svelte-9c6eed{border:unset;padding-left:4rem}comments.svelte-9c6eed nav.svelte-9c6eed.svelte-9c6eed{justify-content:left;font-weight:unset}comments.svelte-9c6eed nav sort.svelte-9c6eed.svelte-9c6eed{color:var(--sub-color)}comments.svelte-9c6eed card.svelte-9c6eed.svelte-9c6eed{color:black;--img-width:4rem;--img-height:4rem;--font-size:1em}comments.svelte-9c6eed card p.svelte-9c6eed.svelte-9c6eed{color:black}comments.svelte-9c6eed card reply.svelte-9c6eed.svelte-9c6eed{color:var(--color)}lower.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{padding:1rem}nav#vote-nav.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed{justify-content:flex-end}nav.svelte-9c6eed a.svelte-9c6eed.svelte-9c6eed,a.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed:visited,a.svelte-9c6eed.svelte-9c6eed.svelte-9c6eed:active{text-decoration:none;color:var(--color-text)}content.svelte-1lajyim.svelte-1lajyim{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}panel.svelte-1lajyim.svelte-1lajyim{display:flex;flex-direction:column;border:1px solid #eee;width:min-content}panel.svelte-1lajyim top.svelte-1lajyim{width:480px;padding:0.5rem}panel.svelte-1lajyim middle.svelte-1lajyim{padding-left:0.5rem;padding-right:0.5rem;display:flex;flex-direction:column;justify-content:flex-start}panel.svelte-1lajyim bottom.svelte-1lajyim{flex-shrink:0;display:flex;flex-direction:row;justify-content:space-evenly}panel.svelte-1lajyim bottom button.svelte-1lajyim{display:flex;margin:0;border-radius:unset;width:100%;justify-content:space-evenly}button.svelte-1lajyim.svelte-1lajyim:hover{filter:invert(20%)}button#cancel.svelte-1lajyim.svelte-1lajyim{background:unset;color:var(--color-text)}content.svelte-cwnhgy{display:flex;justify-content:center}button.svelte-cwnhgy{padding:5em}modal.svelte-cwnhgy{display:flex;position:fixed;align-items:center;justify-content:center;top:0;left:0;right:0;bottom:0;z-index:10;background:rgba(244,244,244,0.75);padding:0px}modal-content.svelte-cwnhgy{flex-direction:column;background:white;border:1px solid var(--color-accent);border-radius:5px;max-height:300px;min-height:300px;max-width:300px;width:100%;z-index:20;padding:0.5em}content.svelte-t7gl8c{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}content.svelte-1gt8gt4.svelte-1gt8gt4{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}calendar.svelte-1gt8gt4.svelte-1gt8gt4{display:grid;grid-template-columns:repeat(7, 1fr);grid-template-rows:auto;max-width:300px;outline:1px solid var(--color-accent)}calendar.svelte-1gt8gt4 day.svelte-1gt8gt4{background-color:var(--color-bg-secondary);font-weight:bold;padding-left:0.3rem;padding-right:0.3rem}calendar.svelte-1gt8gt4 month.svelte-1gt8gt4{grid-column:span 7;font-size:1.5em;font-weight:bold;text-align:center}calendar.svelte-1gt8gt4 date.svelte-1gt8gt4{padding:0.3rem}calendar.svelte-1gt8gt4 date.svelte-1gt8gt4:hover{background-color:var(--color-bg-secondary)}content.svelte-j1ijok.svelte-j1ijok{display:flex;flex-direction:column}tabs.svelte-j1ijok.svelte-j1ijok{margin-top:1em;display:flex;justify-content:space-evenly;border-bottom:var(--color-accent)}tabs.svelte-j1ijok a.svelte-j1ijok{text-decoration:none;color:var(--color-text);border-bottom:1px solid var(--color-accent);border-width:thin;width:100%;text-align:center;padding:2rem 0rem 0.5rem}tabs.svelte-j1ijok a.svelte-j1ijok:hover{box-shadow:-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black}tabs.svelte-j1ijok a.active.svelte-j1ijok{background-color:var(--color-bg-secondary)}panel.svelte-j1ijok.svelte-j1ijok{display:none}panel.active.svelte-j1ijok.svelte-j1ijok{border:1px solid var(--color-accent);display:flex;flex-direction:column;padding:1em}content.svelte-12uwa5s.svelte-12uwa5s{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;padding:1rem}carousel.svelte-12uwa5s.svelte-12uwa5s{outline:2px solid green;position:relative}carousel.svelte-12uwa5s figure.svelte-12uwa5s{display:none}carousel.svelte-12uwa5s figure.active.svelte-12uwa5s{display:flex;position:relative;flex-direction:column;outline:1px solid red}carousel.svelte-12uwa5s figure img.svelte-12uwa5s{width:100%}carousel.svelte-12uwa5s figure figcaption.svelte-12uwa5s{position:absolute;bottom:0;left:0;width:100%;text-align:center;font-size:2em;background:var(--color-bg-secondary);opacity:0%}carousel.svelte-12uwa5s figure figcaption.svelte-12uwa5s:hover{opacity:90%}carousel.svelte-12uwa5s next.svelte-12uwa5s,prev.svelte-12uwa5s.svelte-12uwa5s{position:absolute;bottom:0;opacity:0%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center}carousel.svelte-12uwa5s next.svelte-12uwa5s{right:0}carousel.svelte-12uwa5s prev.svelte-12uwa5s{left:0}carousel.svelte-12uwa5s next.svelte-12uwa5s:hover,prev.svelte-12uwa5s.svelte-12uwa5s:hover{opacity:60%;background-color:var(--color-bg)}content.svelte-fwzpwr.svelte-fwzpwr{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}tile.svelte-fwzpwr.svelte-fwzpwr{padding:0.5rem;display:flex;flex-direction:row;border:1px solid #eee;max-width:50vh}tile.svelte-fwzpwr middle.svelte-fwzpwr{padding-left:0.5rem;padding-right:0.5rem;display:flex;flex-direction:column;justify-content:flex-start;flex-shrink:3}tile.svelte-fwzpwr middle h4.svelte-fwzpwr{margin-top:0;margin-bottom:0}tile.svelte-fwzpwr right.svelte-fwzpwr{flex-shrink:0}tile.svelte-fwzpwr right button.svelte-fwzpwr{padding:0.2rem}content.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{border:1px solid #ddd;display:flex;flex-direction:row;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:0rem}left.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{display:flex;flex-basis:200px;flex-direction:column;border-right:1px solid var(--color-bg-secondary);padding:1em;font-size:1.2em}middle.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{display:flex;flex:2;flex-direction:column}right.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{display:flex;flex-basis:300px;flex-direction:column;border-left:1px solid var(--color-bg-secondary)}header.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{width:100%;text-align:unset}header.svelte-bnvc6y nav.svelte-bnvc6y.svelte-bnvc6y{justify-content:left}header.svelte-bnvc6y nav h4.svelte-bnvc6y.svelte-bnvc6y{}header.svelte-bnvc6y nav back.svelte-bnvc6y.svelte-bnvc6y{padding-left:1rem;padding-right:1rem}header.svelte-bnvc6y nav name h4.svelte-bnvc6y.svelte-bnvc6y{margin:unset;padding:unset}header.svelte-bnvc6y nav name span.svelte-bnvc6y.svelte-bnvc6y{font-size:0.8em;font-weight:normal}middle.svelte-bnvc6y images.svelte-bnvc6y.svelte-bnvc6y{display:grid;grid-template-columns:1fr min-content}middle.svelte-bnvc6y images figure#background.svelte-bnvc6y.svelte-bnvc6y{z-index:-1;grid-column:1/2;grid-row:1/ span 2}figure#background.svelte-bnvc6y img.svelte-bnvc6y.svelte-bnvc6y{height:200px;min-width:500px}middle.svelte-bnvc6y images figure#avatar.svelte-bnvc6y.svelte-bnvc6y{z-index:5;grid-column:1/1;grid-row:2/2}middle.svelte-bnvc6y images figure#avatar img.svelte-bnvc6y.svelte-bnvc6y{z-index:5;position:relative;top:90px;left:10px;width:128px}figure#avatar.svelte-bnvc6y img.svelte-bnvc6y.svelte-bnvc6y{border-radius:50%;border:5px white solid}button#follow.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{padding:0.8rem;border-radius:30px;border:1px var(--color) solid;background:var(--color-bg);color:var(--color);position:relative;top:60px;left:220px}button#signup.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{border-radius:30px;padding:0.5rem;width:100%;font-size:0.9em}aside#newperson.svelte-bnvc6y p.svelte-bnvc6y.svelte-bnvc6y{font-size:0.8em;color:var(--color-inactive)}recent-media.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:1px}profile.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{margin-top:6rem;margin-left:1rem;margin-right:1rem}tweet.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{display:flex;flex-direction:row}tweet.svelte-bnvc6y post.svelte-bnvc6y.svelte-bnvc6y{padding-left:1em;flex-grow:2;margin-bottom:1rem}tweet.svelte-bnvc6y figure#avatar.svelte-bnvc6y img.svelte-bnvc6y{min-width:64px;height:64px}tweet.svelte-bnvc6y post h4.svelte-bnvc6y.svelte-bnvc6y{margin:unset}tweet.svelte-bnvc6y post p.svelte-bnvc6y.svelte-bnvc6y{margin-bottom:0.5rem}tweet.svelte-bnvc6y post actions.svelte-bnvc6y.svelte-bnvc6y{display:flex;justify-content:space-evenly}hr.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{margin-top:0.5em;margin-bottom:0.5em}aside#trending.svelte-bnvc6y.svelte-bnvc6y.svelte-bnvc6y{background-color:var(--color-bg-secondary);padding:0px}aside#trending.svelte-bnvc6y h3.svelte-bnvc6y.svelte-bnvc6y{margin-left:1em}aside#trending.svelte-bnvc6y a.svelte-bnvc6y.svelte-bnvc6y{margin-left:1em;color:var(--color)}aside#trending.svelte-bnvc6y li.svelte-bnvc6y.svelte-bnvc6y{border-top:1px var(--color-bg) solid;list-style-type:none;list-style-position:outside;padding:0.3rem}aside#trending.svelte-bnvc6y ul.svelte-bnvc6y.svelte-bnvc6y{padding-left:0px}content.svelte-1c5ml3s.svelte-1c5ml3s{display:flex;flex-direction:column}icecream.svelte-1c5ml3s.svelte-1c5ml3s{position:relative}icecream.svelte-1c5ml3s background.svelte-1c5ml3s{position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1}icecream.svelte-1c5ml3s background img.svelte-1c5ml3s{width:100vh}overlay.svelte-1c5ml3s.svelte-1c5ml3s{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:auto;grid-template-areas:"topleft topright" "middle middle" - "bottomleft bottomright";height:100vh}one.svelte-1c5ml3s.svelte-1c5ml3s{grid-area:topright;background-color:var(--color-accent);border-radius:50% 0 0;font-size:2em;color:#fff;text-align:right}two.svelte-1c5ml3s.svelte-1c5ml3s{grid-area:middle;background-color:var(--color-accent);opacity:80%;font-size:2em;color:#fff;text-align:center;border-radius:20% 0 20% 0}three.svelte-1c5ml3s.svelte-1c5ml3s{grid-area:bottomleft;background-color:var(--color-accent);opacity:90%;font-size:2em;color:#fff;border-radius:0 0 10% 40%;padding:1rem}code-view.svelte-1job9fs.svelte-1job9fs{display:flex;flex-direction:row;justify-content:space-evenly}code-view.svelte-1job9fs css-view.svelte-1job9fs{flex:1}code-view.svelte-1job9fs html-view.svelte-1job9fs{flex:2;max-width:50%}content.svelte-1xw0xeo.svelte-1xw0xeo{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:1rem}header.svelte-1xw0xeo.svelte-1xw0xeo{display:flex;flex:flex-grow;width:100%;flex-direction:row;padding:unset}nav.svelte-1xw0xeo.svelte-1xw0xeo{flex:1}figure.svelte-1xw0xeo.svelte-1xw0xeo{display:flex;justify-content:center;margin-top:4rem}search.svelte-1xw0xeo.svelte-1xw0xeo{display:flex;justify-content:center;flex-direction:column;margin-top:2rem}search.svelte-1xw0xeo input.svelte-1xw0xeo{align-self:center;width:50ch}search.svelte-1xw0xeo buttons.svelte-1xw0xeo{display:flex;justify-content:space-evenly}button.svelte-1xw0xeo.svelte-1xw0xeo{padding:0.5rem;background-color:#ddd;border:unset;color:#000;font-weight:unset}nav.svelte-1xw0xeo.svelte-1xw0xeo{font-weight:normal}a.svelte-1xw0xeo.svelte-1xw0xeo{color:unset;font-weight:normal}content.svelte-1prpjq7.svelte-1prpjq7{border:1px solid #ddd;display:flex;flex-direction:row;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:0rem}middle.svelte-1prpjq7.svelte-1prpjq7{display:flex;flex:2;flex-direction:column}header.svelte-1prpjq7.svelte-1prpjq7{width:100%;text-align:unset}header.svelte-1prpjq7 nav.svelte-1prpjq7{justify-content:left}header.svelte-1prpjq7 nav back.svelte-1prpjq7{padding-left:1rem;padding-right:1rem}header.svelte-1prpjq7 nav name h4.svelte-1prpjq7{margin:unset;padding:unset}header.svelte-1prpjq7 nav name span.svelte-1prpjq7{font-size:0.8em;font-weight:normal}middle.svelte-1prpjq7 images.svelte-1prpjq7{display:grid;grid-template-columns:1fr min-content}middle.svelte-1prpjq7 images figure#background.svelte-1prpjq7{z-index:-1;grid-column:1/2;grid-row:1/ span 2}figure#background.svelte-1prpjq7 img.svelte-1prpjq7{height:200px;min-width:500px}middle.svelte-1prpjq7 images figure#avatar.svelte-1prpjq7{z-index:5;grid-column:1/1;grid-row:2/2}middle.svelte-1prpjq7 images figure#avatar img.svelte-1prpjq7{z-index:5;position:relative;top:90px;left:10px;width:128px}figure#avatar.svelte-1prpjq7 img.svelte-1prpjq7{border-radius:50%;border:5px white solid}button#follow.svelte-1prpjq7.svelte-1prpjq7{padding:0.8rem;border-radius:30px;border:1px var(--color) solid;background:var(--color-bg);color:var(--color);position:relative;top:60px;left:220px}profile.svelte-1prpjq7.svelte-1prpjq7{margin-top:6rem;margin-left:1rem;margin-right:1rem}content.svelte-oxwxiv.svelte-oxwxiv{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:1rem;--sub-color:#999;--title-color:#000}header.svelte-oxwxiv.svelte-oxwxiv{display:flex;width:100%;flex-direction:row}nav.svelte-oxwxiv.svelte-oxwxiv{flex:1}nav.svelte-oxwxiv input.svelte-oxwxiv{display:flex;flex-grow:2;margin:1rem}logo.svelte-oxwxiv.svelte-oxwxiv{font-weight:bold;font-size:1rem;color:black}button.svelte-oxwxiv.svelte-oxwxiv{background-color:var(--color-bg);color:var(--color);padding:0.5rem;border-radius:2px}main.svelte-oxwxiv.svelte-oxwxiv{display:flex;flex-direction:row}figcaption.svelte-oxwxiv a.svelte-oxwxiv{color:var(--color-secondary);font-size:0.8em}figcaption.svelte-oxwxiv p.svelte-oxwxiv{font-weight:bold;margin-top:unset}figcaption.svelte-oxwxiv video-actions.svelte-oxwxiv{color:var(--sub-color);font-weight:unset;display:flex;flex-grow:1;justify-content:space-between}a.svelte-oov5yx.svelte-oov5yx{color:var(--color)}content.svelte-oov5yx.svelte-oov5yx{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:1rem}header.svelte-oov5yx.svelte-oov5yx{display:flex;width:100%;flex-direction:row}nav.svelte-oov5yx.svelte-oov5yx{flex:1}button.svelte-oov5yx.svelte-oov5yx{padding:0.5rem}profile.svelte-oov5yx.svelte-oov5yx{display:flex;flow-direction:row}profile.svelte-oov5yx figure.svelte-oov5yx{padding-right:3rem;padding-left:3rem}profile.svelte-oov5yx info.svelte-oov5yx{display:flex;flex-direction:column;width:100%}profile.svelte-oov5yx info p.svelte-oov5yx{padding:0.5rem}pins.svelte-oov5yx.svelte-oov5yx{display:flex;flex-direction:row;justify-content:space-evenly;margin-top:1rem;margin-bottom:1rem}:root{--pin-red:#e60023}content.svelte-1w7ltga.svelte-1w7ltga{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:1rem}header.svelte-1w7ltga.svelte-1w7ltga{display:flex;width:100%;flex-direction:row}header.svelte-1w7ltga nav.svelte-1w7ltga{display:flex;flex:1}header.svelte-1w7ltga nav input.svelte-1w7ltga{width:100%}header.svelte-1w7ltga nav button.svelte-1w7ltga{border-radius:30px;background-color:var(--color-bg-secondary);border:unset;color:var(--color-text);padding-left:1rem;padding-right:1rem}header.svelte-1w7ltga nav button#signup.svelte-1w7ltga{background-color:var(--pin-red);color:var(--color-bg)}header.svelte-1w7ltga nav a.svelte-1w7ltga{color:var(--text-color)}header.svelte-1w7ltga logo.svelte-1w7ltga{color:var(--pin-red);display:flex;font-size:1.2em}header.svelte-1w7ltga left.svelte-1w7ltga{display:flex;justify-content:space-evenly;padding:1em;flex:2}header.svelte-1w7ltga input.svelte-1w7ltga{border-radius:30px;flex:3;padding:1rem}profile.svelte-1w7ltga.svelte-1w7ltga{display:flex;flex-direction:row;width:100%;justify-content:center}profile.svelte-1w7ltga info.svelte-1w7ltga{margin-right:2em}profile.svelte-1w7ltga h1.svelte-1w7ltga{margin-bottom:unset;font-size:3em}profile.svelte-1w7ltga p.svelte-1w7ltga{margin-bottom:0.5rem;margin-top:0.5rem}content.svelte-t7gl8c{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}content.svelte-1rd3ni4.svelte-1rd3ni4{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}card.svelte-1rd3ni4.svelte-1rd3ni4{display:flex;flex-direction:column;border:1px solid #eee;width:min-content}card.svelte-1rd3ni4 top img.svelte-1rd3ni4{padding:0;margin:0;min-width:480px}card.svelte-1rd3ni4 middle.svelte-1rd3ni4{padding-left:0.5rem;padding-right:0.5rem;display:flex;flex-direction:column;justify-content:flex-start}card.svelte-1rd3ni4 middle h4.svelte-1rd3ni4{margin:0}card.svelte-1rd3ni4 bottom.svelte-1rd3ni4{flex-shrink:0}card.svelte-1rd3ni4 bottom button.svelte-1rd3ni4{padding:0.2rem}content.svelte-1lajyim.svelte-1lajyim{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}panel.svelte-1lajyim.svelte-1lajyim{display:flex;flex-direction:column;border:1px solid #eee;width:min-content}panel.svelte-1lajyim top.svelte-1lajyim{width:480px;padding:0.5rem}panel.svelte-1lajyim middle.svelte-1lajyim{padding-left:0.5rem;padding-right:0.5rem;display:flex;flex-direction:column;justify-content:flex-start}panel.svelte-1lajyim bottom.svelte-1lajyim{flex-shrink:0;display:flex;flex-direction:row;justify-content:space-evenly}panel.svelte-1lajyim bottom button.svelte-1lajyim{display:flex;margin:0;border-radius:unset;width:100%;justify-content:space-evenly}button.svelte-1lajyim.svelte-1lajyim:hover{filter:invert(20%)}button#cancel.svelte-1lajyim.svelte-1lajyim{background:unset;color:var(--color-text)}content.svelte-tbrdkg.svelte-tbrdkg{display:flex;flex-direction:column}nav-bar.svelte-tbrdkg.svelte-tbrdkg{display:flex;flex-direction:row;width:100%;justify-content:space-evenly;padding:1em;border:1px solid var(--color-accent);margin-bottom:1em}nav-bar.svelte-tbrdkg middle.svelte-tbrdkg{display:flex;flex:2;justify-content:center;padding-left:1em;padding-right:1em}nav-bar.svelte-tbrdkg middle input.svelte-tbrdkg{width:100%}.alternate.svelte-tbrdkg.svelte-tbrdkg{background-color:#ddd}content.svelte-fwzpwr.svelte-fwzpwr{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}tile.svelte-fwzpwr.svelte-fwzpwr{padding:0.5rem;display:flex;flex-direction:row;border:1px solid #eee;max-width:50vh}tile.svelte-fwzpwr middle.svelte-fwzpwr{padding-left:0.5rem;padding-right:0.5rem;display:flex;flex-direction:column;justify-content:flex-start;flex-shrink:3}tile.svelte-fwzpwr middle h4.svelte-fwzpwr{margin-top:0;margin-bottom:0}tile.svelte-fwzpwr right.svelte-fwzpwr{flex-shrink:0}tile.svelte-fwzpwr right button.svelte-fwzpwr{padding:0.2rem}content.svelte-j1ijok.svelte-j1ijok{display:flex;flex-direction:column}tabs.svelte-j1ijok.svelte-j1ijok{margin-top:1em;display:flex;justify-content:space-evenly;border-bottom:var(--color-accent)}tabs.svelte-j1ijok a.svelte-j1ijok{text-decoration:none;color:var(--color-text);border-bottom:1px solid var(--color-accent);border-width:thin;width:100%;text-align:center;padding:2rem 0rem 0.5rem}tabs.svelte-j1ijok a.svelte-j1ijok:hover{box-shadow:-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black}tabs.svelte-j1ijok a.active.svelte-j1ijok{background-color:var(--color-bg-secondary)}panel.svelte-j1ijok.svelte-j1ijok{display:none}panel.active.svelte-j1ijok.svelte-j1ijok{border:1px solid var(--color-accent);display:flex;flex-direction:column;padding:1em}content.svelte-1n9y415.svelte-1n9y415{display:flex;flex-direction:column}icecream.svelte-1n9y415.svelte-1n9y415{position:relative}icecream.svelte-1n9y415 background.svelte-1n9y415{position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1}icecream.svelte-1n9y415 background img.svelte-1n9y415{width:100vh}overlay.svelte-1n9y415.svelte-1n9y415{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:auto;grid-template-areas:"topleft topright" + "bottomleft bottomright";height:100vh}one.svelte-1c5ml3s.svelte-1c5ml3s{grid-area:topright;background-color:var(--color-accent);border-radius:50% 0 0;font-size:2em;color:#fff;text-align:right}two.svelte-1c5ml3s.svelte-1c5ml3s{grid-area:middle;background-color:var(--color-accent);opacity:80%;font-size:2em;color:#fff;text-align:center;border-radius:20% 0 20% 0}three.svelte-1c5ml3s.svelte-1c5ml3s{grid-area:bottomleft;background-color:var(--color-accent);opacity:90%;font-size:2em;color:#fff;border-radius:0 0 10% 40%;padding:1rem}content.svelte-1ofkzoq.svelte-1ofkzoq{display:flex;flex-direction:column}nav-bar.svelte-1ofkzoq.svelte-1ofkzoq{display:flex;flex-direction:row;width:100%;justify-content:space-evenly;padding:1em;border:1px solid var(--color-accent);margin-bottom:1em}nav-bar.svelte-1ofkzoq middle.svelte-1ofkzoq{display:flex;flex:2;justify-content:center;padding-left:1em;padding-right:1em}nav-bar.svelte-1ofkzoq middle input.svelte-1ofkzoq{width:100%}.alternate.svelte-1ofkzoq.svelte-1ofkzoq{background-color:#ddd}code-view.svelte-1job9fs.svelte-1job9fs{display:flex;flex-direction:row;justify-content:space-evenly}code-view.svelte-1job9fs css-view.svelte-1job9fs{flex:1}code-view.svelte-1job9fs html-view.svelte-1job9fs{flex:2;max-width:50%}content.svelte-1prpjq7.svelte-1prpjq7{border:1px solid #ddd;display:flex;flex-direction:row;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:0rem}middle.svelte-1prpjq7.svelte-1prpjq7{display:flex;flex:2;flex-direction:column}header.svelte-1prpjq7.svelte-1prpjq7{width:100%;text-align:unset}header.svelte-1prpjq7 nav.svelte-1prpjq7{justify-content:left}header.svelte-1prpjq7 nav back.svelte-1prpjq7{padding-left:1rem;padding-right:1rem}header.svelte-1prpjq7 nav name h4.svelte-1prpjq7{margin:unset;padding:unset}header.svelte-1prpjq7 nav name span.svelte-1prpjq7{font-size:0.8em;font-weight:normal}middle.svelte-1prpjq7 images.svelte-1prpjq7{display:grid;grid-template-columns:1fr min-content}middle.svelte-1prpjq7 images figure#background.svelte-1prpjq7{z-index:-1;grid-column:1/2;grid-row:1/ span 2}figure#background.svelte-1prpjq7 img.svelte-1prpjq7{height:200px;min-width:500px}middle.svelte-1prpjq7 images figure#avatar.svelte-1prpjq7{z-index:5;grid-column:1/1;grid-row:2/2}middle.svelte-1prpjq7 images figure#avatar img.svelte-1prpjq7{z-index:5;position:relative;top:90px;left:10px;width:128px}figure#avatar.svelte-1prpjq7 img.svelte-1prpjq7{border-radius:50%;border:5px white solid}button#follow.svelte-1prpjq7.svelte-1prpjq7{padding:0.8rem;border-radius:30px;border:1px var(--color) solid;background:var(--color-bg);color:var(--color);position:relative;top:60px;left:220px}profile.svelte-1prpjq7.svelte-1prpjq7{margin-top:6rem;margin-left:1rem;margin-right:1rem}content.svelte-t7gl8c{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}content.svelte-1xw0xeo.svelte-1xw0xeo{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:1rem}header.svelte-1xw0xeo.svelte-1xw0xeo{display:flex;flex:flex-grow;width:100%;flex-direction:row;padding:unset}nav.svelte-1xw0xeo.svelte-1xw0xeo{flex:1}figure.svelte-1xw0xeo.svelte-1xw0xeo{display:flex;justify-content:center;margin-top:4rem}search.svelte-1xw0xeo.svelte-1xw0xeo{display:flex;justify-content:center;flex-direction:column;margin-top:2rem}search.svelte-1xw0xeo input.svelte-1xw0xeo{align-self:center;width:50ch}search.svelte-1xw0xeo buttons.svelte-1xw0xeo{display:flex;justify-content:space-evenly}button.svelte-1xw0xeo.svelte-1xw0xeo{padding:0.5rem;background-color:#ddd;border:unset;color:#000;font-weight:unset}nav.svelte-1xw0xeo.svelte-1xw0xeo{font-weight:normal}a.svelte-1xw0xeo.svelte-1xw0xeo{color:unset;font-weight:normal}content.svelte-oxwxiv.svelte-oxwxiv{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:1rem;--sub-color:#999;--title-color:#000}header.svelte-oxwxiv.svelte-oxwxiv{display:flex;width:100%;flex-direction:row}nav.svelte-oxwxiv.svelte-oxwxiv{flex:1}nav.svelte-oxwxiv input.svelte-oxwxiv{display:flex;flex-grow:2;margin:1rem}logo.svelte-oxwxiv.svelte-oxwxiv{font-weight:bold;font-size:1rem;color:black}button.svelte-oxwxiv.svelte-oxwxiv{background-color:var(--color-bg);color:var(--color);padding:0.5rem;border-radius:2px}main.svelte-oxwxiv.svelte-oxwxiv{display:flex;flex-direction:row}figcaption.svelte-oxwxiv a.svelte-oxwxiv{color:var(--color-secondary);font-size:0.8em}figcaption.svelte-oxwxiv p.svelte-oxwxiv{font-weight:bold;margin-top:unset}figcaption.svelte-oxwxiv video-actions.svelte-oxwxiv{color:var(--sub-color);font-weight:unset;display:flex;flex-grow:1;justify-content:space-between}:root{--pin-red:#e60023}content.svelte-1w7ltga.svelte-1w7ltga{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:1rem}header.svelte-1w7ltga.svelte-1w7ltga{display:flex;width:100%;flex-direction:row}header.svelte-1w7ltga nav.svelte-1w7ltga{display:flex;flex:1}header.svelte-1w7ltga nav input.svelte-1w7ltga{width:100%}header.svelte-1w7ltga nav button.svelte-1w7ltga{border-radius:30px;background-color:var(--color-bg-secondary);border:unset;color:var(--color-text);padding-left:1rem;padding-right:1rem}header.svelte-1w7ltga nav button#signup.svelte-1w7ltga{background-color:var(--pin-red);color:var(--color-bg)}header.svelte-1w7ltga nav a.svelte-1w7ltga{color:var(--text-color)}header.svelte-1w7ltga logo.svelte-1w7ltga{color:var(--pin-red);display:flex;font-size:1.2em}header.svelte-1w7ltga left.svelte-1w7ltga{display:flex;justify-content:space-evenly;padding:1em;flex:2}header.svelte-1w7ltga input.svelte-1w7ltga{border-radius:30px;flex:3;padding:1rem}profile.svelte-1w7ltga.svelte-1w7ltga{display:flex;flex-direction:row;width:100%;justify-content:center}profile.svelte-1w7ltga info.svelte-1w7ltga{margin-right:2em}profile.svelte-1w7ltga h1.svelte-1w7ltga{margin-bottom:unset;font-size:3em}profile.svelte-1w7ltga p.svelte-1w7ltga{margin-bottom:0.5rem;margin-top:0.5rem}a.svelte-oov5yx.svelte-oov5yx{color:var(--color)}content.svelte-oov5yx.svelte-oov5yx{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;flex-basis:100%;grid-column:1/3;padding:1rem}header.svelte-oov5yx.svelte-oov5yx{display:flex;width:100%;flex-direction:row}nav.svelte-oov5yx.svelte-oov5yx{flex:1}button.svelte-oov5yx.svelte-oov5yx{padding:0.5rem}profile.svelte-oov5yx.svelte-oov5yx{display:flex;flow-direction:row}profile.svelte-oov5yx figure.svelte-oov5yx{padding-right:3rem;padding-left:3rem}profile.svelte-oov5yx info.svelte-oov5yx{display:flex;flex-direction:column;width:100%}profile.svelte-oov5yx info p.svelte-oov5yx{padding:0.5rem}pins.svelte-oov5yx.svelte-oov5yx{display:flex;flex-direction:row;justify-content:space-evenly;margin-top:1rem;margin-bottom:1rem}content.svelte-1lajyim.svelte-1lajyim{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}panel.svelte-1lajyim.svelte-1lajyim{display:flex;flex-direction:column;border:1px solid #eee;width:min-content}panel.svelte-1lajyim top.svelte-1lajyim{width:480px;padding:0.5rem}panel.svelte-1lajyim middle.svelte-1lajyim{padding-left:0.5rem;padding-right:0.5rem;display:flex;flex-direction:column;justify-content:flex-start}panel.svelte-1lajyim bottom.svelte-1lajyim{flex-shrink:0;display:flex;flex-direction:row;justify-content:space-evenly}panel.svelte-1lajyim bottom button.svelte-1lajyim{display:flex;margin:0;border-radius:unset;width:100%;justify-content:space-evenly}button.svelte-1lajyim.svelte-1lajyim:hover{filter:invert(20%)}button#cancel.svelte-1lajyim.svelte-1lajyim{background:unset;color:var(--color-text)}content.svelte-j1ijok.svelte-j1ijok{display:flex;flex-direction:column}tabs.svelte-j1ijok.svelte-j1ijok{margin-top:1em;display:flex;justify-content:space-evenly;border-bottom:var(--color-accent)}tabs.svelte-j1ijok a.svelte-j1ijok{text-decoration:none;color:var(--color-text);border-bottom:1px solid var(--color-accent);border-width:thin;width:100%;text-align:center;padding:2rem 0rem 0.5rem}tabs.svelte-j1ijok a.svelte-j1ijok:hover{box-shadow:-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black}tabs.svelte-j1ijok a.active.svelte-j1ijok{background-color:var(--color-bg-secondary)}panel.svelte-j1ijok.svelte-j1ijok{display:none}panel.active.svelte-j1ijok.svelte-j1ijok{border:1px solid var(--color-accent);display:flex;flex-direction:column;padding:1em}content.svelte-tbrdkg.svelte-tbrdkg{display:flex;flex-direction:column}nav-bar.svelte-tbrdkg.svelte-tbrdkg{display:flex;flex-direction:row;width:100%;justify-content:space-evenly;padding:1em;border:1px solid var(--color-accent);margin-bottom:1em}nav-bar.svelte-tbrdkg middle.svelte-tbrdkg{display:flex;flex:2;justify-content:center;padding-left:1em;padding-right:1em}nav-bar.svelte-tbrdkg middle input.svelte-tbrdkg{width:100%}.alternate.svelte-tbrdkg.svelte-tbrdkg{background-color:#ddd}content.svelte-1n9y415.svelte-1n9y415{display:flex;flex-direction:column}icecream.svelte-1n9y415.svelte-1n9y415{position:relative}icecream.svelte-1n9y415 background.svelte-1n9y415{position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1}icecream.svelte-1n9y415 background img.svelte-1n9y415{width:100vh}overlay.svelte-1n9y415.svelte-1n9y415{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:auto;grid-template-areas:"topleft topright" "middle middle" - "bottomleft bottomright"}one.svelte-1n9y415.svelte-1n9y415{grid-area:topright;background-color:var(--color-accent);border-radius:50% 0 0;font-size:0.8em;color:#fff;text-align:right}two.svelte-1n9y415.svelte-1n9y415{grid-area:middle;background-color:var(--color-accent);opacity:80%;font-size:0.8em;color:#fff;text-align:center;border-radius:20% 0 20% 0}three.svelte-1n9y415.svelte-1n9y415{grid-area:bottomleft;background-color:var(--color-accent);opacity:90%;font-size:0.8em;color:#fff;text-align:center;border-radius:0 0 10% 40%}content.svelte-1gt8gt4.svelte-1gt8gt4{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}calendar.svelte-1gt8gt4.svelte-1gt8gt4{display:grid;grid-template-columns:repeat(7, 1fr);grid-template-rows:auto;max-width:300px;outline:1px solid var(--color-accent)}calendar.svelte-1gt8gt4 day.svelte-1gt8gt4{background-color:var(--color-bg-secondary);font-weight:bold;padding-left:0.3rem;padding-right:0.3rem}calendar.svelte-1gt8gt4 month.svelte-1gt8gt4{grid-column:span 7;font-size:1.5em;font-weight:bold;text-align:center}calendar.svelte-1gt8gt4 date.svelte-1gt8gt4{padding:0.3rem}calendar.svelte-1gt8gt4 date.svelte-1gt8gt4:hover{background-color:var(--color-bg-secondary)}phone-warn.svelte-b88acd{display:none} \ No newline at end of file + "bottomleft bottomright"}one.svelte-1n9y415.svelte-1n9y415{grid-area:topright;background-color:var(--color-accent);border-radius:50% 0 0;font-size:0.8em;color:#fff;text-align:right}two.svelte-1n9y415.svelte-1n9y415{grid-area:middle;background-color:var(--color-accent);opacity:80%;font-size:0.8em;color:#fff;text-align:center;border-radius:20% 0 20% 0}three.svelte-1n9y415.svelte-1n9y415{grid-area:bottomleft;background-color:var(--color-accent);opacity:90%;font-size:0.8em;color:#fff;text-align:center;border-radius:0 0 10% 40%}content.svelte-1gt8gt4.svelte-1gt8gt4{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}calendar.svelte-1gt8gt4.svelte-1gt8gt4{display:grid;grid-template-columns:repeat(7, 1fr);grid-template-rows:auto;max-width:300px;outline:1px solid var(--color-accent)}calendar.svelte-1gt8gt4 day.svelte-1gt8gt4{background-color:var(--color-bg-secondary);font-weight:bold;padding-left:0.3rem;padding-right:0.3rem}calendar.svelte-1gt8gt4 month.svelte-1gt8gt4{grid-column:span 7;font-size:1.5em;font-weight:bold;text-align:center}calendar.svelte-1gt8gt4 date.svelte-1gt8gt4{padding:0.3rem}calendar.svelte-1gt8gt4 date.svelte-1gt8gt4:hover{background-color:var(--color-bg-secondary)}content.svelte-12uwa5s.svelte-12uwa5s{border:1px solid #ddd;display:flex;flex-direction:column;flex:flex-grow;padding:1rem}carousel.svelte-12uwa5s.svelte-12uwa5s{outline:2px solid green;position:relative}carousel.svelte-12uwa5s figure.svelte-12uwa5s{display:none}carousel.svelte-12uwa5s figure.active.svelte-12uwa5s{display:flex;position:relative;flex-direction:column;outline:1px solid red}carousel.svelte-12uwa5s figure img.svelte-12uwa5s{width:100%}carousel.svelte-12uwa5s figure figcaption.svelte-12uwa5s{position:absolute;bottom:0;left:0;width:100%;text-align:center;font-size:2em;background:var(--color-bg-secondary);opacity:0%}carousel.svelte-12uwa5s figure figcaption.svelte-12uwa5s:hover{opacity:90%}carousel.svelte-12uwa5s next.svelte-12uwa5s,prev.svelte-12uwa5s.svelte-12uwa5s{position:absolute;bottom:0;opacity:0%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center}carousel.svelte-12uwa5s next.svelte-12uwa5s{right:0}carousel.svelte-12uwa5s prev.svelte-12uwa5s{left:0}carousel.svelte-12uwa5s next.svelte-12uwa5s:hover,prev.svelte-12uwa5s.svelte-12uwa5s:hover{opacity:60%;background-color:var(--color-bg)}content.svelte-fwzpwr.svelte-fwzpwr{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}tile.svelte-fwzpwr.svelte-fwzpwr{padding:0.5rem;display:flex;flex-direction:row;border:1px solid #eee;max-width:50vh}tile.svelte-fwzpwr middle.svelte-fwzpwr{padding-left:0.5rem;padding-right:0.5rem;display:flex;flex-direction:column;justify-content:flex-start;flex-shrink:3}tile.svelte-fwzpwr middle h4.svelte-fwzpwr{margin-top:0;margin-bottom:0}tile.svelte-fwzpwr right.svelte-fwzpwr{flex-shrink:0}tile.svelte-fwzpwr right button.svelte-fwzpwr{padding:0.2rem}content.svelte-1rd3ni4.svelte-1rd3ni4{display:flex;flex:flex-shrink;flex-grow:1;justify-content:center}card.svelte-1rd3ni4.svelte-1rd3ni4{display:flex;flex-direction:column;border:1px solid #eee;width:min-content}card.svelte-1rd3ni4 top img.svelte-1rd3ni4{padding:0;margin:0;min-width:480px}card.svelte-1rd3ni4 middle.svelte-1rd3ni4{padding-left:0.5rem;padding-right:0.5rem;display:flex;flex-direction:column;justify-content:flex-start}card.svelte-1rd3ni4 middle h4.svelte-1rd3ni4{margin:0}card.svelte-1rd3ni4 bottom.svelte-1rd3ni4{flex-shrink:0}card.svelte-1rd3ni4 bottom button.svelte-1rd3ni4{padding:0.2rem}phone-warn.svelte-b88acd{display:none} \ No newline at end of file diff --git a/public/build/bundle.js b/public/build/bundle.js index 3e5aa94..a03610b 100644 --- a/public/build/bundle.js +++ b/public/build/bundle.js @@ -1990,108 +1990,398 @@ var app = (function () { let t50; let hr2; let t51; - let section5; let h12; let t53; - let h13; - let t55; let p8; + let t55; + let ol0; + let li0; let t56; let b3; let t58; - let b4; + let t59; + let li1; let t60; - let t61; - let p9; + let b4; let t62; let b5; let t64; - let b6; - let t66; - let b7; - let t68; - let b8; + let t65; + let li2; + let t67; + let h20; + let t69; + let p9; let t70; - let t71; - let h14; - let t73; - let p10; + let b6; + let t72; + let a5; + let t74; let t75; - let p11; + let pre2; + let code0; let t77; - let h15; - let t79; - let p12; + let p10; + let t78; + let b7; let t80; - let b9; + let b8; let t82; - let b10; - let t84; - let b11; + let t83; + let pre3; + let code1; + let t85; + let p11; let t86; - let b12; + let b9; let t88; - let b13; + let b10; let t90; - let b14; - let t92; + let t91; + let pre4; + let code2; let t93; + let p12; + let t95; let p13; - let t94; - let b15; let t96; - let b16; + let a6; let t98; - let b17; - let t100; - let b18; + let t99; + let quote0; + let t101; + let p14; let t102; - let b19; + let a7; let t104; let t105; - let p14; + let p15; let t106; - let b20; + let b11; let t108; - let b21; - let t110; - let b22; + let t109; + let h33; + let t111; + let p16; let t112; - let b23; + let b12; let t114; - let b24; - let t116; + let t115; + let ol1; + let li3; let t117; - let h16; + let li4; let t119; - let p15; + let li5; let t120; - let b25; + let b13; let t122; - let b26; + let b14; let t124; - let b27; - let t126; + let t125; + let li6; let t127; - let p16; - let t128; - let b28; - let t130; - let b29; - let t132; - let b30; - let t134; - let t135; - let h17; - let t137; + let li7; + let t129; let p17; - let t139; - let h18; - let t141; + let t131; + let ol2; + let li8; + let t133; + let li9; + let t134; + let b15; + let t136; + let li10; + let t138; let p18; + let t140; + let h21; let t142; - let a5; - let t144; + let p19; + let t143; + let a8; + let t145; + let t146; + let pre5; + let code3; + let t148; + let p20; + let t149; + let b16; + let t151; + let b17; + let t153; + let t154; + let ol3; + let li11; + let b18; + let t156; + let t157; + let li12; + let b19; + let t159; + let t160; + let li13; + let t161; + let b20; + let t163; + let b21; + let t165; + let a9; + let t167; + let h34; + let t169; + let p21; + let t170; + let b22; + let t172; + let a10; + let t174; + let b23; + let t176; + let b24; + let t178; + let t179; + let pre6; + let code4; + let t181; + let pre7; + let code5; + let t183; + let p22; + let t184; + let b25; + let t186; + let b26; + let t188; + let b27; + let t190; + let b28; + let t192; + let t193; + let p23; + let t195; + let pre8; + let code6; + let t197; + let p24; + let t198; + let b29; + let t200; + let b30; + let t202; + let t203; + let h35; + let t205; + let p25; + let t206; + let b31; + let t208; + let b32; + let t210; + let b33; + let t212; + let t213; + let pre9; + let code7; + let t215; + let p26; + let t216; + let b34; + let t218; + let b35; + let t220; + let b36; + let t222; + let t223; + let p27; + let t224; + let a11; + let t226; + let t227; + let pre10; + let code8; + let t229; + let p28; + let t230; + let b37; + let t232; + let b38; + let t234; + let b39; + let t236; + let b40; + let t238; + let t239; + let h22; + let t241; + let p29; + let t242; + let a12; + let t244; + let a13; + let t246; + let t247; + let quote1; + let p30; + let t249; + let p31; + let t251; + let p32; + let t253; + let p33; + let t254; + let b41; + let t256; + let em; + let t258; + let t259; + let p34; + let t261; + let quote2; + let ol4; + let li14; + let t263; + let li15; + let t265; + let li16; + let t267; + let p35; + let t269; + let quote3; + let ol5; + let li17; + let t271; + let li18; + let t273; + let li19; + let t275; + let li20; + let t277; + let li21; + let t279; + let li22; + let t281; + let li23; + let t283; + let li24; + let t285; + let p36; + let t286; + let b42; + let t288; + let b43; + let t290; + let b44; + let t292; + let a14; + let t294; + let b45; + let t296; + let t297; + let p37; + let t298; + let b46; + let t300; + let t301; + let ol6; + let li25; + let t303; + let li26; + let t305; + let li27; + let t307; + let p38; + let t309; + let p39; + let t310; + let b47; + let t312; + let t313; + let ol7; + let li28; + let t315; + let li29; + let t317; + let p40; + let t318; + let b48; + let t320; + let t321; + let h23; + let t323; + let p41; + let t325; + let ol8; + let li30; + let t327; + let li31; + let t328; + let b49; + let t330; + let b50; + let t332; + let t333; + let li32; + let t334; + let b51; + let t336; + let t337; + let p42; + let t338; + let b52; + let t340; + let b53; + let t342; + let t343; + let h24; + let t345; + let p43; + let t347; + let ol9; + let li33; + let b54; + let t349; + let b55; + let t351; + let t352; + let li34; + let b56; + let t354; + let b57; + let t356; + let b58; + let t358; + let t359; + let li35; + let b59; + let t361; + let b60; + let t363; + let t364; + let li36; + let b61; + let t366; + let t367; + let li37; + let b62; + let t369; + let b63; + let t371; + let t372; + let li38; + let b64; + let t374; + let b65; + let t376; + let t377; + let li39; + let b66; + let t379; + let b67; + let t381; + let t382; let current; let mounted; let dispose; @@ -2139,7 +2429,7 @@ var app = (function () { t12 = text("Using a classless style like "); a0 = element("a"); a0.textContent = "MVP.css"; - t14 = text(", you\n bring back CSS specificity to its original intent."); + t14 = text(", you\n bring back CSS specificity to its original intent."); t15 = space(); aside1 = element("aside"); h31 = element("h3"); @@ -2171,10 +2461,10 @@ var app = (function () { h11.textContent = "Cleaner CSS"; t31 = space(); p4 = element("p"); - t32 = text("This website is nothing more than a set of small demos for the idea of\n using flexbox and grids to clean up and simplify CSS. Most everything else\n about CSS stays. Filters, transforms, attributes, and everything that\n applies to the visual display of the components of a design. What gets\n removed is "); + t32 = text("This website is nothing more than a set of small demos for the idea of\n using flexbox and grids to clean up and simplify CSS. Most everything else\n about CSS stays. Filters, transforms, attributes, and everything that\n applies to the visual display of the components of a design. What gets\n removed is "); b2 = element("b"); b2.textContent = "div"; - t34 = text(" heavy, class heavy, not-semantic-at-all layout\n systems cluttering the real information available through simple HTML\n tags."); + t34 = text(" heavy, class heavy, not-semantic-at-all layout\n systems cluttering the real information available through simple HTML\n tags."); t35 = space(); p5 = element("p"); p5.textContent = "In short, if you're writing this:"; @@ -2196,7 +2486,7 @@ var app = (function () { t44 = space(); section4 = element("section"); p7 = element("p"); - t45 = text("I demonstrate the idea with a series of copies of existing websites and other layout problems \n people frequently encounter. If you have a suggested layout challenge for me, then tell me on Twitter "); + t45 = text("I demonstrate the idea with a series of copies of existing websites and other layout problems \n people frequently encounter. If you have a suggested layout challenge for me, then tell me on Twitter "); a3 = element("a"); a3.textContent = "@lzsthw"; t47 = text(" and I'll give it a shot."); @@ -2207,250 +2497,807 @@ var app = (function () { t50 = space(); hr2 = element("hr"); t51 = space(); - section5 = element("section"); h12 = element("h1"); - h12.textContent = "FAQ"; + h12.textContent = "Discussion"; t53 = space(); - h13 = element("h1"); - h13.textContent = "Why did you do this?"; - t55 = space(); p8 = element("p"); - t56 = text("It started as an attempt to relearn modern CSS for myself so I can teach others. As I did this I realized that most of the things I learned have been completely replaced with flexbox and grids, and if I just use those then CSS becomes much easier to understand. Specificity works as expected. When I change a component with "); + p8.textContent = "We can analyze the problems with modern CSS by looking at how popular frameworks use specificity and the cascade:"; + t55 = space(); + ol0 = element("ol"); + li0 = element("li"); + t56 = text("Relying on "); b3 = element("b"); - b3.textContent = "class"; - t58 = text(" or "); + b3.textContent = "div"; + t58 = text(" to structure layout, which breaks the separation between display and content originally intended for CSS and HTML."); + t59 = space(); + li1 = element("li"); + t60 = text("Relying on "); b4 = element("b"); - b4.textContent = "id"; - t60 = text(" it actually changes. The layout flows correctly and is easier to create. Nearly everything works better and is easier to understand."); - t61 = space(); - p9 = element("p"); - t62 = text("This website became a demonstration to others that "); + b4.textContent = "class"; + t62 = text(" (or worse "); b5 = element("b"); - b5.textContent = "layout"; - t64 = text(" doesn't need "); + b5.textContent = "tag.class=tag"; + t64 = text(") which subverts the normal specificity rules originally intended to reduce duplication."); + t65 = space(); + li2 = element("li"); + li2.textContent = "Relying on the vaguely defined cascade rules to dominate the entire CSS cascade using #1 and #2."; + t67 = space(); + h20 = element("h2"); + h20.textContent = "
as Structure"; + t69 = space(); + p9 = element("p"); + t70 = text("The simplest criticism is the use of "); b6 = element("b"); - b6.textContent = "div.class"; - t66 = text(" structure, subverting "); + b6.textContent = "div"; + t72 = text(" as a structure element in the HTML. Take this example from "); + a5 = element("a"); + a5.textContent = "Bootstrap"; + t74 = text(":"); + t75 = space(); + pre2 = element("pre"); + code0 = element("code"); + code0.textContent = "
\n
\n
Column
\n
Column
\n
\n
Column
\n
Column
\n
\n
"; + t77 = space(); + p10 = element("p"); + t78 = text("This simple example shows how a large proportion of modern CSS frameworks rely on "); b7 = element("b"); - b7.textContent = "ul/li"; - t68 = text(" tags, and other CSS hacks. You can use simple "); + b7.textContent = "div"; + t80 = text(" to create structure and layouts when the "); b8 = element("b"); - b8.textContent = "truly semantic"; - t70 = text(" HTML and simple CSS to accomplish 90% of what you're doing today with more reliable results faster."); - t71 = space(); - h14 = element("h1"); - h14.textContent = "Why is this site in black and white?"; - t73 = space(); - p10 = element("p"); - p10.textContent = "I used an entirely monochrome simplified design because I'm not a designer, and I want people to focus on the visual structure of each demo, not whether my use of Cornflower Blue was appropriate for a button."; - t75 = space(); + b8.textContent = "div"; + t82 = text(" has absolutely nothing to do with the content. Another example from bootstrap is their image carousel:"); + t83 = space(); + pre3 = element("pre"); + code1 = element("code"); + code1.textContent = "
\n
\n
\n \"First\n
\n
\n \"Second\n
\n
\n \"Third\n
\n
\n
"; + t85 = space(); p11 = element("p"); - p11.textContent = "I'm also an experienced oil painter and a fundamental teaching in realist art is that color does not matter for visual comprehension. What matters most is the \"drawing\", or monochrome aspects of visual experience. If you can't make something work in monochrome then no amount of color will help. Make it visually understandable in monochrome and any color scheme you choose should work (barring a few rules about color perception's relationship to monochrome values)."; - t77 = space(); - h15 = element("h1"); - h15.textContent = "What's wrong with classes?"; - t79 = space(); - p12 = element("p"); - t80 = text("There's nothing wrong with classes in CSS. How they're used in recent CSS frameworks subverts the normal specificity rules making CSS unnecessarily difficult. The original specificity rules put the base design of a component at the tag level, then a "); + t86 = text("This snippet of code is 13 lines long of which only 3 are actually image content. It also contains both "); b9 = element("b"); - b9.textContent = "class"; - t82 = text(" can be used to modify and extend the design, and an "); + b9.textContent = "id"; + t88 = text(" and "); b10 = element("b"); - b10.textContent = "id"; - t84 = text(" can make this even more specific. In today's use of "); + b10.textContent = "class"; + t90 = text(" specificity, making it nearly impossible to override when used locally. If you compare that my Carousel demo you can see it much simpler:"); + t91 = space(); + pre4 = element("pre"); + code2 = element("code"); + code2.textContent = "\n
\n \"Stock\n
Image 1
\n
\n\n \n
\n \"Stock\n
Image 2
\n
\n \n \n
"; + t93 = space(); + p12 = element("p"); + p12.textContent = "This is the same numbe of lines of code, but every line is clearly idenfitied and easy to understand. Each part of the display is named, matches its use in the display, and is semantically related to the concept of images."; + t95 = space(); + p13 = element("p"); + t96 = text("CSS was designed to be a style sheet language used for describing the presentation of a document. You can read from "); + a6 = element("a"); + a6.textContent = "Mozilla their own explanation as well"; + t98 = text(":"); + t99 = space(); + quote0 = element("quote"); + quote0.textContent = "While HTML is used to define the structure and semantics of your content, CSS is used to style it and lay it out. For example, you can use CSS to alter the font, color, size, and spacing of your content, split it into multiple columns, or add animations and other decorative features."; + t101 = space(); + p14 = element("p"); + t102 = text("The original intent of CSS--and still a major factor in its design--is that the HTML content doesn't have to change to alter the display for different situations. "); + a7 = element("a"); + a7.textContent = "CSS Zen Garden"; + t104 = text(" is the classic example of the principle, with a single HTML document being styled in many different ways using only CSS."); + t105 = space(); + p15 = element("p"); + t106 = text("The above examples from Bootstrap (and most other CSS frameworks) subverts this original CSS design by forcing you to add non-semantic "); b11 = element("b"); - b11.textContent = "div.class"; - t86 = text(" heavy markup you lose this ability to alter the design as needed where its used, and instead you have to resort to "); + b11.textContent = "div"; + t108 = text(" tags only to create a display structure (not information structure) for their CSS properties."); + t109 = space(); + h33 = element("h3"); + h33.textContent = "The Impact"; + t111 = space(); + p16 = element("p"); + t112 = text("What's the impact of this "); b12 = element("b"); - b12.textContent = "!important"; - t88 = text(" and specificity hacking to change how something looks, or add more "); + b12.textContent = "div.class"; + t114 = text(" heavy design? By subverting CSS's original separation from the HTML you end up with the following usability problems:"); + t115 = space(); + ol1 = element("ol"); + li3 = element("li"); + li3.textContent = "Reasoning about the CSS visuals becomes more difficult due to the overlay of complicated boxes that have nothing to do with the visually perceived content."; + t117 = space(); + li4 = element("li"); + li4.textContent = "Understanding the document structure is more difficult because of the semantically irrelevant structure divs adding noise."; + t119 = space(); + li5 = element("li"); + t120 = text("Changing the structure--or even just fixing it--becomes more challenging since you have to alter "); b13 = element("b"); - b13.textContent = "div"; - t90 = text(" with more "); + b13.textContent = "both"; + t122 = text(" your own CSS "); b14 = element("b"); - b14.textContent = "class"; - t92 = text("."); - t93 = space(); - p13 = element("p"); - t94 = text("The other problem with "); + b14.textContent = "and"; + t124 = text(" the HTML that uses their CSS structure divs."); + t125 = space(); + li6 = element("li"); + li6.textContent = "Debugging layout issues using the browser inspector tool is more difficult because you have to troll through the entire CSS structure div tree to find the style impacting your design decision."; + t127 = space(); + li7 = element("li"); + li7.textContent = "Debugging why your local design changes aren't working becomes a process of trolling through the CSS via the structure divs and slowly turning off CSS rules until you find the one breaking your design."; + t129 = space(); + p17 = element("p"); + p17.textContent = "A succinct way to put all of the above is this infection of CSS rules into the HTML document means you no longer have a single place to go when there's a problem with one, but instead have to constantly work in both to fix anything. If a button isn't the right size, you can't simply go to the CSS and fix it. You have to go to:"; + t131 = space(); + ol2 = element("ol"); + li8 = element("li"); + li8.textContent = "Your local CSS"; + t133 = space(); + li9 = element("li"); + t134 = text("Your HTML with their "); b15 = element("b"); - b15.textContent = "div.class"; - t96 = text(" is it's more difficult to debug problems with the layout. There's the obvious problem of debugging failures in layout through a forest of divs, but you're also relying on specificity that can come from anywhere in the cascade. It's much more difficult to find exactly "); + b15.textContent = "divs"; + t136 = space(); + li10 = element("li"); + li10.textContent = "Their CSS classes for each div"; + t138 = space(); + p18 = element("p"); + p18.textContent = "This turns one target area for debugging the presentation (the CSS), into 3 potential interacting locations making it more difficult to solve the problem. If you stick to \"layout and style is in CSS\" then when you have a problem with the layout or style...you just go to the CSS."; + t140 = space(); + h21 = element("h2"); + h21.textContent = "class as Configuration"; + t142 = space(); + p19 = element("p"); + t143 = text("Let's take a look at a simple example from "); + a8 = element("a"); + a8.textContent = "Bulma"; + t145 = text(" to explain what's happening:"); + t146 = space(); + pre5 = element("pre"); + code3 = element("code"); + code3.textContent = "\n\n"; + t148 = space(); + p20 = element("p"); + t149 = text("In this example we see that Bulma is using "); b16 = element("b"); - b16.textContent = "what"; - t98 = text(" bit of CSS is overriding your local decisions. If you've ever had to open the inspector in your browser to troll through CSS locations looking for the culprit then that's why. If the base design decisions are at the tag level, then your local "); + b16.textContent = "both"; + t151 = text(" tags "); b17 = element("b"); - b17.textContent = "class"; - t100 = text(" and "); + b17.textContent = "and"; + t153 = text(" classes to style buttons. This means that Bulma effectively corrupts 2/3rds of the specificity rules for its design (not to mention is needlessly repetitive). If you used this code in a part of your app, but needed to slightly change the padding, you'd be forced to struggle with Bulma taking over 2 of the 3 slots reserved for specificity:"); + t154 = space(); + ol3 = element("ol"); + li11 = element("li"); b18 = element("b"); - b18.textContent = "id"; - t102 = text(" specifics will work as expected. You can also replace many uses of class as design modifiers with scoped CSS variables and reduce the use of "); + b18.textContent = "button as a tag"; + t156 = text(" means Bulma has taken over the specificity at the tag level."); + t157 = space(); + li12 = element("li"); b19 = element("b"); - b19.textContent = "div.class"; - t104 = text(" even further."); - t105 = space(); - p14 = element("p"); - t106 = text("Finally, using "); + b19.textContent = "class=button"; + t159 = text(" means it's also taken the primary slot of class specificity."); + t160 = space(); + li13 = element("li"); + t161 = text("That leaves you with "); b20 = element("b"); - b20.textContent = "div.class"; - t108 = text(" heavy layout systems pollutes your markup with structure that's difficult to analyze and maintain. When you focus on using "); + b20.textContent = "id"; + t163 = text(" as your only way to modify a button, "); b21 = element("b"); - b21.textContent = "truly"; - t110 = text(" semantic named tags and follow specificity as intended then your HTML is lighter and easier to understand because it isn't full of "); + b21.textContent = "!important"; + t165 = text(", or strange specificity hacks like doubling your "); + a9 = element("a"); + a9.textContent = "classes as recommended by Mozilla."; + t167 = space(); + h34 = element("h3"); + h34.textContent = "Mozilla as Patient Zero"; + t169 = space(); + p21 = element("p"); + t170 = text("Mozilla's recommendations are another source of confusion in CSS frameworks and is most likely the "); b22 = element("b"); - b22.textContent = "div.grid.col-1.col-mx-auto"; - t112 = text(" class rules that really have nothing to do with the actual meaning of that particular visual element. With "); + b22.textContent = "cause of frameworks using structure divs"; + t172 = text(". "); + a10 = element("a"); + a10.textContent = "Mozilla recommends"; + t174 = text(" that instead of using "); b23 = element("b"); - b23.textContent = "flexbox"; - t114 = text(" and "); + b23.textContent = "!important"; + t176 = text(" you add a structure "); b24 = element("b"); - b24.textContent = "CSS grids"; - t116 = text(" you don't need any layout divs, and can keep the HTML clean and semantic. This also ends up being more flexible with less or the same effort as using a pre-made grid system full of divs."); - t117 = space(); - h16 = element("h1"); - h16.textContent = "Should we ban div.class?"; - t119 = space(); - p15 = element("p"); - t120 = text("Hell no. The current problem of "); + b24.textContent = "div"; + t178 = text(" to get one more level of specificity:"); + t179 = space(); + pre6 = element("pre"); + code4 = element("code"); + code4.textContent = "
\n Text\n
"; + t181 = space(); + pre7 = element("pre"); + code5 = element("code"); + code5.textContent = "div#test span { color: green; }\ndiv span { color: blue; }\nspan { color: red; }"; + t183 = space(); + p22 = element("p"); + t184 = text("In this \"fix\" for "); b25 = element("b"); - b25.textContent = "too much"; - t122 = text(" class based CSS is because of trends in recent years calling for everyone to irrationally ban some practice. Remember when everyone decided tables were evil? So then we banned tables and "); + b25.textContent = "!important"; + t186 = text(" your only choice is to wrap the component you want to modify with even more "); b26 = element("b"); - b26.textContent = "grids"; - t124 = text(" completely? Then nobody could do a layout without crazy tricks and JavaScript? Nobody wants a repeat of the anti-tables \"semantic markup\" war, so please don't ban "); + b26.textContent = "div"; + t188 = text(" structure and then create a more specific path with the new class. The problem with this fix is it overcomplicates the HTML but "); b27 = element("b"); - b27.textContent = "div.class"; - t126 = text("."); - t127 = space(); - p16 = element("p"); - t128 = text("All this website does is demonstrate that you don't need "); + b27.textContent = "also"; + t190 = text(" breaks separation of content from style. Rather than keep your content in HTML, and your style in CSS, you're now forced to infect your HTML with helpers for CSS, all because someone else thinks you shouldn't use "); b28 = element("b"); - b28.textContent = "so much div.class"; - t130 = text(". You can scrap a lot of what you're using now to do layout and go with clean HTML with flatter structure, then judiciously use "); + b28.textContent = "!important"; + t192 = text(" to override their classes."); + t193 = space(); + p23 = element("p"); + p23.textContent = "The other odd hack they recommend is simply doubling the class:"; + t195 = space(); + pre8 = element("pre"); + code6 = element("code"); + code6.textContent = "#myId#myId span { color: yellow; }\n.myClass.myClass span { color: orange; }"; + t197 = space(); + p24 = element("p"); + t198 = text("There's no explanation regarding why this odd quirk of browsers isn't just a hack, but it's put forward as superior to the very clear "); b29 = element("b"); - b29.textContent = "div.class"; - t132 = text(" as needed. Treat "); + b29.textContent = "!important"; + t200 = text(". It'd be incredibly easy to miss this double-class hack if you were trying to find it in the CSS, but finding "); b30 = element("b"); - b30.textContent = "div.class"; - t134 = text(" like salt. Right now you're pouring a whole box of it on your HTML when a little bit makes it taste better."); - t135 = space(); - h17 = element("h1"); - h17.textContent = "Do these demos work on phones?"; - t137 = space(); - p17 = element("p"); - p17.textContent = "They could but I haven't taken the time to make them adapt. That may come in a later release. Try it anyway\n as you may be surprised how well the layouts still work on smaller screens."; - t139 = space(); - h18 = element("h1"); - h18.textContent = "Can I suggest a challenge?"; - t141 = space(); - p18 = element("p"); - t142 = text("Yes please. If you find an example of a layout that you think is impossible with flexbox and CSS grids then tell me on "); - a5 = element("a"); - a5.textContent = "Twitter at @lzsthw"; - t144 = text(" and I'll attempt a replica. My only requirement is that you also have to tell me what trick the challenge is using. This is an exercise in replicating layouts, not reverse engineering devious hidden CSS tricks. Also keep in mind that I am not invested in \"winning\" and only curious about the limits of flexbox and CSS grids. If you find something I can't do, that means I found a useful limit to avoid. It doesn't mean that we throw out all of flexbox and CSS grids so you can go back to the float-clear-div-class 1990s."); - attr_dev(h10, "class", "svelte-3owcui"); - add_location(h10, file$1, 34, 2, 499); - add_location(b0, file$1, 35, 70, 587); - add_location(b1, file$1, 35, 89, 606); - add_location(p0, file$1, 35, 2, 519); - attr_dev(hero, "class", "svelte-3owcui"); - add_location(hero, file$1, 33, 0, 490); - add_location(hr0, file$1, 38, 0, 633); - add_location(h30, file$1, 42, 4, 663); + b30.textContent = "!important"; + t202 = text(" is trivial to find and fix later if you want. In fact, I can't actually see why this is better if it does the same thing as !important but in a sneaky way."); + t203 = space(); + h35 = element("h3"); + h35.textContent = "The Impact"; + t205 = space(); + p25 = element("p"); + t206 = text("The end result of these recommendations from Mozilla is people solve specificity by adding on more and more "); + b31 = element("b"); + b31.textContent = "divs"; + t208 = text(" because they've used "); + b32 = element("b"); + b32.textContent = "class"; + t210 = text(" everywhere and can't get around the specificity calculations any other way. You can see this in how Bulma uses extra "); + b33 = element("b"); + b33.textContent = "divs"; + t212 = text(" in its forms:"); + t213 = space(); + pre9 = element("pre"); + code7 = element("code"); + code7.textContent = "
\n \n
\n
\n \n
\n
\n
"; + t215 = space(); + p26 = element("p"); + t216 = text("You have three levels of "); + b34 = element("b"); + b34.textContent = "divs"; + t218 = text(" just to style a plain "); + b35 = element("b"); + b35.textContent = "select"; + t220 = text(" tag. Most likely the use of classes forces Bulma to add more divs to increase specificity because they have hijacked the class "); + b36 = element("b"); + b36.textContent = "specificity"; + t222 = text(" everywhere."); + t223 = space(); + p27 = element("p"); + t224 = text("Meanwhile, similar styling is done in "); + a11 = element("a"); + a11.textContent = "MVP.css"; + t226 = text(" and other \"classless\" frameworks by using perfectly normal and valid tag based selectors:"); + t227 = space(); + pre10 = element("pre"); + code8 = element("code"); + code8.textContent = "select {\n display: block;\n font-size: inherit;\n max-width: var(--width-card-wide);\n border: 1px solid var(--color-bg-secondary);\n border-radius: var(--border-radius);\n margin-bottom: 1rem;\n padding: 0.4rem 0.8rem;\n}"; + t229 = space(); + p28 = element("p"); + t230 = text("We can also say that "); + b37 = element("b"); + b37.textContent = "if"; + t232 = text(" there is some failing of CSS that requires extra class divs then where is the explanation for this limitation? Why can't we just use a simple tag selector to completely alter the appearance of a "); + b38 = element("b"); + b38.textContent = "select"; + t234 = text("? Why is it suddenly these problems go away when I slather on a mountain of "); + b39 = element("b"); + b39.textContent = "divs"; + t236 = text("? If this is really the situation then that means CSS has a serious flaw as the \"styling and layout\" component of the web and everyone advocating for it needs to be honest and stop blaming others for not knowing it well enough. My understanding though is CSS is perfectly fine at styling a "); + b40 = element("b"); + b40.textContent = "select"; + t238 = text(" tag all you want, and it's the way CSS is used today that's causing the problems."); + t239 = space(); + h22 = element("h2"); + h22.textContent = "The Cascade"; + t241 = space(); + p29 = element("p"); + t242 = text("At first glance most of the criticism might seem minor. Who cares if a single .class in a single .css file overrides my local CSS? That'd be fairly easy to find right? Where this turns into a usability nightmare is when "); + a12 = element("a"); + a12.textContent = "the cascade"; + t244 = text(" is added to the system. The cascade's purpose is to allow for CSS styles to come from different sources, but combine in a kind of hierarchy of importance. From "); + a13 = element("a"); + a13.textContent = "Mozilla's documentation"; + t246 = text(" we can see an initial problem:"); + t247 = space(); + quote1 = element("quote"); + p30 = element("p"); + p30.textContent = "Only CSS declarations, that is property/value pairs, participate in the cascade. This means that at-rules containing entities other than declarations, such as a @font-face rule containing descriptors, don't participate in the cascade. In these cases, only the at-rule as a whole participates in the cascade: here, the @font-face identified by its font-family descriptor. If several @font-face rules with the same descriptor are defined, only the most appropriate @font-face, as a whole, is considered."; + t249 = space(); + p31 = element("p"); + p31.textContent = "While the declarations contained in most at-rules — such as those in @media, @document, or @supports — participate in the cascade, declarations contained in @keyframes don't. As with @font-face, only the at-rule as a whole is selected via the cascade algorithm."; + t251 = space(); + p32 = element("p"); + p32.textContent = "Finally, note that @import and @charset obey specific algorithms and aren't affected by the cascade algorithm."; + t253 = space(); + p33 = element("p"); + t254 = text("So the cascade combines properties from "); + b41 = element("b"); + b41.textContent = "different sources"; + t256 = text(" but only properties that aren't @at-rules containing "); + em = element("em"); + em.textContent = "descriptors"; + t258 = text(", and @import or @charset follow another set of rules entirely. Got it? Great. So easy and consistent, and we're not done yet."); + t259 = space(); + p34 = element("p"); + p34.textContent = "Mozilla goes on to define the order these rules are processed (minus all the edge cases of @at-rules):"; + t261 = space(); + quote2 = element("quote"); + ol4 = element("ol"); + li14 = element("li"); + li14.textContent = "It first filters all the rules from the different sources to keep only the rules that apply to a given element."; + t263 = space(); + li15 = element("li"); + li15.textContent = "Then it sorts these rules according to their importance, that is, whether or not they are followed by !important, and by their origin."; + t265 = space(); + li16 = element("li"); + li16.textContent = "In case of equality, the specificity of a value is considered to choose one or the other."; + t267 = space(); + p35 = element("p"); + p35.textContent = "What is this ordering of rules? Why a handy list in this order (which isn't clearly described as being in most or least important ordering):"; + t269 = space(); + quote3 = element("quote"); + ol5 = element("ol"); + li17 = element("li"); + li17.textContent = "user agent == normal"; + t271 = space(); + li18 = element("li"); + li18.textContent = "user == normal"; + t273 = space(); + li19 = element("li"); + li19.textContent = "author == normal"; + t275 = space(); + li20 = element("li"); + li20.textContent = "animations =="; + t277 = space(); + li21 = element("li"); + li21.textContent = "author == !important"; + t279 = space(); + li22 = element("li"); + li22.textContent = "user == !important"; + t281 = space(); + li23 = element("li"); + li23.textContent = "user agent == !important"; + t283 = space(); + li24 = element("li"); + li24.textContent = "transitions"; + t285 = space(); + p36 = element("p"); + t286 = text("However, these calculations are completely pointless because "); + b42 = element("b"); + b42.textContent = "user style sheets have been slowly phased out."; + t288 = text(" A \"user style\" is a piece of CSS that someone who is "); + b43 = element("b"); + b43.textContent = "using"; + t290 = text(" a browser adds--on their own computer--to change the defaults set by the "); + b44 = element("b"); + b44.textContent = "author"; + t292 = text(" of the site. The catch is, Chrome "); + a14 = element("a"); + a14.textContent = "does not support user style sheets"; + t294 = text(", and it's the most popular browser. That means they are completely dead for practical purposes. That leaves the user agent, which is usually reset by designers anyway, and \"author\" styles which is simply, "); + b45 = element("b"); + b45.textContent = "\"all of the CSS you write\""; + t296 = text("."); + t297 = space(); + p37 = element("p"); + t298 = text("The confusing part of this description is it makes it "); + b46 = element("b"); + b46.textContent = "seem"; + t300 = text(" like someone writing a web page is having to contend with these rules that include user styles when you actually have zero control over them, so they don't matter. The real calculations for practical purposes should be (from least to most important):"); + t301 = space(); + ol6 = element("ol"); + li25 = element("li"); + li25.textContent = "Sort by !important."; + t303 = space(); + li26 = element("li"); + li26.textContent = "Sort by specificity."; + t305 = space(); + li27 = element("li"); + li27.textContent = "Sort by order, later wins over earlier."; + t307 = space(); + p38 = element("p"); + p38.textContent = "That's it. User agent styles are so low level they are easily replaced with a reset style. No user agents have !important rules (that I know of), and if they do this means you probably can't change them anyway. You can't control user styles as that's added by the user out of your control, so trying to add them to your calculations is meaningless. That leaves only the rules for cascade precedence in the CSS you write, and this simplifies the ordering."; + t309 = space(); + p39 = element("p"); + t310 = text("Remember how you were admonished to never use "); + b47 = element("b"); + b47.textContent = "!important"; + t312 = text("? If you follow that edict, then, that means we finally arrive at only two sorting rules:"); + t313 = space(); + ol7 = element("ol"); + li28 = element("li"); + li28.textContent = "Sort by specificity."; + t315 = space(); + li29 = element("li"); + li29.textContent = "Sort by order, later wins over earlier."; + t317 = space(); + p40 = element("p"); + t318 = text("But finally, the last rule of sorting by order is "); + b48 = element("b"); + b48.textContent = "only if there's a tie"; + t320 = text(" in the previous sorting. That means there's really only 1 rule, or maybe 1.5 rules, where you sort by specificity only and then order wins in a tie."); + t321 = space(); + h23 = element("h2"); + h23.textContent = "The Impact"; + t323 = space(); + p41 = element("p"); + p41.textContent = "I call these simplified practical rules the \"real cascade\" because they're the practical sorting rules you actually have to deal with, and they also help finally describe how modern CSS breaks this sorting cascade to make CSS harder:"; + t325 = space(); + ol8 = element("ol"); + li30 = element("li"); + li30.textContent = "If we sort by !important, but nobody uses !important, then the only sorting done is by specificity."; + t327 = space(); + li31 = element("li"); + t328 = text("If we sort by specificity 99% of the time, then modern CSS forces itself into the second highest priority of the sorting calculation leaving no room for your own local "); + b49 = element("b"); + b49.textContent = "class"; + t330 = text(" or "); + b50 = element("b"); + b50.textContent = "tag"; + t332 = text(" styles."); + t333 = space(); + li32 = element("li"); + t334 = text("If we then sort by order of declaration "); + b51 = element("b"); + b51.textContent = "on specificity ties"; + t336 = text(" it doesn't matter because #2 means the CSS framework will win unless we add an additional structure div to increase specificity, use the double-class trick, or add !important (which everyone says not to do)."); + t337 = space(); + p42 = element("p"); + t338 = text("Effectively, this situation promotes CSS frameworks winning over your own styles, encourages convoluted nested "); + b52 = element("b"); + b52.textContent = "div"; + t340 = text(" structure to hack specificity, and complicates cascade calculations needlessly by changing the priority of an author style that uses "); + b53 = element("b"); + b53.textContent = "div.class"; + t342 = text(" such that it's difficult to modify design elements locally."); + t343 = space(); + h24 = element("h2"); + h24.textContent = "An Alternative Approach"; + t345 = space(); + p43 = element("p"); + p43.textContent = "Can we simplify CSS usage to avoid as many pitfalls as possible while still allowing for modern visual presentation? Since CSS lacks clear rules for the cascade, and has overly complicated rules governing the calculations of specificity using these unclear cascade rules, a good approach is to simply avoid as many of these rules as possible. We can do this by realizing that...we can just not use most of this:"; + t347 = space(); + ol9 = element("ol"); + li33 = element("li"); + b54 = element("b"); + b54.textContent = "Simplify specificity"; + t349 = text(" by using tag selectors (aka type selectors) instead "); + b55 = element("b"); + b55.textContent = "classes"; + t351 = text("."); + t352 = space(); + li34 = element("li"); + b56 = element("b"); + b56.textContent = "Simplify HTML"; + t354 = text(" by using actual "); + b57 = element("b"); + b57.textContent = ""; + t356 = text(" instead of "); + b58 = element("b"); + b58.textContent = ""; + t358 = text("."); + t359 = space(); + li35 = element("li"); + b59 = element("b"); + b59.textContent = "Simplify layout and HTML"; + t361 = text(" by using flexbox and CSS grids instead of convoluted structure "); + b60 = element("b"); + b60.textContent = "divs"; + t363 = text("."); + t364 = space(); + li36 = element("li"); + b61 = element("b"); + b61.textContent = "Simplify visual reasoning"; + t366 = text(" by naming tags to match their actual role in the visual display."); + t367 = space(); + li37 = element("li"); + b62 = element("b"); + b62.textContent = "Simplify interactions"; + t369 = text(" by using "); + b63 = element("b"); + b63.textContent = "class"; + t371 = text(" sparingly for variants or state changes."); + t372 = space(); + li38 = element("li"); + b64 = element("b"); + b64.textContent = "Simplify extension and modification"; + t374 = text(" by using "); + b65 = element("b"); + b65.textContent = "id"; + t376 = text(" for specific local elements that have their own style changes overriding the previous definitions."); + t377 = space(); + li39 = element("li"); + b66 = element("b"); + b66.textContent = "Simplify development"; + t379 = text(" by adding more complicated CSS "); + b67 = element("b"); + b67.textContent = "after"; + t381 = text(" you get simpler CSS working."); + t382 = text("\n\nLinks:\n\nhttps://www.w3.org/TR/CSS22/cascade.html#specificity"); + attr_dev(h10, "class", "svelte-1nza6iy"); + add_location(h10, file$1, 41, 0, 660); + add_location(b0, file$1, 42, 68, 746); + add_location(b1, file$1, 42, 87, 765); + add_location(p0, file$1, 42, 0, 678); + attr_dev(hero, "class", "svelte-1nza6iy"); + add_location(hero, file$1, 40, 0, 653); + add_location(hr0, file$1, 45, 0, 792); + add_location(h30, file$1, 49, 4, 822); attr_dev(a0, "href", "https://andybrewer.github.io/mvp/"); - attr_dev(a0, "class", "svelte-3owcui"); - add_location(a0, file$1, 44, 36, 758); - add_location(p1, file$1, 44, 4, 726); - attr_dev(aside0, "class", "svelte-3owcui"); - add_location(aside0, file$1, 41, 2, 651); - add_location(h31, file$1, 49, 4, 904); + attr_dev(a0, "class", "svelte-1nza6iy"); + add_location(a0, file$1, 51, 36, 917); + add_location(p1, file$1, 51, 4, 885); + attr_dev(aside0, "class", "svelte-1nza6iy"); + add_location(aside0, file$1, 48, 2, 810); + add_location(h31, file$1, 56, 4, 1065); attr_dev(a1, "href", "https://css-tricks.com/snippets/css/a-guide-to-flexbox/"); - attr_dev(a1, "class", "svelte-3owcui"); - add_location(a1, file$1, 51, 13, 980); + attr_dev(a1, "class", "svelte-1nza6iy"); + add_location(a1, file$1, 58, 13, 1141); attr_dev(a2, "href", "https://css-tricks.com/snippets/css/complete-guide-grid/"); - attr_dev(a2, "class", "svelte-3owcui"); - add_location(a2, file$1, 51, 95, 1062); - add_location(p2, file$1, 51, 4, 971); - attr_dev(aside1, "class", "svelte-3owcui"); - add_location(aside1, file$1, 48, 2, 892); - add_location(h32, file$1, 55, 4, 1230); - add_location(p3, file$1, 57, 4, 1303); - add_location(aside2, file$1, 54, 2, 1218); - add_location(section0, file$1, 40, 0, 639); - add_location(h11, file$1, 66, 4, 1505); - add_location(section1, file$1, 65, 2, 1491); - add_location(b2, file$1, 73, 15, 1861); - add_location(p4, file$1, 69, 2, 1542); - add_location(p5, file$1, 77, 2, 2010); - add_location(pre0, file$1, 81, 2, 2076); - add_location(aside3, file$1, 80, 2, 2066); - add_location(section2, file$1, 79, 2, 2054); - add_location(p6, file$1, 91, 2, 2210); - add_location(pre1, file$1, 95, 2, 2305); - add_location(aside4, file$1, 94, 2, 2295); - add_location(section3, file$1, 93, 2, 2283); - add_location(hr1, file$1, 103, 2, 2380); + attr_dev(a2, "class", "svelte-1nza6iy"); + add_location(a2, file$1, 58, 95, 1223); + add_location(p2, file$1, 58, 4, 1132); + attr_dev(aside1, "class", "svelte-1nza6iy"); + add_location(aside1, file$1, 55, 2, 1053); + add_location(h32, file$1, 62, 4, 1391); + add_location(p3, file$1, 64, 4, 1464); + add_location(aside2, file$1, 61, 2, 1379); + add_location(section0, file$1, 47, 0, 798); + add_location(h11, file$1, 73, 2, 1662); + add_location(section1, file$1, 72, 0, 1650); + add_location(b2, file$1, 80, 13, 2006); + add_location(p4, file$1, 76, 0, 1695); + add_location(p5, file$1, 84, 0, 2149); + add_location(pre0, file$1, 88, 4, 2215); + add_location(aside3, file$1, 87, 2, 2203); + add_location(section2, file$1, 86, 0, 2191); + add_location(p6, file$1, 98, 0, 2347); + add_location(pre1, file$1, 102, 4, 2442); + add_location(aside4, file$1, 101, 2, 2430); + add_location(section3, file$1, 100, 0, 2418); + add_location(hr1, file$1, 110, 0, 2515); attr_dev(a3, "href", "https://twitter.com/lzsthw"); - add_location(a3, file$1, 106, 109, 2608); - add_location(p7, file$1, 105, 4, 2401); - add_location(button, file$1, 108, 30, 2721); + add_location(a3, file$1, 113, 107, 2737); + add_location(p7, file$1, 112, 2, 2532); + add_location(button, file$1, 115, 28, 2846); attr_dev(a4, "href", "/demos"); - add_location(a4, file$1, 108, 4, 2695); - add_location(section4, file$1, 104, 2, 2387); - add_location(hr2, file$1, 111, 2, 2773); - attr_dev(h12, "id", "faq"); - attr_dev(h12, "class", "svelte-3owcui"); - add_location(h12, file$1, 113, 4, 2794); - add_location(section5, file$1, 112, 2, 2780); - add_location(h13, file$1, 116, 2, 2832); - add_location(b3, file$1, 118, 331, 3194); - add_location(b4, file$1, 118, 347, 3210); - add_location(p8, file$1, 118, 2, 2865); - add_location(b5, file$1, 121, 56, 3419); - add_location(b6, file$1, 121, 83, 3446); - add_location(b7, file$1, 121, 122, 3485); - add_location(b8, file$1, 121, 182, 3545); - add_location(p9, file$1, 121, 2, 3365); - add_location(h14, file$1, 124, 2, 3677); - add_location(p10, file$1, 125, 2, 3725); - add_location(p11, file$1, 128, 2, 3949); - add_location(h15, file$1, 131, 2, 4432); - add_location(b9, file$1, 133, 256, 4725); - add_location(b10, file$1, 133, 321, 4790); - add_location(b11, file$1, 133, 384, 4853); - add_location(b12, file$1, 133, 516, 4985); - add_location(b13, file$1, 133, 601, 5070); - add_location(b14, file$1, 133, 622, 5091); - add_location(p12, file$1, 133, 2, 4471); - add_location(b15, file$1, 135, 28, 5138); - add_location(b16, file$1, 135, 314, 5424); - add_location(b17, file$1, 135, 571, 5681); - add_location(b18, file$1, 135, 588, 5698); - add_location(b19, file$1, 135, 740, 5850); - add_location(p13, file$1, 135, 2, 5112); - add_location(b20, file$1, 137, 20, 5906); - add_location(b21, file$1, 137, 161, 6047); - add_location(b22, file$1, 137, 305, 6191); - add_location(b23, file$1, 137, 447, 6333); - add_location(b24, file$1, 137, 466, 6352); - add_location(p14, file$1, 137, 2, 5888); - add_location(h16, file$1, 139, 2, 6564); - add_location(b25, file$1, 141, 38, 6637); - add_location(b26, file$1, 141, 243, 6842); - add_location(b27, file$1, 141, 421, 7020); - add_location(p15, file$1, 141, 2, 6601); - add_location(b28, file$1, 143, 62, 7105); - add_location(b29, file$1, 143, 215, 7258); - add_location(b30, file$1, 143, 250, 7293); - add_location(p16, file$1, 143, 2, 7045); - add_location(h17, file$1, 145, 2, 7425); - add_location(p17, file$1, 146, 2, 7467); - add_location(h18, file$1, 149, 2, 7667); - attr_dev(a5, "href", "https://twitter.com/lzsthw"); - add_location(a5, file$1, 150, 125, 7828); - add_location(p18, file$1, 150, 2, 7705); - attr_dev(rationale, "class", "svelte-3owcui"); - add_location(rationale, file$1, 64, 0, 1477); + add_location(a4, file$1, 115, 2, 2820); + add_location(section4, file$1, 111, 0, 2520); + add_location(hr2, file$1, 118, 0, 2894); + add_location(h12, file$1, 119, 0, 2899); + add_location(p8, file$1, 121, 0, 2920); + add_location(b3, file$1, 123, 17, 3063); + add_location(li0, file$1, 123, 2, 3048); + add_location(b4, file$1, 124, 17, 3211); + add_location(b5, file$1, 124, 40, 3234); + add_location(li1, file$1, 124, 2, 3196); + add_location(li2, file$1, 125, 2, 3350); + add_location(ol0, file$1, 122, 0, 3041); + add_location(h20, file$1, 128, 0, 3463); + add_location(b6, file$1, 130, 40, 3538); + attr_dev(a5, "href", "https://getbootstrap.com/docs/4.0/layout/grid/"); + add_location(a5, file$1, 130, 111, 3609); + add_location(p9, file$1, 130, 0, 3498); + attr_dev(code0, "class", "language-html svelte-1nza6iy"); + add_location(code0, file$1, 133, 0, 3692); + attr_dev(pre2, "class", "svelte-1nza6iy"); + add_location(pre2, file$1, 132, 0, 3686); + add_location(b7, file$1, 146, 85, 4132); + add_location(b8, file$1, 146, 137, 4184); + add_location(p10, file$1, 146, 0, 4047); + attr_dev(code1, "class", "language-html svelte-1nza6iy"); + add_location(code1, file$1, 149, 0, 4310); + attr_dev(pre3, "class", "svelte-1nza6iy"); + add_location(pre3, file$1, 148, 0, 4304); + add_location(b9, file$1, 166, 108, 4992); + add_location(b10, file$1, 166, 122, 5006); + add_location(p11, file$1, 166, 0, 4884); + attr_dev(code2, "class", "language-html svelte-1nza6iy"); + add_location(code2, file$1, 169, 0, 5168); + attr_dev(pre4, "class", "svelte-1nza6iy"); + add_location(pre4, file$1, 168, 0, 5162); + add_location(p12, file$1, 187, 0, 5720); + attr_dev(a6, "href", "https://developer.mozilla.org/en-US/docs/Learn/CSS"); + add_location(a6, file$1, 189, 120, 6071); + add_location(p13, file$1, 189, 0, 5951); + attr_dev(quote0, "class", "svelte-1nza6iy"); + add_location(quote0, file$1, 191, 0, 6180); + attr_dev(a7, "href", "https://developer.mozilla.org/en-US/docs/Learn/CSS"); + add_location(a7, file$1, 195, 167, 6652); + add_location(p14, file$1, 195, 0, 6485); + add_location(b11, file$1, 197, 138, 6996); + add_location(p15, file$1, 197, 0, 6858); + add_location(h33, file$1, 199, 0, 7106); + add_location(b12, file$1, 201, 29, 7156); + add_location(p16, file$1, 201, 0, 7127); + add_location(li3, file$1, 204, 2, 7304); + add_location(li4, file$1, 205, 2, 7471); + add_location(b13, file$1, 206, 103, 7706); + add_location(b14, file$1, 206, 128, 7731); + add_location(li5, file$1, 206, 2, 7605); + add_location(li6, file$1, 207, 2, 7794); + add_location(li7, file$1, 208, 2, 7998); + add_location(ol1, file$1, 203, 0, 7297); + add_location(p17, file$1, 211, 0, 8216); + add_location(li8, file$1, 214, 2, 8562); + add_location(b15, file$1, 215, 27, 8613); + add_location(li9, file$1, 215, 2, 8588); + add_location(li10, file$1, 216, 2, 8632); + add_location(ol2, file$1, 213, 0, 8555); + add_location(p18, file$1, 219, 0, 8679); + add_location(h21, file$1, 221, 0, 8968); + attr_dev(a8, "href", "https://bulma.io/documentation/overview/modular/"); + add_location(a8, file$1, 223, 46, 9047); + add_location(p19, file$1, 223, 0, 9001); + attr_dev(code3, "class", "language-html svelte-1nza6iy"); + add_location(code3, file$1, 226, 4, 9160); + attr_dev(pre5, "class", "svelte-1nza6iy"); + add_location(pre5, file$1, 225, 0, 9150); + add_location(b16, file$1, 237, 46, 9385); + add_location(b17, file$1, 237, 63, 9402); + add_location(p20, file$1, 237, 0, 9339); + add_location(b18, file$1, 240, 6, 9772); + add_location(li11, file$1, 240, 2, 9768); + add_location(b19, file$1, 241, 6, 9867); + add_location(li12, file$1, 241, 2, 9863); + add_location(b20, file$1, 242, 27, 9980); + add_location(b21, file$1, 242, 74, 10027); + attr_dev(a9, "href", "https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity#The_!important_exception"); + add_location(a9, file$1, 242, 141, 10094); + add_location(li13, file$1, 242, 2, 9955); + add_location(ol3, file$1, 239, 0, 9761); + add_location(h34, file$1, 245, 0, 10241); + add_location(b22, file$1, 247, 102, 10377); + attr_dev(a10, "href", "https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity#The_!important_exception"); + add_location(a10, file$1, 247, 152, 10427); + add_location(b23, file$1, 247, 293, 10568); + add_location(b24, file$1, 247, 331, 10606); + add_location(p21, file$1, 247, 0, 10275); + attr_dev(code4, "class", "language-html svelte-1nza6iy"); + add_location(code4, file$1, 250, 0, 10666); + attr_dev(pre6, "class", "svelte-1nza6iy"); + add_location(pre6, file$1, 249, 0, 10660); + attr_dev(code5, "class", "language-css svelte-1nza6iy"); + add_location(code5, file$1, 258, 0, 10784); + attr_dev(pre7, "class", "svelte-1nza6iy"); + add_location(pre7, file$1, 257, 0, 10778); + add_location(b25, file$1, 265, 21, 10970); + add_location(b26, file$1, 265, 115, 11064); + add_location(b27, file$1, 265, 255, 11204); + add_location(b28, file$1, 265, 481, 11430); + add_location(p22, file$1, 265, 0, 10949); + add_location(p23, file$1, 267, 0, 11480); + attr_dev(code6, "class", "language-css svelte-1nza6iy"); + add_location(code6, file$1, 270, 0, 11558); + attr_dev(pre8, "class", "svelte-1nza6iy"); + add_location(pre8, file$1, 269, 0, 11552); + add_location(b29, file$1, 276, 137, 11829); + add_location(b30, file$1, 276, 266, 11958); + add_location(p24, file$1, 276, 0, 11692); + add_location(h35, file$1, 278, 0, 12137); + add_location(b31, file$1, 280, 111, 12269); + add_location(b32, file$1, 280, 144, 12302); + add_location(b33, file$1, 280, 274, 12432); + add_location(p25, file$1, 280, 0, 12158); + attr_dev(code7, "class", "language-html svelte-1nza6iy"); + add_location(code7, file$1, 283, 0, 12469); + attr_dev(pre9, "class", "svelte-1nza6iy"); + add_location(pre9, file$1, 282, 0, 12463); + add_location(b34, file$1, 298, 28, 12871); + add_location(b35, file$1, 298, 62, 12905); + add_location(b36, file$1, 298, 204, 13047); + add_location(p26, file$1, 298, 0, 12843); + attr_dev(a11, "href", "https://andybrewer.github.io/mvp/"); + add_location(a11, file$1, 301, 41, 13125); + add_location(p27, file$1, 301, 0, 13084); + attr_dev(code8, "class", "language-css svelte-1nza6iy"); + add_location(code8, file$1, 304, 0, 13282); + attr_dev(pre10, "class", "svelte-1nza6iy"); + add_location(pre10, file$1, 303, 0, 13276); + add_location(b37, file$1, 317, 24, 13601); + add_location(b38, file$1, 317, 230, 13807); + add_location(b39, file$1, 317, 320, 13897); + add_location(b40, file$1, 317, 623, 14200); + add_location(p28, file$1, 317, 0, 13577); + add_location(h22, file$1, 319, 0, 14301); + attr_dev(a12, "href", "https://developer.mozilla.org/en-US/docs/Web/CSS/Cascade"); + add_location(a12, file$1, 321, 226, 14549); + attr_dev(a13, "href", "https://developer.mozilla.org/en-US/docs/Web/CSS/Cascade"); + add_location(a13, file$1, 321, 471, 14794); + add_location(p29, file$1, 321, 0, 14323); + add_location(p30, file$1, 324, 0, 14933); + add_location(p31, file$1, 326, 0, 15443); + add_location(p32, file$1, 328, 0, 15713); + attr_dev(quote1, "class", "svelte-1nza6iy"); + add_location(quote1, file$1, 323, 0, 14925); + add_location(b41, file$1, 331, 43, 15884); + add_location(em, file$1, 331, 121, 15962); + add_location(p33, file$1, 331, 0, 15841); + add_location(p34, file$1, 333, 0, 16116); + add_location(li14, file$1, 337, 2, 16242); + add_location(li15, file$1, 338, 2, 16365); + add_location(li16, file$1, 339, 2, 16511); + add_location(ol4, file$1, 336, 0, 16235); + attr_dev(quote2, "class", "svelte-1nza6iy"); + add_location(quote2, file$1, 335, 0, 16227); + add_location(p35, file$1, 343, 0, 16626); + add_location(li17, file$1, 347, 2, 16791); + add_location(li18, file$1, 348, 2, 16823); + add_location(li19, file$1, 349, 2, 16849); + add_location(li20, file$1, 350, 2, 16877); + add_location(li21, file$1, 351, 2, 16903); + add_location(li22, file$1, 352, 2, 16935); + add_location(li23, file$1, 353, 2, 16965); + add_location(li24, file$1, 354, 2, 17001); + add_location(ol5, file$1, 346, 0, 16784); + attr_dev(quote3, "class", "svelte-1nza6iy"); + add_location(quote3, file$1, 345, 0, 16776); + add_location(b42, file$1, 358, 64, 17102); + add_location(b43, file$1, 358, 171, 17209); + add_location(b44, file$1, 358, 257, 17295); + attr_dev(a14, "href", "https://bugs.chromium.org/p/chromium/issues/detail?id=347016"); + add_location(a14, file$1, 358, 305, 17343); + add_location(b45, file$1, 358, 621, 17659); + add_location(p36, file$1, 358, 0, 17038); + add_location(b46, file$1, 360, 57, 17756); + add_location(p37, file$1, 360, 0, 17699); + add_location(li25, file$1, 363, 2, 18032); + add_location(li26, file$1, 364, 2, 18063); + add_location(li27, file$1, 365, 2, 18095); + add_location(ol6, file$1, 362, 0, 18025); + add_location(p38, file$1, 368, 0, 18151); + add_location(b47, file$1, 370, 49, 18667); + add_location(p39, file$1, 370, 0, 18618); + add_location(li28, file$1, 373, 2, 18787); + add_location(li29, file$1, 374, 2, 18819); + add_location(ol7, file$1, 372, 0, 18780); + add_location(b48, file$1, 377, 53, 18928); + add_location(p40, file$1, 377, 0, 18875); + add_location(h23, file$1, 380, 0, 19113); + add_location(p41, file$1, 382, 0, 19134); + add_location(li30, file$1, 385, 2, 19383); + add_location(b49, file$1, 386, 174, 19666); + add_location(b50, file$1, 386, 190, 19682); + add_location(li31, file$1, 386, 2, 19494); + add_location(b51, file$1, 387, 46, 19752); + add_location(li32, file$1, 387, 2, 19708); + add_location(ol8, file$1, 384, 0, 19376); + add_location(b52, file$1, 390, 114, 20113); + add_location(b53, file$1, 390, 258, 20257); + add_location(p42, file$1, 390, 0, 19999); + add_location(h24, file$1, 392, 0, 20339); + add_location(p43, file$1, 394, 0, 20373); + add_location(b54, file$1, 397, 6, 20806); + add_location(b55, file$1, 397, 86, 20886); + add_location(li33, file$1, 397, 2, 20802); + add_location(b56, file$1, 398, 6, 20913); + add_location(b57, file$1, 398, 43, 20950); + add_location(b58, file$1, 398, 74, 20981); + add_location(li34, file$1, 398, 2, 20909); + add_location(b59, file$1, 399, 6, 21036); + add_location(b60, file$1, 399, 101, 21131); + add_location(li35, file$1, 399, 2, 21032); + add_location(b61, file$1, 400, 6, 21155); + add_location(li36, file$1, 400, 2, 21151); + add_location(b62, file$1, 401, 6, 21264); + add_location(b63, file$1, 401, 44, 21302); + add_location(li37, file$1, 401, 2, 21260); + add_location(b64, file$1, 402, 6, 21367); + add_location(b65, file$1, 402, 58, 21419); + add_location(li38, file$1, 402, 2, 21363); + add_location(b66, file$1, 403, 6, 21539); + add_location(b67, file$1, 403, 65, 21598); + add_location(li39, file$1, 403, 2, 21535); + add_location(ol9, file$1, 396, 0, 20795); + attr_dev(rationale, "class", "svelte-1nza6iy"); + add_location(rationale, file$1, 71, 0, 1638); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -2532,108 +3379,398 @@ var app = (function () { append_dev(rationale, t50); append_dev(rationale, hr2); append_dev(rationale, t51); - append_dev(rationale, section5); - append_dev(section5, h12); + append_dev(rationale, h12); append_dev(rationale, t53); - append_dev(rationale, h13); - append_dev(rationale, t55); append_dev(rationale, p8); - append_dev(p8, t56); - append_dev(p8, b3); - append_dev(p8, t58); - append_dev(p8, b4); - append_dev(p8, t60); - append_dev(rationale, t61); + append_dev(rationale, t55); + append_dev(rationale, ol0); + append_dev(ol0, li0); + append_dev(li0, t56); + append_dev(li0, b3); + append_dev(li0, t58); + append_dev(ol0, t59); + append_dev(ol0, li1); + append_dev(li1, t60); + append_dev(li1, b4); + append_dev(li1, t62); + append_dev(li1, b5); + append_dev(li1, t64); + append_dev(ol0, t65); + append_dev(ol0, li2); + append_dev(rationale, t67); + append_dev(rationale, h20); + append_dev(rationale, t69); append_dev(rationale, p9); - append_dev(p9, t62); - append_dev(p9, b5); - append_dev(p9, t64); - append_dev(p9, b6); - append_dev(p9, t66); - append_dev(p9, b7); - append_dev(p9, t68); - append_dev(p9, b8); append_dev(p9, t70); - append_dev(rationale, t71); - append_dev(rationale, h14); - append_dev(rationale, t73); - append_dev(rationale, p10); + append_dev(p9, b6); + append_dev(p9, t72); + append_dev(p9, a5); + append_dev(p9, t74); append_dev(rationale, t75); - append_dev(rationale, p11); + append_dev(rationale, pre2); + append_dev(pre2, code0); append_dev(rationale, t77); - append_dev(rationale, h15); - append_dev(rationale, t79); - append_dev(rationale, p12); - append_dev(p12, t80); - append_dev(p12, b9); - append_dev(p12, t82); - append_dev(p12, b10); - append_dev(p12, t84); - append_dev(p12, b11); - append_dev(p12, t86); - append_dev(p12, b12); - append_dev(p12, t88); - append_dev(p12, b13); - append_dev(p12, t90); - append_dev(p12, b14); - append_dev(p12, t92); + append_dev(rationale, p10); + append_dev(p10, t78); + append_dev(p10, b7); + append_dev(p10, t80); + append_dev(p10, b8); + append_dev(p10, t82); + append_dev(rationale, t83); + append_dev(rationale, pre3); + append_dev(pre3, code1); + append_dev(rationale, t85); + append_dev(rationale, p11); + append_dev(p11, t86); + append_dev(p11, b9); + append_dev(p11, t88); + append_dev(p11, b10); + append_dev(p11, t90); + append_dev(rationale, t91); + append_dev(rationale, pre4); + append_dev(pre4, code2); append_dev(rationale, t93); + append_dev(rationale, p12); + append_dev(rationale, t95); append_dev(rationale, p13); - append_dev(p13, t94); - append_dev(p13, b15); append_dev(p13, t96); - append_dev(p13, b16); + append_dev(p13, a6); append_dev(p13, t98); - append_dev(p13, b17); - append_dev(p13, t100); - append_dev(p13, b18); - append_dev(p13, t102); - append_dev(p13, b19); - append_dev(p13, t104); - append_dev(rationale, t105); + append_dev(rationale, t99); + append_dev(rationale, quote0); + append_dev(rationale, t101); append_dev(rationale, p14); - append_dev(p14, t106); - append_dev(p14, b20); - append_dev(p14, t108); - append_dev(p14, b21); - append_dev(p14, t110); - append_dev(p14, b22); - append_dev(p14, t112); - append_dev(p14, b23); - append_dev(p14, t114); - append_dev(p14, b24); - append_dev(p14, t116); - append_dev(rationale, t117); - append_dev(rationale, h16); - append_dev(rationale, t119); + append_dev(p14, t102); + append_dev(p14, a7); + append_dev(p14, t104); + append_dev(rationale, t105); append_dev(rationale, p15); - append_dev(p15, t120); - append_dev(p15, b25); - append_dev(p15, t122); - append_dev(p15, b26); - append_dev(p15, t124); - append_dev(p15, b27); - append_dev(p15, t126); - append_dev(rationale, t127); + append_dev(p15, t106); + append_dev(p15, b11); + append_dev(p15, t108); + append_dev(rationale, t109); + append_dev(rationale, h33); + append_dev(rationale, t111); append_dev(rationale, p16); - append_dev(p16, t128); - append_dev(p16, b28); - append_dev(p16, t130); - append_dev(p16, b29); - append_dev(p16, t132); - append_dev(p16, b30); - append_dev(p16, t134); - append_dev(rationale, t135); - append_dev(rationale, h17); - append_dev(rationale, t137); + append_dev(p16, t112); + append_dev(p16, b12); + append_dev(p16, t114); + append_dev(rationale, t115); + append_dev(rationale, ol1); + append_dev(ol1, li3); + append_dev(ol1, t117); + append_dev(ol1, li4); + append_dev(ol1, t119); + append_dev(ol1, li5); + append_dev(li5, t120); + append_dev(li5, b13); + append_dev(li5, t122); + append_dev(li5, b14); + append_dev(li5, t124); + append_dev(ol1, t125); + append_dev(ol1, li6); + append_dev(ol1, t127); + append_dev(ol1, li7); + append_dev(rationale, t129); append_dev(rationale, p17); - append_dev(rationale, t139); - append_dev(rationale, h18); - append_dev(rationale, t141); + append_dev(rationale, t131); + append_dev(rationale, ol2); + append_dev(ol2, li8); + append_dev(ol2, t133); + append_dev(ol2, li9); + append_dev(li9, t134); + append_dev(li9, b15); + append_dev(ol2, t136); + append_dev(ol2, li10); + append_dev(rationale, t138); append_dev(rationale, p18); - append_dev(p18, t142); - append_dev(p18, a5); - append_dev(p18, t144); + append_dev(rationale, t140); + append_dev(rationale, h21); + append_dev(rationale, t142); + append_dev(rationale, p19); + append_dev(p19, t143); + append_dev(p19, a8); + append_dev(p19, t145); + append_dev(rationale, t146); + append_dev(rationale, pre5); + append_dev(pre5, code3); + append_dev(rationale, t148); + append_dev(rationale, p20); + append_dev(p20, t149); + append_dev(p20, b16); + append_dev(p20, t151); + append_dev(p20, b17); + append_dev(p20, t153); + append_dev(rationale, t154); + append_dev(rationale, ol3); + append_dev(ol3, li11); + append_dev(li11, b18); + append_dev(li11, t156); + append_dev(ol3, t157); + append_dev(ol3, li12); + append_dev(li12, b19); + append_dev(li12, t159); + append_dev(ol3, t160); + append_dev(ol3, li13); + append_dev(li13, t161); + append_dev(li13, b20); + append_dev(li13, t163); + append_dev(li13, b21); + append_dev(li13, t165); + append_dev(li13, a9); + append_dev(rationale, t167); + append_dev(rationale, h34); + append_dev(rationale, t169); + append_dev(rationale, p21); + append_dev(p21, t170); + append_dev(p21, b22); + append_dev(p21, t172); + append_dev(p21, a10); + append_dev(p21, t174); + append_dev(p21, b23); + append_dev(p21, t176); + append_dev(p21, b24); + append_dev(p21, t178); + append_dev(rationale, t179); + append_dev(rationale, pre6); + append_dev(pre6, code4); + append_dev(rationale, t181); + append_dev(rationale, pre7); + append_dev(pre7, code5); + append_dev(rationale, t183); + append_dev(rationale, p22); + append_dev(p22, t184); + append_dev(p22, b25); + append_dev(p22, t186); + append_dev(p22, b26); + append_dev(p22, t188); + append_dev(p22, b27); + append_dev(p22, t190); + append_dev(p22, b28); + append_dev(p22, t192); + append_dev(rationale, t193); + append_dev(rationale, p23); + append_dev(rationale, t195); + append_dev(rationale, pre8); + append_dev(pre8, code6); + append_dev(rationale, t197); + append_dev(rationale, p24); + append_dev(p24, t198); + append_dev(p24, b29); + append_dev(p24, t200); + append_dev(p24, b30); + append_dev(p24, t202); + append_dev(rationale, t203); + append_dev(rationale, h35); + append_dev(rationale, t205); + append_dev(rationale, p25); + append_dev(p25, t206); + append_dev(p25, b31); + append_dev(p25, t208); + append_dev(p25, b32); + append_dev(p25, t210); + append_dev(p25, b33); + append_dev(p25, t212); + append_dev(rationale, t213); + append_dev(rationale, pre9); + append_dev(pre9, code7); + append_dev(rationale, t215); + append_dev(rationale, p26); + append_dev(p26, t216); + append_dev(p26, b34); + append_dev(p26, t218); + append_dev(p26, b35); + append_dev(p26, t220); + append_dev(p26, b36); + append_dev(p26, t222); + append_dev(rationale, t223); + append_dev(rationale, p27); + append_dev(p27, t224); + append_dev(p27, a11); + append_dev(p27, t226); + append_dev(rationale, t227); + append_dev(rationale, pre10); + append_dev(pre10, code8); + append_dev(rationale, t229); + append_dev(rationale, p28); + append_dev(p28, t230); + append_dev(p28, b37); + append_dev(p28, t232); + append_dev(p28, b38); + append_dev(p28, t234); + append_dev(p28, b39); + append_dev(p28, t236); + append_dev(p28, b40); + append_dev(p28, t238); + append_dev(rationale, t239); + append_dev(rationale, h22); + append_dev(rationale, t241); + append_dev(rationale, p29); + append_dev(p29, t242); + append_dev(p29, a12); + append_dev(p29, t244); + append_dev(p29, a13); + append_dev(p29, t246); + append_dev(rationale, t247); + append_dev(rationale, quote1); + append_dev(quote1, p30); + append_dev(quote1, t249); + append_dev(quote1, p31); + append_dev(quote1, t251); + append_dev(quote1, p32); + append_dev(rationale, t253); + append_dev(rationale, p33); + append_dev(p33, t254); + append_dev(p33, b41); + append_dev(p33, t256); + append_dev(p33, em); + append_dev(p33, t258); + append_dev(rationale, t259); + append_dev(rationale, p34); + append_dev(rationale, t261); + append_dev(rationale, quote2); + append_dev(quote2, ol4); + append_dev(ol4, li14); + append_dev(ol4, t263); + append_dev(ol4, li15); + append_dev(ol4, t265); + append_dev(ol4, li16); + append_dev(rationale, t267); + append_dev(rationale, p35); + append_dev(rationale, t269); + append_dev(rationale, quote3); + append_dev(quote3, ol5); + append_dev(ol5, li17); + append_dev(ol5, t271); + append_dev(ol5, li18); + append_dev(ol5, t273); + append_dev(ol5, li19); + append_dev(ol5, t275); + append_dev(ol5, li20); + append_dev(ol5, t277); + append_dev(ol5, li21); + append_dev(ol5, t279); + append_dev(ol5, li22); + append_dev(ol5, t281); + append_dev(ol5, li23); + append_dev(ol5, t283); + append_dev(ol5, li24); + append_dev(rationale, t285); + append_dev(rationale, p36); + append_dev(p36, t286); + append_dev(p36, b42); + append_dev(p36, t288); + append_dev(p36, b43); + append_dev(p36, t290); + append_dev(p36, b44); + append_dev(p36, t292); + append_dev(p36, a14); + append_dev(p36, t294); + append_dev(p36, b45); + append_dev(p36, t296); + append_dev(rationale, t297); + append_dev(rationale, p37); + append_dev(p37, t298); + append_dev(p37, b46); + append_dev(p37, t300); + append_dev(rationale, t301); + append_dev(rationale, ol6); + append_dev(ol6, li25); + append_dev(ol6, t303); + append_dev(ol6, li26); + append_dev(ol6, t305); + append_dev(ol6, li27); + append_dev(rationale, t307); + append_dev(rationale, p38); + append_dev(rationale, t309); + append_dev(rationale, p39); + append_dev(p39, t310); + append_dev(p39, b47); + append_dev(p39, t312); + append_dev(rationale, t313); + append_dev(rationale, ol7); + append_dev(ol7, li28); + append_dev(ol7, t315); + append_dev(ol7, li29); + append_dev(rationale, t317); + append_dev(rationale, p40); + append_dev(p40, t318); + append_dev(p40, b48); + append_dev(p40, t320); + append_dev(rationale, t321); + append_dev(rationale, h23); + append_dev(rationale, t323); + append_dev(rationale, p41); + append_dev(rationale, t325); + append_dev(rationale, ol8); + append_dev(ol8, li30); + append_dev(ol8, t327); + append_dev(ol8, li31); + append_dev(li31, t328); + append_dev(li31, b49); + append_dev(li31, t330); + append_dev(li31, b50); + append_dev(li31, t332); + append_dev(ol8, t333); + append_dev(ol8, li32); + append_dev(li32, t334); + append_dev(li32, b51); + append_dev(li32, t336); + append_dev(rationale, t337); + append_dev(rationale, p42); + append_dev(p42, t338); + append_dev(p42, b52); + append_dev(p42, t340); + append_dev(p42, b53); + append_dev(p42, t342); + append_dev(rationale, t343); + append_dev(rationale, h24); + append_dev(rationale, t345); + append_dev(rationale, p43); + append_dev(rationale, t347); + append_dev(rationale, ol9); + append_dev(ol9, li33); + append_dev(li33, b54); + append_dev(li33, t349); + append_dev(li33, b55); + append_dev(li33, t351); + append_dev(ol9, t352); + append_dev(ol9, li34); + append_dev(li34, b56); + append_dev(li34, t354); + append_dev(li34, b57); + append_dev(li34, t356); + append_dev(li34, b58); + append_dev(li34, t358); + append_dev(ol9, t359); + append_dev(ol9, li35); + append_dev(li35, b59); + append_dev(li35, t361); + append_dev(li35, b60); + append_dev(li35, t363); + append_dev(ol9, t364); + append_dev(ol9, li36); + append_dev(li36, b61); + append_dev(li36, t366); + append_dev(ol9, t367); + append_dev(ol9, li37); + append_dev(li37, b62); + append_dev(li37, t369); + append_dev(li37, b63); + append_dev(li37, t371); + append_dev(ol9, t372); + append_dev(ol9, li38); + append_dev(li38, b64); + append_dev(li38, t374); + append_dev(li38, b65); + append_dev(li38, t376); + append_dev(ol9, t377); + append_dev(ol9, li39); + append_dev(li39, b66); + append_dev(li39, t379); + append_dev(li39, b67); + append_dev(li39, t381); + append_dev(rationale, t382); current = true; if (!mounted) { @@ -7871,119 +9008,294 @@ var app = (function () { } } - /* src/demos/index.svelte generated by Svelte v3.30.0 */ - const file$g = "src/demos/index.svelte"; + /* src/thumbs/Carousel.svelte generated by Svelte v3.30.0 */ + const file$g = "src/thumbs/Carousel.svelte"; function create_fragment$h(ctx) { - let h10; + let content; + let h1; let t1; - let images0; + let carousel; let figure0; - let google; + let img0; + let img0_src_value; let t2; let figcaption0; let t4; let figure1; - let twitter; + let img1; + let img1_src_value; let t5; let figcaption1; let t7; - let figure2; - let youtube; + let prev; + let icon0; let t8; - let figcaption2; - let t10; - let figure3; - let instagram; - let t11; - let figcaption3; - let t13; - let figure4; - let pinterest; - let t14; - let figcaption4; - let t16; - let hr; - let t17; - let h11; - let t19; - let images1; - let figure5; - let login; - let t20; - let figcaption5; - let t22; - let figure6; - let tiles; - let t23; - let figcaption6; - let t25; - let figure7; - let cards; - let t26; - let figcaption7; - let t28; - let figure8; - let panels; - let t29; - let figcaption8; - let t31; - let figure9; - let tabs; - let t32; - let figcaption9; - let t34; - let figure10; - let gridovergraphic; - let t35; - let figcaption10; - let t37; - let figure11; - let calendar; - let t38; - let figcaption11; + let next; + let icon1; let current; - let mounted; - let dispose; - google = new Google({ $$inline: true }); - twitter = new Twitter({ $$inline: true }); - youtube = new Youtube({ $$inline: true }); - instagram = new Instagram({ $$inline: true }); - pinterest = new Pinterest({ $$inline: true }); - login = new Login({ $$inline: true }); - tiles = new Tiles({ $$inline: true }); - cards = new Cards({ $$inline: true }); - panels = new Panels({ $$inline: true }); - tabs = new Tabs({ $$inline: true }); - gridovergraphic = new GridOverGraphic({ $$inline: true }); - calendar = new Calendar({ $$inline: true }); + + icon0 = new Icon({ + props: { name: "arrow-left", size: "48" }, + $$inline: true + }); + + icon1 = new Icon({ + props: { name: "arrow-right", size: "48" }, + $$inline: true + }); const block = { c: function create() { - h10 = element("h1"); - h10.textContent = "Full Websites"; + content = element("content"); + h1 = element("h1"); + h1.textContent = "Carousel"; t1 = space(); - images0 = element("images"); + carousel = element("carousel"); figure0 = element("figure"); - create_component(google.$$.fragment); + img0 = element("img"); t2 = space(); figcaption0 = element("figcaption"); - figcaption0.textContent = "Google"; + figcaption0.textContent = "Image 1"; t4 = space(); figure1 = element("figure"); - create_component(twitter.$$.fragment); + img1 = element("img"); t5 = space(); figcaption1 = element("figcaption"); - figcaption1.textContent = "Twitter"; + figcaption1.textContent = "Image 2"; t7 = space(); - figure2 = element("figure"); - create_component(youtube.$$.fragment); + prev = element("prev"); + create_component(icon0.$$.fragment); t8 = space(); - figcaption2 = element("figcaption"); - figcaption2.textContent = "Youtube"; - t10 = space(); - figure3 = element("figure"); - create_component(instagram.$$.fragment); + next = element("next"); + create_component(icon1.$$.fragment); + add_location(h1, file$g, 75, 2, 1217); + attr_dev(img0, "alt", "Stock photo"); + if (img0.src !== (img0_src_value = holder(16 * 40, 9 * 40))) attr_dev(img0, "src", img0_src_value); + attr_dev(img0, "class", "svelte-12uwa5s"); + add_location(img0, file$g, 79, 6, 1283); + attr_dev(figcaption0, "class", "svelte-12uwa5s"); + add_location(figcaption0, file$g, 80, 6, 1346); + attr_dev(figure0, "class", "active svelte-12uwa5s"); + add_location(figure0, file$g, 78, 4, 1253); + attr_dev(img1, "alt", "Stock photo"); + if (img1.src !== (img1_src_value = holder(16 * 40, 9 * 40))) attr_dev(img1, "src", img1_src_value); + attr_dev(img1, "class", "svelte-12uwa5s"); + add_location(img1, file$g, 85, 6, 1467); + attr_dev(figcaption1, "class", "svelte-12uwa5s"); + add_location(figcaption1, file$g, 86, 6, 1530); + attr_dev(figure1, "class", "svelte-12uwa5s"); + add_location(figure1, file$g, 84, 4, 1452); + attr_dev(prev, "class", "svelte-12uwa5s"); + add_location(prev, file$g, 88, 4, 1582); + attr_dev(next, "class", "svelte-12uwa5s"); + add_location(next, file$g, 89, 4, 1636); + attr_dev(carousel, "class", "svelte-12uwa5s"); + add_location(carousel, file$g, 77, 2, 1238); + attr_dev(content, "class", "svelte-12uwa5s"); + add_location(content, file$g, 74, 0, 1205); + }, + l: function claim(nodes) { + throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); + }, + m: function mount(target, anchor) { + insert_dev(target, content, anchor); + append_dev(content, h1); + append_dev(content, t1); + append_dev(content, carousel); + append_dev(carousel, figure0); + append_dev(figure0, img0); + append_dev(figure0, t2); + append_dev(figure0, figcaption0); + append_dev(carousel, t4); + append_dev(carousel, figure1); + append_dev(figure1, img1); + append_dev(figure1, t5); + append_dev(figure1, figcaption1); + append_dev(carousel, t7); + append_dev(carousel, prev); + mount_component(icon0, prev, null); + append_dev(carousel, t8); + append_dev(carousel, next); + mount_component(icon1, next, null); + current = true; + }, + p: noop, + i: function intro(local) { + if (current) return; + transition_in(icon0.$$.fragment, local); + transition_in(icon1.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(icon0.$$.fragment, local); + transition_out(icon1.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + if (detaching) detach_dev(content); + destroy_component(icon0); + destroy_component(icon1); + } + }; + + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment$h.name, + type: "component", + source: "", + ctx + }); + + return block; + } + + function instance$h($$self, $$props, $$invalidate) { + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("Carousel", slots, []); + const writable_props = []; + + Object.keys($$props).forEach(key => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(` was created with unknown prop '${key}'`); + }); + + $$self.$capture_state = () => ({ Icon, holder }); + return []; + } + + class Carousel extends SvelteComponentDev { + constructor(options) { + super(options); + init(this, options, instance$h, create_fragment$h, safe_not_equal, {}); + + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "Carousel", + options, + id: create_fragment$h.name + }); + } + } + + /* src/demos/index.svelte generated by Svelte v3.30.0 */ + const file$h = "src/demos/index.svelte"; + + function create_fragment$i(ctx) { + let h10; + let t1; + let images0; + let figure0; + let google; + let t2; + let figcaption0; + let t4; + let figure1; + let twitter; + let t5; + let figcaption1; + let t7; + let figure2; + let youtube; + let t8; + let figcaption2; + let t10; + let figure3; + let instagram; + let t11; + let figcaption3; + let t13; + let figure4; + let pinterest; + let t14; + let figcaption4; + let t16; + let hr; + let t17; + let h11; + let t19; + let images1; + let figure5; + let login; + let t20; + let figcaption5; + let t22; + let figure6; + let tiles; + let t23; + let figcaption6; + let t25; + let figure7; + let cards; + let t26; + let figcaption7; + let t28; + let figure8; + let panels; + let t29; + let figcaption8; + let t31; + let figure9; + let tabs; + let t32; + let figcaption9; + let t34; + let figure10; + let gridovergraphic; + let t35; + let figcaption10; + let t37; + let figure11; + let calendar; + let t38; + let figcaption11; + let t40; + let figure12; + let carousel; + let t41; + let figcaption12; + let current; + let mounted; + let dispose; + google = new Google({ $$inline: true }); + twitter = new Twitter({ $$inline: true }); + youtube = new Youtube({ $$inline: true }); + instagram = new Instagram({ $$inline: true }); + pinterest = new Pinterest({ $$inline: true }); + login = new Login({ $$inline: true }); + tiles = new Tiles({ $$inline: true }); + cards = new Cards({ $$inline: true }); + panels = new Panels({ $$inline: true }); + tabs = new Tabs({ $$inline: true }); + gridovergraphic = new GridOverGraphic({ $$inline: true }); + calendar = new Calendar({ $$inline: true }); + carousel = new Carousel({ $$inline: true }); + + const block = { + c: function create() { + h10 = element("h1"); + h10.textContent = "Full Websites"; + t1 = space(); + images0 = element("images"); + figure0 = element("figure"); + create_component(google.$$.fragment); + t2 = space(); + figcaption0 = element("figcaption"); + figcaption0.textContent = "Google"; + t4 = space(); + figure1 = element("figure"); + create_component(twitter.$$.fragment); + t5 = space(); + figcaption1 = element("figcaption"); + figcaption1.textContent = "Twitter"; + t7 = space(); + figure2 = element("figure"); + create_component(youtube.$$.fragment); + t8 = space(); + figcaption2 = element("figcaption"); + figcaption2.textContent = "Youtube"; + t10 = space(); + figure3 = element("figure"); + create_component(instagram.$$.fragment); t11 = space(); figcaption3 = element("figcaption"); figcaption3.textContent = "Instagram"; @@ -8041,61 +9353,71 @@ var app = (function () { t38 = space(); figcaption11 = element("figcaption"); figcaption11.textContent = "Calendar"; - add_location(h10, file$g, 55, 0, 1414); + t40 = space(); + figure12 = element("figure"); + create_component(carousel.$$.fragment); + t41 = space(); + figcaption12 = element("figcaption"); + figcaption12.textContent = "Carousel"; + add_location(h10, file$h, 56, 0, 1466); attr_dev(figcaption0, "class", "svelte-1bny7ze"); - add_location(figcaption0, file$g, 61, 2, 1515); + add_location(figcaption0, file$h, 62, 2, 1567); attr_dev(figure0, "class", "svelte-1bny7ze"); - add_location(figure0, file$g, 59, 0, 1448); + add_location(figure0, file$h, 60, 0, 1500); attr_dev(figcaption1, "class", "svelte-1bny7ze"); - add_location(figcaption1, file$g, 66, 2, 1625); + add_location(figcaption1, file$h, 67, 2, 1677); attr_dev(figure1, "class", "svelte-1bny7ze"); - add_location(figure1, file$g, 64, 0, 1558); + add_location(figure1, file$h, 65, 0, 1610); attr_dev(figcaption2, "class", "svelte-1bny7ze"); - add_location(figcaption2, file$g, 71, 2, 1736); + add_location(figcaption2, file$h, 72, 2, 1788); attr_dev(figure2, "class", "svelte-1bny7ze"); - add_location(figure2, file$g, 69, 0, 1669); + add_location(figure2, file$h, 70, 0, 1721); attr_dev(figcaption3, "class", "svelte-1bny7ze"); - add_location(figcaption3, file$g, 76, 2, 1851); + add_location(figcaption3, file$h, 77, 2, 1903); attr_dev(figure3, "class", "svelte-1bny7ze"); - add_location(figure3, file$g, 74, 0, 1780); + add_location(figure3, file$h, 75, 0, 1832); attr_dev(figcaption4, "class", "svelte-1bny7ze"); - add_location(figcaption4, file$g, 81, 2, 1969); + add_location(figcaption4, file$h, 82, 2, 2021); attr_dev(figure4, "class", "svelte-1bny7ze"); - add_location(figure4, file$g, 79, 0, 1898); + add_location(figure4, file$h, 80, 0, 1950); attr_dev(images0, "class", "svelte-1bny7ze"); - add_location(images0, file$g, 57, 0, 1438); - add_location(hr, file$g, 85, 0, 2026); - add_location(h11, file$g, 86, 0, 2031); + add_location(images0, file$h, 58, 0, 1490); + add_location(hr, file$h, 86, 0, 2078); + add_location(h11, file$h, 87, 0, 2083); attr_dev(figcaption5, "class", "svelte-1bny7ze"); - add_location(figcaption5, file$g, 92, 2, 2133); + add_location(figcaption5, file$h, 93, 2, 2185); attr_dev(figure5, "class", "svelte-1bny7ze"); - add_location(figure5, file$g, 90, 0, 2070); + add_location(figure5, file$h, 91, 0, 2122); attr_dev(figcaption6, "class", "svelte-1bny7ze"); - add_location(figcaption6, file$g, 98, 2, 2245); + add_location(figcaption6, file$h, 99, 2, 2297); attr_dev(figure6, "class", "svelte-1bny7ze"); - add_location(figure6, file$g, 96, 0, 2182); + add_location(figure6, file$h, 97, 0, 2234); attr_dev(figcaption7, "class", "svelte-1bny7ze"); - add_location(figcaption7, file$g, 103, 2, 2350); + add_location(figcaption7, file$h, 104, 2, 2402); attr_dev(figure7, "class", "svelte-1bny7ze"); - add_location(figure7, file$g, 101, 0, 2287); + add_location(figure7, file$h, 102, 0, 2339); attr_dev(figcaption8, "class", "svelte-1bny7ze"); - add_location(figcaption8, file$g, 108, 2, 2457); + add_location(figcaption8, file$h, 109, 2, 2509); attr_dev(figure8, "class", "svelte-1bny7ze"); - add_location(figure8, file$g, 106, 0, 2392); + add_location(figure8, file$h, 107, 0, 2444); attr_dev(figcaption9, "class", "svelte-1bny7ze"); - add_location(figcaption9, file$g, 113, 2, 2561); + add_location(figcaption9, file$h, 114, 2, 2613); attr_dev(figure9, "class", "svelte-1bny7ze"); - add_location(figure9, file$g, 111, 0, 2500); + add_location(figure9, file$h, 112, 0, 2552); attr_dev(figcaption10, "class", "svelte-1bny7ze"); - add_location(figcaption10, file$g, 118, 2, 2685); + add_location(figcaption10, file$h, 119, 2, 2737); attr_dev(figure10, "class", "svelte-1bny7ze"); - add_location(figure10, file$g, 116, 0, 2602); + add_location(figure10, file$h, 117, 0, 2654); attr_dev(figcaption11, "class", "svelte-1bny7ze"); - add_location(figcaption11, file$g, 123, 2, 2808); + add_location(figcaption11, file$h, 124, 2, 2860); attr_dev(figure11, "class", "svelte-1bny7ze"); - add_location(figure11, file$g, 121, 0, 2739); + add_location(figure11, file$h, 122, 0, 2791); + attr_dev(figcaption12, "class", "svelte-1bny7ze"); + add_location(figcaption12, file$h, 129, 2, 2974); + attr_dev(figure12, "class", "svelte-1bny7ze"); + add_location(figure12, file$h, 127, 0, 2905); attr_dev(images1, "class", "svelte-1bny7ze"); - add_location(images1, file$g, 88, 0, 2060); + add_location(images1, file$h, 89, 0, 2112); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -8168,6 +9490,11 @@ var app = (function () { mount_component(calendar, figure11, null); append_dev(figure11, t38); append_dev(figure11, figcaption11); + append_dev(images1, t40); + append_dev(images1, figure12); + mount_component(carousel, figure12, null); + append_dev(figure12, t41); + append_dev(figure12, figcaption12); current = true; if (!mounted) { @@ -8183,7 +9510,8 @@ var app = (function () { listen_dev(figure8, "click", /*click_handler_8*/ ctx[8], false, false, false), listen_dev(figure9, "click", /*click_handler_9*/ ctx[9], false, false, false), listen_dev(figure10, "click", /*click_handler_10*/ ctx[10], false, false, false), - listen_dev(figure11, "click", /*click_handler_11*/ ctx[11], false, false, false) + listen_dev(figure11, "click", /*click_handler_11*/ ctx[11], false, false, false), + listen_dev(figure12, "click", /*click_handler_12*/ ctx[12], false, false, false) ]; mounted = true; @@ -8204,6 +9532,7 @@ var app = (function () { transition_in(tabs.$$.fragment, local); transition_in(gridovergraphic.$$.fragment, local); transition_in(calendar.$$.fragment, local); + transition_in(carousel.$$.fragment, local); current = true; }, o: function outro(local) { @@ -8219,6 +9548,7 @@ var app = (function () { transition_out(tabs.$$.fragment, local); transition_out(gridovergraphic.$$.fragment, local); transition_out(calendar.$$.fragment, local); + transition_out(carousel.$$.fragment, local); current = false; }, d: function destroy(detaching) { @@ -8243,6 +9573,7 @@ var app = (function () { destroy_component(tabs); destroy_component(gridovergraphic); destroy_component(calendar); + destroy_component(carousel); mounted = false; run_all(dispose); } @@ -8250,7 +9581,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$h.name, + id: create_fragment$i.name, type: "component", source: "", ctx @@ -8259,7 +9590,7 @@ var app = (function () { return block; } - function instance$h($$self, $$props, $$invalidate) { + function instance$i($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Demos", slots, []); const writable_props = []; @@ -8280,6 +9611,7 @@ var app = (function () { const click_handler_9 = () => push("/demos/tabs"); const click_handler_10 = () => push("/demos/gridovergraphic"); const click_handler_11 = () => push("/demos/calendar"); + const click_handler_12 = () => push("/demos/carousel"); $$self.$capture_state = () => ({ Google, @@ -8295,6 +9627,7 @@ var app = (function () { Tabs, GridOverGraphic, Calendar, + Carousel, push, holder }); @@ -8311,36 +9644,37 @@ var app = (function () { click_handler_8, click_handler_9, click_handler_10, - click_handler_11 + click_handler_11, + click_handler_12 ]; } class Demos extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$h, create_fragment$h, safe_not_equal, {}); + init(this, options, instance$i, create_fragment$i, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Demos", options, - id: create_fragment$h.name + id: create_fragment$i.name }); } } /* src/NotFound.svelte generated by Svelte v3.30.0 */ - const file$h = "src/NotFound.svelte"; + const file$i = "src/NotFound.svelte"; - function create_fragment$i(ctx) { + function create_fragment$j(ctx) { let h1; const block = { c: function create() { h1 = element("h1"); h1.textContent = "Not found"; - add_location(h1, file$h, 0, 0, 0); + add_location(h1, file$i, 0, 0, 0); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -8358,7 +9692,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$i.name, + id: create_fragment$j.name, type: "component", source: "", ctx @@ -8367,7 +9701,7 @@ var app = (function () { return block; } - function instance$i($$self, $$props) { + function instance$j($$self, $$props) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("NotFound", slots, []); const writable_props = []; @@ -8382,21 +9716,21 @@ var app = (function () { class NotFound extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$i, create_fragment$i, safe_not_equal, {}); + init(this, options, instance$j, create_fragment$j, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "NotFound", options, - id: create_fragment$i.name + id: create_fragment$j.name }); } } /* src/demos/Google.svelte generated by Svelte v3.30.0 */ - const file$i = "src/demos/Google.svelte"; + const file$j = "src/demos/Google.svelte"; - function create_fragment$j(ctx) { + function create_fragment$k(ctx) { let content; let header; let nav; @@ -8489,39 +9823,39 @@ var app = (function () { button2.textContent = "I'm Feeling Lucky"; t16 = space(); create_component(codeview.$$.fragment); - add_location(a0, file$i, 64, 8, 988); - add_location(a1, file$i, 65, 8, 1009); - add_location(nav_left, file$i, 63, 6, 969); - add_location(li0, file$i, 68, 6, 1057); - add_location(li1, file$i, 69, 6, 1078); - add_location(li2, file$i, 70, 6, 1099); + add_location(a0, file$j, 64, 8, 988); + add_location(a1, file$j, 65, 8, 1009); + add_location(nav_left, file$j, 63, 6, 969); + add_location(li0, file$j, 68, 6, 1057); + add_location(li1, file$j, 69, 6, 1078); + add_location(li2, file$j, 70, 6, 1099); attr_dev(button0, "class", "svelte-yyzz8b"); - add_location(button0, file$i, 71, 10, 1152); - add_location(li3, file$i, 71, 6, 1148); - add_location(ul, file$i, 67, 6, 1046); + add_location(button0, file$j, 71, 10, 1152); + add_location(li3, file$j, 71, 6, 1148); + add_location(ul, file$j, 67, 6, 1046); attr_dev(nav, "class", "svelte-yyzz8b"); - add_location(nav, file$i, 62, 4, 957); + add_location(nav, file$j, 62, 4, 957); attr_dev(header, "class", "svelte-yyzz8b"); - add_location(header, file$i, 61, 2, 944); + add_location(header, file$j, 61, 2, 944); if (img.src !== (img_src_value = holder(500, 200))) attr_dev(img, "src", img_src_value); - add_location(img, file$i, 78, 6, 1273); + add_location(img, file$j, 78, 6, 1273); attr_dev(a2, "href", "/demos/google"); - add_location(a2, file$i, 77, 4, 1233); + add_location(a2, file$j, 77, 4, 1233); attr_dev(figure, "class", "svelte-yyzz8b"); - add_location(figure, file$i, 76, 2, 1220); + add_location(figure, file$j, 76, 2, 1220); attr_dev(input, "type", "text"); attr_dev(input, "class", "svelte-yyzz8b"); - add_location(input, file$i, 83, 2, 1340); + add_location(input, file$j, 83, 2, 1340); attr_dev(button1, "class", "svelte-yyzz8b"); - add_location(button1, file$i, 85, 6, 1380); + add_location(button1, file$j, 85, 6, 1380); attr_dev(button2, "class", "svelte-yyzz8b"); - add_location(button2, file$i, 86, 6, 1417); + add_location(button2, file$j, 86, 6, 1417); attr_dev(buttons, "class", "svelte-yyzz8b"); - add_location(buttons, file$i, 84, 4, 1364); + add_location(buttons, file$j, 84, 4, 1364); attr_dev(search, "class", "svelte-yyzz8b"); - add_location(search, file$i, 82, 2, 1329); + add_location(search, file$j, 82, 2, 1329); attr_dev(content, "class", "svelte-yyzz8b"); - add_location(content, file$i, 59, 0, 931); + add_location(content, file$j, 59, 0, 931); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -8590,7 +9924,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$j.name, + id: create_fragment$k.name, type: "component", source: "", ctx @@ -8599,7 +9933,7 @@ var app = (function () { return block; } - function instance$j($$self, $$props, $$invalidate) { + function instance$k($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Google", slots, []); const writable_props = []; @@ -8615,22 +9949,22 @@ var app = (function () { class Google$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$j, create_fragment$j, safe_not_equal, {}); + init(this, options, instance$k, create_fragment$k, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Google", options, - id: create_fragment$j.name + id: create_fragment$k.name }); } } /* src/components/PhoneWarn.svelte generated by Svelte v3.30.0 */ - const file$j = "src/components/PhoneWarn.svelte"; + const file$k = "src/components/PhoneWarn.svelte"; - function create_fragment$k(ctx) { + function create_fragment$l(ctx) { let phone_warn; let section; let aside; @@ -8648,12 +9982,12 @@ var app = (function () { t1 = space(); p = element("p"); p.textContent = "If you want to view this layout use a real computer, and don't complain if your real computer has some insane 16:9 aspect ratio gaming screen owned by only 1% of the world's population. Use a normal monitor or just suck it up weirdo."; - add_location(h2, file$j, 9, 6, 99); - add_location(p, file$j, 10, 6, 135); - add_location(aside, file$j, 8, 4, 85); - add_location(section, file$j, 7, 2, 71); + add_location(h2, file$k, 9, 6, 99); + add_location(p, file$k, 10, 6, 135); + add_location(aside, file$k, 8, 4, 85); + add_location(section, file$k, 7, 2, 71); set_custom_element_data(phone_warn, "class", "svelte-b88acd"); - add_location(phone_warn, file$j, 6, 0, 56); + add_location(phone_warn, file$k, 6, 0, 56); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -8676,7 +10010,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$k.name, + id: create_fragment$l.name, type: "component", source: "", ctx @@ -8685,7 +10019,7 @@ var app = (function () { return block; } - function instance$k($$self, $$props) { + function instance$l($$self, $$props) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("PhoneWarn", slots, []); const writable_props = []; @@ -8700,19 +10034,19 @@ var app = (function () { class PhoneWarn extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$k, create_fragment$k, safe_not_equal, {}); + init(this, options, instance$l, create_fragment$l, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "PhoneWarn", options, - id: create_fragment$k.name + id: create_fragment$l.name }); } } /* src/demos/Twitter.svelte generated by Svelte v3.30.0 */ - const file$k = "src/demos/Twitter.svelte"; + const file$l = "src/demos/Twitter.svelte"; function get_each_context$3(ctx, list, i) { const child_ctx = ctx.slice(); @@ -8823,22 +10157,22 @@ var app = (function () { attr_dev(img, "alt", "Stock photo"); if (img.src !== (img_src_value = "/profile_pic.jpg")) attr_dev(img, "src", img_src_value); attr_dev(img, "class", "svelte-bnvc6y"); - add_location(img, file$k, 245, 12, 4631); + add_location(img, file$l, 245, 12, 4631); attr_dev(figure, "id", "avatar"); attr_dev(figure, "class", "svelte-bnvc6y"); - add_location(figure, file$k, 244, 8, 4598); + add_location(figure, file$l, 244, 8, 4598); attr_dev(h4, "class", "svelte-bnvc6y"); - add_location(h4, file$k, 248, 10, 4721); - add_location(br, file$k, 249, 162, 4912); - add_location(a, file$k, 251, 12, 4930); + add_location(h4, file$l, 248, 10, 4721); + add_location(br, file$l, 249, 162, 4912); + add_location(a, file$l, 251, 12, 4930); attr_dev(p, "class", "svelte-bnvc6y"); - add_location(p, file$k, 249, 10, 4760); + add_location(p, file$l, 249, 10, 4760); attr_dev(actions, "class", "svelte-bnvc6y"); - add_location(actions, file$k, 252, 10, 5248); + add_location(actions, file$l, 252, 10, 5248); attr_dev(post, "class", "svelte-bnvc6y"); - add_location(post, file$k, 247, 8, 4704); + add_location(post, file$l, 247, 8, 4704); attr_dev(tweet, "class", "svelte-bnvc6y"); - add_location(tweet, file$k, 243, 6, 4582); + add_location(tweet, file$l, 243, 6, 4582); }, m: function mount(target, anchor) { insert_dev(target, tweet, anchor); @@ -8907,7 +10241,7 @@ var app = (function () { return block; } - function create_fragment$l(ctx) { + function create_fragment$m(ctx) { let phonewarn; let t0; let content; @@ -9245,128 +10579,128 @@ var app = (function () { li7.textContent = "News news news."; t68 = space(); create_component(codeview.$$.fragment); - add_location(h40, file$k, 205, 2, 3381); - add_location(h41, file$k, 206, 2, 3402); + add_location(h40, file$l, 205, 2, 3381); + add_location(h41, file$l, 206, 2, 3402); attr_dev(left, "class", "svelte-bnvc6y"); - add_location(left, file$k, 203, 2, 3325); + add_location(left, file$l, 203, 2, 3325); attr_dev(back, "class", "svelte-bnvc6y"); - add_location(back, file$k, 212, 8, 3526); + add_location(back, file$l, 212, 8, 3526); attr_dev(h42, "class", "svelte-bnvc6y"); - add_location(h42, file$k, 214, 10, 3591); + add_location(h42, file$l, 214, 10, 3591); attr_dev(span, "class", "svelte-bnvc6y"); - add_location(span, file$k, 215, 10, 3630); - add_location(name, file$k, 213, 8, 3574); + add_location(span, file$l, 215, 10, 3630); + add_location(name, file$l, 213, 8, 3574); attr_dev(nav, "class", "svelte-bnvc6y"); - add_location(nav, file$k, 211, 6, 3512); + add_location(nav, file$l, 211, 6, 3512); attr_dev(header, "class", "svelte-bnvc6y"); - add_location(header, file$k, 210, 4, 3497); + add_location(header, file$l, 210, 4, 3497); if (img0.src !== (img0_src_value = "/header_pic.jpg")) attr_dev(img0, "src", img0_src_value); attr_dev(img0, "class", "svelte-bnvc6y"); - add_location(img0, file$k, 222, 8, 3752); + add_location(img0, file$l, 222, 8, 3752); attr_dev(figure0, "id", "background"); attr_dev(figure0, "class", "svelte-bnvc6y"); - add_location(figure0, file$k, 221, 6, 3719); + add_location(figure0, file$l, 221, 6, 3719); if (img1.src !== (img1_src_value = "/profile_pic.jpg")) attr_dev(img1, "src", img1_src_value); attr_dev(img1, "class", "svelte-bnvc6y"); - add_location(img1, file$k, 226, 8, 3832); + add_location(img1, file$l, 226, 8, 3832); attr_dev(button0, "id", "follow"); attr_dev(button0, "class", "svelte-bnvc6y"); - add_location(button0, file$k, 227, 8, 3869); + add_location(button0, file$l, 227, 8, 3869); attr_dev(figure1, "id", "avatar"); attr_dev(figure1, "class", "svelte-bnvc6y"); - add_location(figure1, file$k, 225, 6, 3803); + add_location(figure1, file$l, 225, 6, 3803); attr_dev(images, "class", "svelte-bnvc6y"); - add_location(images, file$k, 220, 4, 3704); - add_location(h30, file$k, 232, 6, 3956); - add_location(p0, file$k, 233, 6, 3991); - add_location(p1, file$k, 234, 6, 4012); - add_location(a0, file$k, 235, 153, 4331); - add_location(p2, file$k, 235, 6, 4184); - add_location(b0, file$k, 236, 9, 4461); - add_location(b1, file$k, 236, 30, 4482); - add_location(p3, file$k, 236, 6, 4458); + add_location(images, file$l, 220, 4, 3704); + add_location(h30, file$l, 232, 6, 3956); + add_location(p0, file$l, 233, 6, 3991); + add_location(p1, file$l, 234, 6, 4012); + add_location(a0, file$l, 235, 153, 4331); + add_location(p2, file$l, 235, 6, 4184); + add_location(b0, file$l, 236, 9, 4461); + add_location(b1, file$l, 236, 30, 4482); + add_location(p3, file$l, 236, 6, 4458); attr_dev(profile, "class", "svelte-bnvc6y"); - add_location(profile, file$k, 231, 4, 3940); + add_location(profile, file$l, 231, 4, 3940); attr_dev(hr, "class", "svelte-bnvc6y"); - add_location(hr, file$k, 239, 4, 4529); - add_location(tweets_1, file$k, 241, 4, 4539); + add_location(hr, file$l, 239, 4, 4529); + add_location(tweets_1, file$l, 241, 4, 4539); attr_dev(middle, "class", "svelte-bnvc6y"); - add_location(middle, file$k, 209, 2, 3484); + add_location(middle, file$l, 209, 2, 3484); attr_dev(input, "placeholder", "Search Twitter"); - add_location(input, file$k, 266, 4, 5725); - add_location(h31, file$k, 270, 6, 5814); + add_location(input, file$l, 266, 4, 5725); + add_location(h31, file$l, 270, 6, 5814); attr_dev(p4, "class", "svelte-bnvc6y"); - add_location(p4, file$k, 271, 6, 5845); + add_location(p4, file$l, 271, 6, 5845); attr_dev(button1, "id", "signup"); attr_dev(button1, "class", "svelte-bnvc6y"); - add_location(button1, file$k, 272, 6, 5912); + add_location(button1, file$l, 272, 6, 5912); attr_dev(aside0, "id", "newperson"); attr_dev(aside0, "class", "svelte-bnvc6y"); - add_location(aside0, file$k, 269, 6, 5785); + add_location(aside0, file$l, 269, 6, 5785); attr_dev(img2, "alt", "Stock photo"); if (img2.src !== (img2_src_value = holder(82, 82))) attr_dev(img2, "src", img2_src_value); - add_location(img2, file$k, 278, 12, 6033); - add_location(figure2, file$k, 277, 10, 6012); + add_location(img2, file$l, 278, 12, 6033); + add_location(figure2, file$l, 277, 10, 6012); attr_dev(img3, "alt", "Stock photo"); if (img3.src !== (img3_src_value = holder(82, 82))) attr_dev(img3, "src", img3_src_value); - add_location(img3, file$k, 281, 12, 6134); - add_location(figure3, file$k, 280, 10, 6113); + add_location(img3, file$l, 281, 12, 6134); + add_location(figure3, file$l, 280, 10, 6113); attr_dev(img4, "alt", "Stock photo"); if (img4.src !== (img4_src_value = holder(82, 82))) attr_dev(img4, "src", img4_src_value); - add_location(img4, file$k, 284, 12, 6234); - add_location(figure4, file$k, 283, 10, 6213); + add_location(img4, file$l, 284, 12, 6234); + add_location(figure4, file$l, 283, 10, 6213); attr_dev(img5, "alt", "Stock photo"); if (img5.src !== (img5_src_value = holder(82, 82))) attr_dev(img5, "src", img5_src_value); - add_location(img5, file$k, 287, 12, 6334); - add_location(figure5, file$k, 286, 10, 6313); + add_location(img5, file$l, 287, 12, 6334); + add_location(figure5, file$l, 286, 10, 6313); attr_dev(img6, "alt", "Stock photo"); if (img6.src !== (img6_src_value = holder(82, 82))) attr_dev(img6, "src", img6_src_value); - add_location(img6, file$k, 290, 12, 6434); - add_location(figure6, file$k, 289, 10, 6413); + add_location(img6, file$l, 290, 12, 6434); + add_location(figure6, file$l, 289, 10, 6413); attr_dev(img7, "alt", "Stock photo"); if (img7.src !== (img7_src_value = holder(82, 82))) attr_dev(img7, "src", img7_src_value); - add_location(img7, file$k, 293, 12, 6534); - add_location(figure7, file$k, 292, 10, 6513); + add_location(img7, file$l, 293, 12, 6534); + add_location(figure7, file$l, 292, 10, 6513); set_custom_element_data(recent_media, "class", "svelte-bnvc6y"); - add_location(recent_media, file$k, 276, 8, 5987); - add_location(aside1, file$k, 275, 6, 5971); + add_location(recent_media, file$l, 276, 8, 5987); + add_location(aside1, file$l, 275, 6, 5971); attr_dev(h32, "class", "svelte-bnvc6y"); - add_location(h32, file$k, 299, 8, 6679); + add_location(h32, file$l, 299, 8, 6679); attr_dev(li0, "class", "svelte-bnvc6y"); - add_location(li0, file$k, 301, 10, 6726); + add_location(li0, file$l, 301, 10, 6726); attr_dev(li1, "class", "svelte-bnvc6y"); - add_location(li1, file$k, 302, 10, 6757); + add_location(li1, file$l, 302, 10, 6757); attr_dev(li2, "class", "svelte-bnvc6y"); - add_location(li2, file$k, 303, 10, 6788); + add_location(li2, file$l, 303, 10, 6788); attr_dev(ul0, "class", "svelte-bnvc6y"); - add_location(ul0, file$k, 300, 8, 6711); + add_location(ul0, file$l, 300, 8, 6711); attr_dev(a1, "class", "svelte-bnvc6y"); - add_location(a1, file$k, 305, 8, 6831); + add_location(a1, file$l, 305, 8, 6831); attr_dev(aside2, "id", "trending"); attr_dev(aside2, "class", "svelte-bnvc6y"); - add_location(aside2, file$k, 298, 6, 6649); + add_location(aside2, file$l, 298, 6, 6649); attr_dev(h33, "class", "svelte-bnvc6y"); - add_location(h33, file$k, 309, 8, 6900); + add_location(h33, file$l, 309, 8, 6900); attr_dev(li3, "class", "svelte-bnvc6y"); - add_location(li3, file$k, 311, 10, 6949); + add_location(li3, file$l, 311, 10, 6949); attr_dev(li4, "class", "svelte-bnvc6y"); - add_location(li4, file$k, 312, 10, 6984); + add_location(li4, file$l, 312, 10, 6984); attr_dev(li5, "class", "svelte-bnvc6y"); - add_location(li5, file$k, 313, 10, 7019); + add_location(li5, file$l, 313, 10, 7019); attr_dev(li6, "class", "svelte-bnvc6y"); - add_location(li6, file$k, 314, 10, 7054); + add_location(li6, file$l, 314, 10, 7054); attr_dev(li7, "class", "svelte-bnvc6y"); - add_location(li7, file$k, 315, 10, 7089); + add_location(li7, file$l, 315, 10, 7089); attr_dev(ul1, "class", "svelte-bnvc6y"); - add_location(ul1, file$k, 310, 8, 6934); + add_location(ul1, file$l, 310, 8, 6934); attr_dev(aside3, "id", "trending"); attr_dev(aside3, "class", "svelte-bnvc6y"); - add_location(aside3, file$k, 308, 6, 6870); - add_location(section, file$k, 268, 4, 5769); + add_location(aside3, file$l, 308, 6, 6870); + add_location(section, file$l, 268, 4, 5769); attr_dev(right, "class", "svelte-bnvc6y"); - add_location(right, file$k, 265, 2, 5713); + add_location(right, file$l, 265, 2, 5713); attr_dev(content, "class", "svelte-bnvc6y"); - add_location(content, file$k, 202, 0, 3313); + add_location(content, file$l, 202, 0, 3313); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -9549,7 +10883,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$l.name, + id: create_fragment$m.name, type: "component", source: "", ctx @@ -9558,7 +10892,7 @@ var app = (function () { return block; } - function instance$l($$self, $$props, $$invalidate) { + function instance$m($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Twitter", slots, []); let tweets = [1, 2, 3, 4, 5]; @@ -9592,19 +10926,19 @@ var app = (function () { class Twitter$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$l, create_fragment$l, safe_not_equal, {}); + init(this, options, instance$m, create_fragment$m, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Twitter", options, - id: create_fragment$l.name + id: create_fragment$m.name }); } } /* src/demos/Youtube.svelte generated by Svelte v3.30.0 */ - const file$l = "src/demos/Youtube.svelte"; + const file$m = "src/demos/Youtube.svelte"; function get_each_context$4(ctx, list, i) { const child_ctx = ctx.slice(); @@ -9692,19 +11026,19 @@ var app = (function () { t9 = space(); if (img.src !== (img_src_value = holder(64, 64))) attr_dev(img, "src", img_src_value); attr_dev(img, "class", "svelte-87j0be"); - add_location(img, file$l, 233, 10, 5268); + add_location(img, file$m, 233, 10, 5268); attr_dev(h4, "class", "svelte-87j0be"); - add_location(h4, file$l, 235, 12, 5327); + add_location(h4, file$m, 235, 12, 5327); attr_dev(p, "class", "svelte-87j0be"); - add_location(p, file$l, 236, 12, 5353); + add_location(p, file$m, 236, 12, 5353); attr_dev(nav, "class", "svelte-87j0be"); - add_location(nav, file$l, 237, 12, 5495); + add_location(nav, file$m, 237, 12, 5495); attr_dev(reply, "class", "svelte-87j0be"); - add_location(reply, file$l, 241, 12, 5670); + add_location(reply, file$m, 241, 12, 5670); attr_dev(info, "class", "svelte-87j0be"); - add_location(info, file$l, 234, 10, 5308); + add_location(info, file$m, 234, 10, 5308); attr_dev(card, "class", "svelte-87j0be"); - add_location(card, file$l, 232, 8, 5251); + add_location(card, file$m, 232, 8, 5251); }, m: function mount(target, anchor) { insert_dev(target, card, anchor); @@ -9794,16 +11128,16 @@ var app = (function () { date.textContent = "2 years ago"; if (img.src !== (img_src_value = holder(120, 80))) attr_dev(img, "src", img_src_value); attr_dev(img, "class", "svelte-87j0be"); - add_location(img, file$l, 251, 8, 5883); + add_location(img, file$m, 251, 8, 5883); attr_dev(h4, "class", "svelte-87j0be"); - add_location(h4, file$l, 253, 10, 5939); - add_location(author, file$l, 254, 10, 5976); - add_location(views, file$l, 255, 10, 6007); - add_location(date, file$l, 256, 10, 6043); + add_location(h4, file$m, 253, 10, 5939); + add_location(author, file$m, 254, 10, 5976); + add_location(views, file$m, 255, 10, 6007); + add_location(date, file$m, 256, 10, 6043); attr_dev(info, "class", "svelte-87j0be"); - add_location(info, file$l, 252, 8, 5922); + add_location(info, file$m, 252, 8, 5922); attr_dev(card, "class", "small svelte-87j0be"); - add_location(card, file$l, 250, 6, 5854); + add_location(card, file$m, 250, 6, 5854); }, m: function mount(target, anchor) { insert_dev(target, card, anchor); @@ -9871,16 +11205,16 @@ var app = (function () { t8 = space(); if (img.src !== (img_src_value = holder(120, 80))) attr_dev(img, "src", img_src_value); attr_dev(img, "class", "svelte-87j0be"); - add_location(img, file$l, 269, 8, 6291); + add_location(img, file$m, 269, 8, 6291); attr_dev(h4, "class", "svelte-87j0be"); - add_location(h4, file$l, 271, 10, 6347); - add_location(author, file$l, 272, 10, 6384); - add_location(views, file$l, 273, 10, 6415); - add_location(date, file$l, 274, 10, 6451); + add_location(h4, file$m, 271, 10, 6347); + add_location(author, file$m, 272, 10, 6384); + add_location(views, file$m, 273, 10, 6415); + add_location(date, file$m, 274, 10, 6451); attr_dev(info, "class", "svelte-87j0be"); - add_location(info, file$l, 270, 8, 6330); + add_location(info, file$m, 270, 8, 6330); attr_dev(card, "class", "svelte-87j0be"); - add_location(card, file$l, 268, 6, 6276); + add_location(card, file$m, 268, 6, 6276); }, m: function mount(target, anchor) { insert_dev(target, card, anchor); @@ -9913,7 +11247,7 @@ var app = (function () { return block; } - function create_fragment$m(ctx) { + function create_fragment$n(ctx) { let content1; let header; let nav0; @@ -10223,85 +11557,85 @@ var app = (function () { t42 = space(); create_component(codeview.$$.fragment); attr_dev(logo, "class", "svelte-87j0be"); - add_location(logo, file$l, 176, 56, 2768); - add_location(a0, file$l, 176, 8, 2720); - add_location(nav_left, file$l, 175, 6, 2701); + add_location(logo, file$m, 176, 56, 2768); + add_location(a0, file$m, 176, 8, 2720); + add_location(nav_left, file$m, 175, 6, 2701); attr_dev(input, "id", "search"); attr_dev(input, "placeholder", "Search"); attr_dev(input, "name", "search"); attr_dev(input, "class", "svelte-87j0be"); - add_location(input, file$l, 178, 6, 2817); - add_location(li0, file$l, 180, 8, 2891); - add_location(li1, file$l, 181, 8, 2944); - add_location(li2, file$l, 182, 8, 3004); + add_location(input, file$m, 178, 6, 2817); + add_location(li0, file$m, 180, 8, 2891); + add_location(li1, file$m, 181, 8, 2944); + add_location(li2, file$m, 182, 8, 3004); attr_dev(button0, "class", "svelte-87j0be"); - add_location(button0, file$l, 183, 12, 3059); - add_location(li3, file$l, 183, 8, 3055); - add_location(ul, file$l, 179, 6, 2878); + add_location(button0, file$m, 183, 12, 3059); + add_location(li3, file$m, 183, 8, 3055); + add_location(ul, file$m, 179, 6, 2878); attr_dev(nav0, "class", "svelte-87j0be"); - add_location(nav0, file$l, 174, 4, 2689); + add_location(nav0, file$m, 174, 4, 2689); attr_dev(header, "class", "svelte-87j0be"); - add_location(header, file$l, 173, 2, 2676); + add_location(header, file$m, 173, 2, 2676); if (img0.src !== (img0_src_value = holder(800, 450))) attr_dev(img0, "src", img0_src_value); - add_location(img0, file$l, 191, 10, 3232); + add_location(img0, file$m, 191, 10, 3232); attr_dev(a1, "href", "/demos/google"); - add_location(a1, file$l, 190, 8, 3188); + add_location(a1, file$m, 190, 8, 3188); attr_dev(a2, "class", "svelte-87j0be"); - add_location(a2, file$l, 194, 10, 3308); + add_location(a2, file$m, 194, 10, 3308); attr_dev(a3, "class", "svelte-87j0be"); - add_location(a3, file$l, 194, 22, 3320); + add_location(a3, file$m, 194, 22, 3320); attr_dev(p, "class", "svelte-87j0be"); - add_location(p, file$l, 195, 10, 3349); - add_location(likes, file$l, 197, 12, 3410); - add_location(video_buttons, file$l, 198, 12, 3449); + add_location(p, file$m, 195, 10, 3349); + add_location(likes, file$m, 197, 12, 3410); + add_location(video_buttons, file$m, 198, 12, 3449); set_custom_element_data(video_actions, "class", "svelte-87j0be"); - add_location(video_actions, file$l, 196, 10, 3382); + add_location(video_actions, file$m, 196, 10, 3382); attr_dev(figcaption, "class", "svelte-87j0be"); - add_location(figcaption, file$l, 193, 8, 3285); - add_location(figure0, file$l, 189, 6, 3171); + add_location(figcaption, file$m, 193, 8, 3285); + add_location(figure0, file$m, 189, 6, 3171); attr_dev(hr0, "class", "svelte-87j0be"); - add_location(hr0, file$l, 208, 6, 3843); + add_location(hr0, file$m, 208, 6, 3843); if (img1.src !== (img1_src_value = holder(64, 64))) attr_dev(img1, "src", img1_src_value); attr_dev(img1, "class", "svelte-87j0be"); - add_location(img1, file$l, 212, 12, 3909); + add_location(img1, file$m, 212, 12, 3909); attr_dev(h4, "class", "svelte-87j0be"); - add_location(h4, file$l, 214, 12, 3970); - add_location(subs, file$l, 215, 12, 4003); + add_location(h4, file$m, 214, 12, 3970); + add_location(subs, file$m, 215, 12, 4003); attr_dev(info, "class", "svelte-87j0be"); - add_location(info, file$l, 213, 12, 3951); + add_location(info, file$m, 213, 12, 3951); attr_dev(card, "class", "svelte-87j0be"); - add_location(card, file$l, 211, 10, 3890); + add_location(card, file$m, 211, 10, 3890); attr_dev(button1, "id", "subscribe"); attr_dev(button1, "class", "svelte-87j0be"); - add_location(button1, file$l, 217, 10, 4057); + add_location(button1, file$m, 217, 10, 4057); attr_dev(nav1, "class", "svelte-87j0be"); - add_location(nav1, file$l, 210, 8, 3874); + add_location(nav1, file$m, 210, 8, 3874); attr_dev(content0, "class", "svelte-87j0be"); - add_location(content0, file$l, 220, 8, 4123); + add_location(content0, file$m, 220, 8, 4123); attr_dev(promotion, "class", "svelte-87j0be"); - add_location(promotion, file$l, 209, 6, 3854); + add_location(promotion, file$m, 209, 6, 3854); attr_dev(hr1, "class", "svelte-87j0be"); - add_location(hr1, file$l, 224, 6, 5052); - add_location(span, file$l, 228, 10, 5099); + add_location(hr1, file$m, 224, 6, 5052); + add_location(span, file$m, 228, 10, 5099); attr_dev(sort, "class", "svelte-87j0be"); - add_location(sort, file$l, 228, 36, 5125); + add_location(sort, file$m, 228, 36, 5125); attr_dev(nav2, "class", "svelte-87j0be"); - add_location(nav2, file$l, 227, 8, 5083); + add_location(nav2, file$m, 227, 8, 5083); attr_dev(comments, "class", "svelte-87j0be"); - add_location(comments, file$l, 226, 6, 5064); + add_location(comments, file$m, 226, 6, 5064); attr_dev(left, "class", "svelte-87j0be"); - add_location(left, file$l, 188, 4, 3158); + add_location(left, file$m, 188, 4, 3158); if (img2.src !== (img2_src_value = holder(300, 150))) attr_dev(img2, "src", img2_src_value); - add_location(img2, file$l, 263, 10, 6180); + add_location(img2, file$m, 263, 10, 6180); attr_dev(a4, "href", "/demos/google"); - add_location(a4, file$l, 262, 8, 6136); - add_location(figure1, file$l, 261, 6, 6119); + add_location(a4, file$m, 262, 8, 6136); + add_location(figure1, file$m, 261, 6, 6119); attr_dev(right, "class", "svelte-87j0be"); - add_location(right, file$l, 248, 4, 5812); + add_location(right, file$m, 248, 4, 5812); attr_dev(main, "class", "svelte-87j0be"); - add_location(main, file$l, 187, 2, 3147); + add_location(main, file$m, 187, 2, 3147); attr_dev(content1, "class", "svelte-87j0be"); - add_location(content1, file$l, 172, 0, 2664); + add_location(content1, file$m, 172, 0, 2664); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -10570,7 +11904,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$m.name, + id: create_fragment$n.name, type: "component", source: "", ctx @@ -10579,7 +11913,7 @@ var app = (function () { return block; } - function instance$m($$self, $$props, $$invalidate) { + function instance$n($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Youtube", slots, []); let cards = [1, 2, 3, 4]; @@ -10618,13 +11952,13 @@ var app = (function () { class Youtube$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$m, create_fragment$m, safe_not_equal, { thumbnail: 1 }); + init(this, options, instance$n, create_fragment$n, safe_not_equal, { thumbnail: 1 }); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Youtube", options, - id: create_fragment$m.name + id: create_fragment$n.name }); } @@ -10638,7 +11972,7 @@ var app = (function () { } /* src/demos/Instagram.svelte generated by Svelte v3.30.0 */ - const file$m = "src/demos/Instagram.svelte"; + const file$n = "src/demos/Instagram.svelte"; function get_each_context$5(ctx, list, i) { const child_ctx = ctx.slice(); @@ -10666,8 +12000,8 @@ var app = (function () { t = space(); attr_dev(img, "alt", "Stock photo"); if (img.src !== (img_src_value = holder(82, 82))) attr_dev(img, "src", img_src_value); - add_location(img, file$m, 117, 6, 2055); - add_location(figure, file$m, 116, 4, 2040); + add_location(img, file$n, 117, 6, 2055); + add_location(figure, file$n, 116, 4, 2040); }, m: function mount(target, anchor) { insert_dev(target, figure, anchor); @@ -10705,8 +12039,8 @@ var app = (function () { t = space(); attr_dev(img, "alt", "Stock photo"); if (img.src !== (img_src_value = holder(300, 300))) attr_dev(img, "src", img_src_value); - add_location(img, file$m, 136, 6, 2533); - add_location(figure, file$m, 135, 4, 2518); + add_location(img, file$n, 136, 6, 2533); + add_location(figure, file$n, 135, 4, 2518); }, m: function mount(target, anchor) { insert_dev(target, figure, anchor); @@ -10730,7 +12064,7 @@ var app = (function () { return block; } - function create_fragment$n(ctx) { + function create_fragment$o(ctx) { let content; let header; let nav0; @@ -10942,63 +12276,63 @@ var app = (function () { t33 = space(); create_component(codeview.$$.fragment); - add_location(b0, file$m, 84, 6, 1269); + add_location(b0, file$n, 84, 6, 1269); attr_dev(input, "placeholder", "Search"); - add_location(input, file$m, 85, 6, 1344); + add_location(input, file$n, 85, 6, 1344); attr_dev(button0, "class", "svelte-cr3eg9"); - add_location(button0, file$m, 87, 12, 1396); - add_location(li0, file$m, 87, 8, 1392); + add_location(button0, file$n, 87, 12, 1396); + add_location(li0, file$n, 87, 8, 1392); attr_dev(a0, "class", "svelte-cr3eg9"); - add_location(a0, file$m, 88, 12, 1437); - add_location(li1, file$m, 88, 8, 1433); - add_location(ul0, file$m, 86, 6, 1379); + add_location(a0, file$n, 88, 12, 1437); + add_location(li1, file$n, 88, 8, 1433); + add_location(ul0, file$n, 86, 6, 1379); attr_dev(nav0, "class", "svelte-cr3eg9"); - add_location(nav0, file$m, 83, 4, 1257); + add_location(nav0, file$n, 83, 4, 1257); attr_dev(header, "class", "svelte-cr3eg9"); - add_location(header, file$m, 82, 2, 1244); + add_location(header, file$n, 82, 2, 1244); attr_dev(img, "alt", "Zed's Face"); if (img.src !== (img_src_value = holder(256, 256))) attr_dev(img, "src", img_src_value); - add_location(img, file$m, 95, 6, 1524); + add_location(img, file$n, 95, 6, 1524); attr_dev(figure, "class", "svelte-cr3eg9"); - add_location(figure, file$m, 94, 4, 1509); - add_location(b1, file$m, 100, 8, 1617); + add_location(figure, file$n, 94, 4, 1509); + add_location(b1, file$n, 100, 8, 1617); attr_dev(button1, "class", "svelte-cr3eg9"); - add_location(button1, file$m, 100, 23, 1632); + add_location(button1, file$n, 100, 23, 1632); attr_dev(p0, "class", "svelte-cr3eg9"); - add_location(p0, file$m, 99, 6, 1605); - add_location(b2, file$m, 104, 8, 1686); - add_location(b3, file$m, 104, 25, 1703); - add_location(b4, file$m, 104, 48, 1726); + add_location(p0, file$n, 99, 6, 1605); + add_location(b2, file$n, 104, 8, 1686); + add_location(b3, file$n, 104, 25, 1703); + add_location(b4, file$n, 104, 48, 1726); attr_dev(p1, "class", "svelte-cr3eg9"); - add_location(p1, file$m, 103, 6, 1674); - add_location(b5, file$m, 107, 9, 1770); + add_location(p1, file$n, 103, 6, 1674); + add_location(b5, file$n, 107, 9, 1770); attr_dev(p2, "class", "svelte-cr3eg9"); - add_location(p2, file$m, 107, 6, 1767); - add_location(br, file$m, 108, 102, 1895); + add_location(p2, file$n, 107, 6, 1767); + add_location(br, file$n, 108, 102, 1895); attr_dev(a1, "href", "www.twitch.tv/zedashaw"); attr_dev(a1, "class", "svelte-cr3eg9"); - add_location(a1, file$m, 109, 8, 1908); + add_location(a1, file$n, 109, 8, 1908); attr_dev(p3, "class", "svelte-cr3eg9"); - add_location(p3, file$m, 108, 6, 1799); + add_location(p3, file$n, 108, 6, 1799); attr_dev(info, "class", "svelte-cr3eg9"); - add_location(info, file$m, 98, 4, 1592); + add_location(info, file$n, 98, 4, 1592); attr_dev(profile, "class", "svelte-cr3eg9"); - add_location(profile, file$m, 93, 2, 1495); + add_location(profile, file$n, 93, 2, 1495); attr_dev(pins_1, "class", "svelte-cr3eg9"); - add_location(pins_1, file$m, 114, 2, 2007); - add_location(li2, file$m, 125, 8, 2177); - add_location(li3, file$m, 126, 8, 2247); - add_location(li4, file$m, 127, 8, 2318); - add_location(li5, file$m, 128, 8, 2383); - add_location(ul1, file$m, 124, 6, 2164); + add_location(pins_1, file$n, 114, 2, 2007); + add_location(li2, file$n, 125, 8, 2177); + add_location(li3, file$n, 126, 8, 2247); + add_location(li4, file$n, 127, 8, 2318); + add_location(li5, file$n, 128, 8, 2383); + add_location(ul1, file$n, 124, 6, 2164); attr_dev(nav1, "class", "svelte-cr3eg9"); - add_location(nav1, file$m, 123, 4, 2152); + add_location(nav1, file$n, 123, 4, 2152); attr_dev(tabs, "class", "svelte-cr3eg9"); - add_location(tabs, file$m, 122, 2, 2141); + add_location(tabs, file$n, 122, 2, 2141); attr_dev(posts_1, "class", "svelte-cr3eg9"); - add_location(posts_1, file$m, 133, 2, 2482); + add_location(posts_1, file$n, 133, 2, 2482); attr_dev(content, "class", "svelte-cr3eg9"); - add_location(content, file$m, 81, 0, 1232); + add_location(content, file$n, 81, 0, 1232); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -11166,7 +12500,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$n.name, + id: create_fragment$o.name, type: "component", source: "", ctx @@ -11175,7 +12509,7 @@ var app = (function () { return block; } - function instance$n($$self, $$props, $$invalidate) { + function instance$o($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Instagram", slots, []); let posts = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; @@ -11210,19 +12544,19 @@ var app = (function () { class Instagram$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$n, create_fragment$n, safe_not_equal, {}); + init(this, options, instance$o, create_fragment$o, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Instagram", options, - id: create_fragment$n.name + id: create_fragment$o.name }); } } /* src/demos/Pinterest.svelte generated by Svelte v3.30.0 */ - const file$n = "src/demos/Pinterest.svelte"; + const file$o = "src/demos/Pinterest.svelte"; function get_each_context$6(ctx, list, i) { const child_ctx = ctx.slice(); @@ -11296,29 +12630,29 @@ var app = (function () { } attr_dev(h1, "class", "svelte-8rhjm4"); - add_location(h1, file$n, 155, 8, 2472); + add_location(h1, file$o, 155, 8, 2472); attr_dev(p0, "class", "svelte-8rhjm4"); - add_location(p0, file$n, 156, 8, 2506); + add_location(p0, file$o, 156, 8, 2506); attr_dev(b0, "class", "svelte-8rhjm4"); - add_location(b0, file$n, 157, 11, 2547); + add_location(b0, file$o, 157, 11, 2547); attr_dev(b1, "class", "svelte-8rhjm4"); - add_location(b1, file$n, 157, 29, 2565); + add_location(b1, file$o, 157, 29, 2565); attr_dev(p1, "class", "svelte-8rhjm4"); - add_location(p1, file$n, 157, 8, 2544); + add_location(p1, file$o, 157, 8, 2544); attr_dev(p2, "class", "svelte-8rhjm4"); - add_location(p2, file$n, 158, 8, 2600); + add_location(p2, file$o, 158, 8, 2600); attr_dev(info, "class", "svelte-8rhjm4"); - add_location(info, file$n, 154, 6, 2457); + add_location(info, file$o, 154, 6, 2457); attr_dev(img, "alt", "Zed's Face"); if (img.src !== (img_src_value = holder(128, 128))) attr_dev(img, "src", img_src_value); attr_dev(img, "class", "svelte-8rhjm4"); - add_location(img, file$n, 162, 8, 2704); + add_location(img, file$o, 162, 8, 2704); attr_dev(figure, "class", "svelte-8rhjm4"); - add_location(figure, file$n, 161, 6, 2687); + add_location(figure, file$o, 161, 6, 2687); attr_dev(profile, "class", "svelte-8rhjm4"); - add_location(profile, file$n, 153, 4, 2441); + add_location(profile, file$o, 153, 4, 2441); attr_dev(pins, "class", "svelte-8rhjm4"); - add_location(pins, file$n, 166, 4, 2789); + add_location(pins, file$o, 166, 4, 2789); }, m: function mount(target, anchor) { insert_dev(target, profile, anchor); @@ -11412,11 +12746,11 @@ var app = (function () { attr_dev(img, "alt", "Van Gogh Art"); if (img.src !== (img_src_value = holder(240, /*height*/ ctx[9]))) attr_dev(img, "src", img_src_value); attr_dev(img, "class", "svelte-8rhjm4"); - add_location(img, file$n, 171, 12, 2921); + add_location(img, file$o, 171, 12, 2921); attr_dev(figcaption, "class", "svelte-8rhjm4"); - add_location(figcaption, file$n, 172, 12, 2986); + add_location(figcaption, file$o, 172, 12, 2986); attr_dev(figure, "class", "svelte-8rhjm4"); - add_location(figure, file$n, 170, 10, 2900); + add_location(figure, file$o, 170, 10, 2900); }, m: function mount(target, anchor) { insert_dev(target, figure, anchor); @@ -11466,7 +12800,7 @@ var app = (function () { t = space(); attr_dev(lane, "class", "svelte-8rhjm4"); - add_location(lane, file$n, 168, 6, 2828); + add_location(lane, file$o, 168, 6, 2828); }, m: function mount(target, anchor) { insert_dev(target, lane, anchor); @@ -11519,7 +12853,7 @@ var app = (function () { return block; } - function create_fragment$o(ctx) { + function create_fragment$p(ctx) { let content; let header; let nav; @@ -11591,33 +12925,33 @@ var app = (function () { t11 = space(); create_component(codeview.$$.fragment); attr_dev(logo, "class", "svelte-8rhjm4"); - add_location(logo, file$n, 138, 8, 2111); + add_location(logo, file$o, 138, 8, 2111); attr_dev(a0, "class", "svelte-8rhjm4"); - add_location(a0, file$n, 139, 8, 2189); + add_location(a0, file$o, 139, 8, 2189); attr_dev(a1, "class", "svelte-8rhjm4"); - add_location(a1, file$n, 140, 8, 2210); + add_location(a1, file$o, 140, 8, 2210); attr_dev(left, "class", "svelte-8rhjm4"); - add_location(left, file$n, 137, 6, 2096); + add_location(left, file$o, 137, 6, 2096); attr_dev(input, "placeholder", "Search"); attr_dev(input, "class", "svelte-8rhjm4"); - add_location(input, file$n, 143, 6, 2246); + add_location(input, file$o, 143, 6, 2246); attr_dev(button0, "class", "svelte-8rhjm4"); - add_location(button0, file$n, 146, 12, 2299); + add_location(button0, file$o, 146, 12, 2299); attr_dev(li0, "class", "svelte-8rhjm4"); - add_location(li0, file$n, 146, 8, 2295); + add_location(li0, file$o, 146, 8, 2295); attr_dev(button1, "id", "signup"); attr_dev(button1, "class", "svelte-8rhjm4"); - add_location(button1, file$n, 147, 12, 2340); + add_location(button1, file$o, 147, 12, 2340); attr_dev(li1, "class", "svelte-8rhjm4"); - add_location(li1, file$n, 147, 8, 2336); + add_location(li1, file$o, 147, 8, 2336); attr_dev(ul, "class", "svelte-8rhjm4"); - add_location(ul, file$n, 145, 6, 2282); + add_location(ul, file$o, 145, 6, 2282); attr_dev(nav, "class", "svelte-8rhjm4"); - add_location(nav, file$n, 136, 4, 2084); + add_location(nav, file$o, 136, 4, 2084); attr_dev(header, "class", "svelte-8rhjm4"); - add_location(header, file$n, 135, 2, 2071); + add_location(header, file$o, 135, 2, 2071); attr_dev(content, "class", "svelte-8rhjm4"); - add_location(content, file$n, 134, 0, 2059); + add_location(content, file$o, 134, 0, 2059); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -11685,7 +13019,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$o.name, + id: create_fragment$p.name, type: "component", source: "", ctx @@ -11694,7 +13028,7 @@ var app = (function () { return block; } - function instance$o($$self, $$props, $$invalidate) { + function instance$p($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Pinterest", slots, []); let samples = [1, 2, 3]; @@ -11759,13 +13093,13 @@ var app = (function () { class Pinterest$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$o, create_fragment$o, safe_not_equal, { thumbnail: 0 }); + init(this, options, instance$p, create_fragment$p, safe_not_equal, { thumbnail: 0 }); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Pinterest", options, - id: create_fragment$o.name + id: create_fragment$p.name }); } @@ -11779,7 +13113,7 @@ var app = (function () { } /* src/demos/XorAcademy.svelte generated by Svelte v3.30.0 */ - const file$o = "src/demos/XorAcademy.svelte"; + const file$p = "src/demos/XorAcademy.svelte"; function get_each_context$7(ctx, list, i) { const child_ctx = ctx.slice(); @@ -11807,8 +13141,8 @@ var app = (function () { t = space(); attr_dev(img, "alt", "Stock photo"); if (img.src !== (img_src_value = holder(82, 82))) attr_dev(img, "src", img_src_value); - add_location(img, file$o, 142, 6, 2482); - add_location(figure, file$o, 141, 4, 2467); + add_location(img, file$p, 142, 6, 2482); + add_location(figure, file$p, 141, 4, 2467); }, m: function mount(target, anchor) { insert_dev(target, figure, anchor); @@ -11851,12 +13185,12 @@ var app = (function () { t = space(); attr_dev(img, "alt", "Placeholder"); if (img.src !== (img_src_value = holder(300, 300))) attr_dev(img, "src", img_src_value); - add_location(img, file$o, 151, 9, 2675); + add_location(img, file$p, 151, 9, 2675); attr_dev(a, "href", "/demos/xoracademy/watch"); attr_dev(a, "class", "svelte-i1di9h"); - add_location(a, file$o, 150, 6, 2622); + add_location(a, file$p, 150, 6, 2622); attr_dev(figure, "class", "svelte-i1di9h"); - add_location(figure, file$o, 149, 4, 2607); + add_location(figure, file$p, 149, 4, 2607); }, m: function mount(target, anchor) { insert_dev(target, figure, anchor); @@ -11888,7 +13222,7 @@ var app = (function () { return block; } - function create_fragment$p(ctx) { + function create_fragment$q(ctx) { let content; let header; let nav; @@ -12027,50 +13361,50 @@ var app = (function () { attr_dev(a0, "id", "logo-link"); attr_dev(a0, "href", "/demos/xoracademy"); attr_dev(a0, "class", "svelte-i1di9h"); - add_location(a0, file$o, 109, 9, 1683); - add_location(b0, file$o, 109, 6, 1680); + add_location(a0, file$p, 109, 9, 1683); + add_location(b0, file$p, 109, 6, 1680); attr_dev(input, "placeholder", "Search"); attr_dev(input, "class", "svelte-i1di9h"); - add_location(input, file$o, 110, 6, 1810); + add_location(input, file$p, 110, 6, 1810); attr_dev(button0, "class", "svelte-i1di9h"); - add_location(button0, file$o, 112, 44, 1894); + add_location(button0, file$p, 112, 44, 1894); attr_dev(a1, "href", "/demos/login"); attr_dev(a1, "class", "svelte-i1di9h"); - add_location(a1, file$o, 112, 12, 1862); - add_location(li0, file$o, 112, 8, 1858); + add_location(a1, file$p, 112, 12, 1862); + add_location(li0, file$p, 112, 8, 1858); attr_dev(a2, "class", "svelte-i1di9h"); - add_location(a2, file$o, 113, 12, 1939); - add_location(li1, file$o, 113, 8, 1935); - add_location(ul, file$o, 111, 6, 1845); + add_location(a2, file$p, 113, 12, 1939); + add_location(li1, file$p, 113, 8, 1935); + add_location(ul, file$p, 111, 6, 1845); attr_dev(nav, "class", "svelte-i1di9h"); - add_location(nav, file$o, 108, 4, 1668); + add_location(nav, file$p, 108, 4, 1668); attr_dev(header, "class", "svelte-i1di9h"); - add_location(header, file$o, 107, 2, 1655); + add_location(header, file$p, 107, 2, 1655); attr_dev(img, "alt", "Module Thumb"); if (img.src !== (img_src_value = holder(256, 256))) attr_dev(img, "src", img_src_value); - add_location(img, file$o, 120, 6, 2026); + add_location(img, file$p, 120, 6, 2026); attr_dev(figure, "class", "svelte-i1di9h"); - add_location(figure, file$o, 119, 4, 2011); - add_location(button1, file$o, 125, 8, 2121); + add_location(figure, file$p, 119, 4, 2011); + add_location(button1, file$p, 125, 8, 2121); attr_dev(p0, "class", "svelte-i1di9h"); - add_location(p0, file$o, 124, 6, 2109); - add_location(b1, file$o, 129, 8, 2175); - add_location(b2, file$o, 129, 25, 2192); + add_location(p0, file$p, 124, 6, 2109); + add_location(b1, file$p, 129, 8, 2175); + add_location(b2, file$p, 129, 25, 2192); attr_dev(p1, "class", "svelte-i1di9h"); - add_location(p1, file$o, 128, 6, 2163); - add_location(h3, file$o, 132, 6, 2233); + add_location(p1, file$p, 128, 6, 2163); + add_location(h3, file$p, 132, 6, 2233); attr_dev(p2, "class", "svelte-i1di9h"); - add_location(p2, file$o, 133, 6, 2264); + add_location(p2, file$p, 133, 6, 2264); attr_dev(info, "class", "svelte-i1di9h"); - add_location(info, file$o, 123, 4, 2096); + add_location(info, file$p, 123, 4, 2096); attr_dev(profile, "class", "svelte-i1di9h"); - add_location(profile, file$o, 118, 2, 1997); + add_location(profile, file$p, 118, 2, 1997); attr_dev(related_1, "class", "svelte-i1di9h"); - add_location(related_1, file$o, 139, 2, 2428); + add_location(related_1, file$p, 139, 2, 2428); attr_dev(posts_1, "class", "svelte-i1di9h"); - add_location(posts_1, file$o, 147, 2, 2571); + add_location(posts_1, file$p, 147, 2, 2571); attr_dev(content, "class", "svelte-i1di9h"); - add_location(content, file$o, 106, 0, 1643); + add_location(content, file$p, 106, 0, 1643); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -12211,7 +13545,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$p.name, + id: create_fragment$q.name, type: "component", source: "", ctx @@ -12220,7 +13554,7 @@ var app = (function () { return block; } - function instance$p($$self, $$props, $$invalidate) { + function instance$q($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("XorAcademy", slots, []); let posts = [1, 2, 3, 4, 5, 6, 7, 8, 9]; @@ -12255,19 +13589,19 @@ var app = (function () { class XorAcademy extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$p, create_fragment$p, safe_not_equal, {}); + init(this, options, instance$q, create_fragment$q, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "XorAcademy", options, - id: create_fragment$p.name + id: create_fragment$q.name }); } } /* src/demos/XorAcademyWatch.svelte generated by Svelte v3.30.0 */ - const file$p = "src/demos/XorAcademyWatch.svelte"; + const file$q = "src/demos/XorAcademyWatch.svelte"; function get_each_context$8(ctx, list, i) { const child_ctx = ctx.slice(); @@ -12331,20 +13665,20 @@ var app = (function () { t8 = space(); if (img.src !== (img_src_value = holder(64, 64))) attr_dev(img, "src", img_src_value); attr_dev(img, "class", "svelte-9c6eed"); - add_location(img, file$p, 228, 8, 5002); + add_location(img, file$q, 228, 8, 5002); attr_dev(h4, "class", "svelte-9c6eed"); - add_location(h4, file$p, 230, 8, 5055); + add_location(h4, file$q, 230, 8, 5055); attr_dev(p, "class", "svelte-9c6eed"); - add_location(p, file$p, 231, 8, 5077); + add_location(p, file$q, 231, 8, 5077); attr_dev(nav, "id", "vote-nav"); attr_dev(nav, "class", "svelte-9c6eed"); - add_location(nav, file$p, 232, 8, 5215); + add_location(nav, file$q, 232, 8, 5215); attr_dev(reply, "class", "svelte-9c6eed"); - add_location(reply, file$p, 235, 8, 5323); + add_location(reply, file$q, 235, 8, 5323); attr_dev(info, "class", "svelte-9c6eed"); - add_location(info, file$p, 229, 8, 5040); + add_location(info, file$q, 229, 8, 5040); attr_dev(card, "class", "svelte-9c6eed"); - add_location(card, file$p, 227, 8, 4987); + add_location(card, file$q, 227, 8, 4987); }, m: function mount(target, anchor) { insert_dev(target, card, anchor); @@ -12395,7 +13729,7 @@ var app = (function () { return block; } - function create_fragment$q(ctx) { + function create_fragment$r(ctx) { let content1; let header; let nav0; @@ -12622,74 +13956,74 @@ var app = (function () { create_component(codeview.$$.fragment); attr_dev(a0, "href", "/demos/xoracademy"); attr_dev(a0, "class", "svelte-9c6eed"); - add_location(a0, file$p, 177, 9, 2703); - add_location(b, file$p, 177, 6, 2700); + add_location(a0, file$q, 177, 9, 2703); + add_location(b, file$q, 177, 6, 2700); attr_dev(input, "placeholder", "Search"); attr_dev(input, "class", "svelte-9c6eed"); - add_location(input, file$p, 178, 6, 2815); + add_location(input, file$q, 178, 6, 2815); attr_dev(button0, "class", "svelte-9c6eed"); - add_location(button0, file$p, 180, 44, 2899); + add_location(button0, file$q, 180, 44, 2899); attr_dev(a1, "href", "/demos/login"); attr_dev(a1, "class", "svelte-9c6eed"); - add_location(a1, file$p, 180, 12, 2867); - add_location(li0, file$p, 180, 8, 2863); + add_location(a1, file$q, 180, 12, 2867); + add_location(li0, file$q, 180, 8, 2863); attr_dev(a2, "class", "svelte-9c6eed"); - add_location(a2, file$p, 181, 12, 2944); - add_location(li1, file$p, 181, 8, 2940); - add_location(ul, file$p, 179, 6, 2850); + add_location(a2, file$q, 181, 12, 2944); + add_location(li1, file$q, 181, 8, 2940); + add_location(ul, file$q, 179, 6, 2850); attr_dev(nav0, "class", "svelte-9c6eed"); - add_location(nav0, file$p, 176, 4, 2688); + add_location(nav0, file$q, 176, 4, 2688); attr_dev(header, "class", "svelte-9c6eed"); - add_location(header, file$p, 175, 2, 2675); + add_location(header, file$q, 175, 2, 2675); if (img0.src !== (img0_src_value = holder(1280, 720))) attr_dev(img0, "src", img0_src_value); - add_location(img0, file$p, 187, 6, 3027); + add_location(img0, file$q, 187, 6, 3027); attr_dev(a3, "class", "svelte-9c6eed"); - add_location(a3, file$p, 189, 8, 3087); + add_location(a3, file$q, 189, 8, 3087); attr_dev(a4, "class", "svelte-9c6eed"); - add_location(a4, file$p, 189, 20, 3099); + add_location(a4, file$q, 189, 20, 3099); attr_dev(p, "class", "svelte-9c6eed"); - add_location(p, file$p, 190, 8, 3126); - add_location(likes, file$p, 192, 10, 3183); - add_location(video_buttons, file$p, 193, 10, 3226); + add_location(p, file$q, 190, 8, 3126); + add_location(likes, file$q, 192, 10, 3183); + add_location(video_buttons, file$q, 193, 10, 3226); set_custom_element_data(video_actions, "class", "svelte-9c6eed"); - add_location(video_actions, file$p, 191, 8, 3157); + add_location(video_actions, file$q, 191, 8, 3157); attr_dev(figcaption, "class", "svelte-9c6eed"); - add_location(figcaption, file$p, 188, 6, 3066); - add_location(figure, file$p, 186, 4, 3012); + add_location(figcaption, file$q, 188, 6, 3066); + add_location(figure, file$q, 186, 4, 3012); if (img1.src !== (img1_src_value = holder(64, 64))) attr_dev(img1, "src", img1_src_value); attr_dev(img1, "class", "svelte-9c6eed"); - add_location(img1, file$p, 207, 8, 3677); + add_location(img1, file$q, 207, 8, 3677); attr_dev(h4, "class", "svelte-9c6eed"); - add_location(h4, file$p, 209, 8, 3730); - add_location(subs, file$p, 210, 8, 3759); + add_location(h4, file$q, 209, 8, 3730); + add_location(subs, file$q, 210, 8, 3759); attr_dev(info, "class", "svelte-9c6eed"); - add_location(info, file$p, 208, 8, 3715); + add_location(info, file$q, 208, 8, 3715); attr_dev(card, "class", "svelte-9c6eed"); - add_location(card, file$p, 206, 8, 3662); + add_location(card, file$q, 206, 8, 3662); attr_dev(button1, "id", "subscribe"); attr_dev(button1, "class", "svelte-9c6eed"); - add_location(button1, file$p, 212, 8, 3809); + add_location(button1, file$q, 212, 8, 3809); attr_dev(nav1, "class", "svelte-9c6eed"); - add_location(nav1, file$p, 205, 6, 3648); + add_location(nav1, file$q, 205, 6, 3648); attr_dev(content0, "class", "svelte-9c6eed"); - add_location(content0, file$p, 215, 6, 3871); + add_location(content0, file$q, 215, 6, 3871); attr_dev(promotion, "class", "svelte-9c6eed"); - add_location(promotion, file$p, 204, 6, 3630); + add_location(promotion, file$q, 204, 6, 3630); attr_dev(hr, "class", "svelte-9c6eed"); - add_location(hr, file$p, 219, 6, 4796); - add_location(span, file$p, 223, 8, 4839); + add_location(hr, file$q, 219, 6, 4796); + add_location(span, file$q, 223, 8, 4839); attr_dev(sort, "class", "svelte-9c6eed"); - add_location(sort, file$p, 223, 34, 4865); + add_location(sort, file$q, 223, 34, 4865); attr_dev(nav2, "class", "svelte-9c6eed"); - add_location(nav2, file$p, 222, 6, 4825); + add_location(nav2, file$q, 222, 6, 4825); attr_dev(comments, "class", "svelte-9c6eed"); - add_location(comments, file$p, 221, 6, 4808); + add_location(comments, file$q, 221, 6, 4808); attr_dev(lower, "class", "svelte-9c6eed"); - add_location(lower, file$p, 203, 4, 3616); + add_location(lower, file$q, 203, 4, 3616); attr_dev(main, "class", "svelte-9c6eed"); - add_location(main, file$p, 185, 2, 3001); + add_location(main, file$q, 185, 2, 3001); attr_dev(content1, "class", "svelte-9c6eed"); - add_location(content1, file$p, 174, 0, 2663); + add_location(content1, file$q, 174, 0, 2663); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -12863,7 +14197,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$q.name, + id: create_fragment$r.name, type: "component", source: "", ctx @@ -12872,7 +14206,7 @@ var app = (function () { return block; } - function instance$q($$self, $$props, $$invalidate) { + function instance$r($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("XorAcademyWatch", slots, []); let cards = [1, 2, 3, 4]; @@ -12898,21 +14232,21 @@ var app = (function () { class XorAcademyWatch extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$q, create_fragment$q, safe_not_equal, {}); + init(this, options, instance$r, create_fragment$r, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "XorAcademyWatch", options, - id: create_fragment$q.name + id: create_fragment$r.name }); } } /* src/demos/Login.svelte generated by Svelte v3.30.0 */ - const file$q = "src/demos/Login.svelte"; + const file$r = "src/demos/Login.svelte"; - function create_fragment$r(ctx) { + function create_fragment$s(ctx) { let content; let spacer0; let t0; @@ -12971,31 +14305,31 @@ var app = (function () { spacer1 = element("spacer"); t12 = space(); create_component(codeview.$$.fragment); - add_location(spacer0, file$q, 15, 2, 262); - add_location(header, file$q, 17, 4, 293); + add_location(spacer0, file$r, 15, 2, 262); + add_location(header, file$r, 17, 4, 293); attr_dev(label0, "for", "username"); - add_location(label0, file$q, 18, 4, 320); + add_location(label0, file$r, 18, 4, 320); attr_dev(input0, "type", "text"); attr_dev(input0, "id", "username"); attr_dev(input0, "name", "username"); attr_dev(input0, "size", "32"); attr_dev(input0, "placeholder", "Username"); - add_location(input0, file$q, 19, 4, 363); + add_location(input0, file$r, 19, 4, 363); attr_dev(label1, "for", "password"); - add_location(label1, file$q, 20, 4, 450); + add_location(label1, file$r, 20, 4, 450); attr_dev(input1, "type", "password"); attr_dev(input1, "id", "password"); attr_dev(input1, "name", "password"); attr_dev(input1, "size", "32"); attr_dev(input1, "placeholder", "Password"); - add_location(input1, file$q, 21, 4, 493); - add_location(br, file$q, 22, 4, 584); + add_location(input1, file$r, 21, 4, 493); + add_location(br, file$r, 22, 4, 584); attr_dev(button, "type", "submit"); - add_location(button, file$q, 23, 4, 593); - add_location(form, file$q, 16, 2, 282); - add_location(spacer1, file$q, 25, 2, 642); + add_location(button, file$r, 23, 4, 593); + add_location(form, file$r, 16, 2, 282); + add_location(spacer1, file$r, 25, 2, 642); attr_dev(content, "class", "svelte-t7gl8c"); - add_location(content, file$q, 14, 0, 250); + add_location(content, file$r, 14, 0, 250); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -13043,7 +14377,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$r.name, + id: create_fragment$s.name, type: "component", source: "", ctx @@ -13052,7 +14386,7 @@ var app = (function () { return block; } - function instance$r($$self, $$props, $$invalidate) { + function instance$s($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Login", slots, []); const writable_props = []; @@ -13068,21 +14402,21 @@ var app = (function () { class Login$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$r, create_fragment$r, safe_not_equal, {}); + init(this, options, instance$s, create_fragment$s, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Login", options, - id: create_fragment$r.name + id: create_fragment$s.name }); } } /* src/demos/Tiles.svelte generated by Svelte v3.30.0 */ - const file$r = "src/demos/Tiles.svelte"; + const file$s = "src/demos/Tiles.svelte"; - function create_fragment$s(ctx) { + function create_fragment$t(ctx) { let content; let tile; let left; @@ -13153,23 +14487,23 @@ var app = (function () { t6 = space(); create_component(codeview.$$.fragment); if (img.src !== (img_src_value = holder(48, 48))) attr_dev(img, "src", img_src_value); - add_location(img, file$r, 48, 6, 836); - add_location(left, file$r, 47, 4, 823); + add_location(img, file$s, 48, 6, 836); + add_location(left, file$s, 47, 4, 823); attr_dev(h4, "class", "svelte-fwzpwr"); - add_location(h4, file$r, 52, 6, 898); - add_location(p, file$r, 55, 6, 942); + add_location(h4, file$s, 52, 6, 898); + add_location(p, file$s, 55, 6, 942); attr_dev(middle, "class", "svelte-fwzpwr"); - add_location(middle, file$r, 51, 4, 883); + add_location(middle, file$s, 51, 4, 883); attr_dev(button0, "class", "svelte-fwzpwr"); - add_location(button0, file$r, 59, 4, 1104); + add_location(button0, file$s, 59, 4, 1104); attr_dev(button1, "class", "svelte-fwzpwr"); - add_location(button1, file$r, 60, 4, 1188); + add_location(button1, file$s, 60, 4, 1188); attr_dev(right, "class", "svelte-fwzpwr"); - add_location(right, file$r, 58, 4, 1092); + add_location(right, file$s, 58, 4, 1092); attr_dev(tile, "class", "svelte-fwzpwr"); - add_location(tile, file$r, 46, 2, 812); + add_location(tile, file$s, 46, 2, 812); attr_dev(content, "class", "svelte-fwzpwr"); - add_location(content, file$r, 45, 0, 800); + add_location(content, file$s, 45, 0, 800); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -13220,7 +14554,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$s.name, + id: create_fragment$t.name, type: "component", source: "", ctx @@ -13229,7 +14563,7 @@ var app = (function () { return block; } - function instance$s($$self, $$props, $$invalidate) { + function instance$t($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Tiles", slots, []); const writable_props = []; @@ -13245,21 +14579,21 @@ var app = (function () { class Tiles$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$s, create_fragment$s, safe_not_equal, {}); + init(this, options, instance$t, create_fragment$t, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Tiles", options, - id: create_fragment$s.name + id: create_fragment$t.name }); } } /* src/demos/Cards.svelte generated by Svelte v3.30.0 */ - const file$s = "src/demos/Cards.svelte"; + const file$t = "src/demos/Cards.svelte"; - function create_fragment$t(ctx) { + function create_fragment$u(ctx) { let content; let card; let top; @@ -13331,23 +14665,23 @@ var app = (function () { create_component(codeview.$$.fragment); if (img.src !== (img_src_value = holder(16 * 30, 9 * 30))) attr_dev(img, "src", img_src_value); attr_dev(img, "class", "svelte-12f1gxf"); - add_location(img, file$s, 51, 6, 800); - add_location(top, file$s, 50, 4, 788); + add_location(img, file$t, 51, 6, 800); + add_location(top, file$t, 50, 4, 788); attr_dev(h4, "class", "svelte-12f1gxf"); - add_location(h4, file$s, 55, 6, 870); - add_location(p, file$s, 58, 6, 914); + add_location(h4, file$t, 55, 6, 870); + add_location(p, file$t, 58, 6, 914); attr_dev(middle, "class", "svelte-12f1gxf"); - add_location(middle, file$s, 54, 4, 855); + add_location(middle, file$t, 54, 4, 855); attr_dev(button0, "class", "svelte-12f1gxf"); - add_location(button0, file$s, 63, 4, 1083); + add_location(button0, file$t, 63, 4, 1083); attr_dev(button1, "class", "svelte-12f1gxf"); - add_location(button1, file$s, 64, 4, 1167); + add_location(button1, file$t, 64, 4, 1167); attr_dev(bottom, "class", "svelte-12f1gxf"); - add_location(bottom, file$s, 62, 4, 1070); + add_location(bottom, file$t, 62, 4, 1070); attr_dev(card, "class", "svelte-12f1gxf"); - add_location(card, file$s, 49, 2, 777); + add_location(card, file$t, 49, 2, 777); attr_dev(content, "class", "svelte-12f1gxf"); - add_location(content, file$s, 48, 0, 765); + add_location(content, file$t, 48, 0, 765); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -13398,7 +14732,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$t.name, + id: create_fragment$u.name, type: "component", source: "", ctx @@ -13407,7 +14741,7 @@ var app = (function () { return block; } - function instance$t($$self, $$props, $$invalidate) { + function instance$u($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Cards", slots, []); const writable_props = []; @@ -13423,21 +14757,21 @@ var app = (function () { class Cards$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$t, create_fragment$t, safe_not_equal, {}); + init(this, options, instance$u, create_fragment$u, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Cards", options, - id: create_fragment$t.name + id: create_fragment$u.name }); } } /* src/demos/Panels.svelte generated by Svelte v3.30.0 */ - const file$t = "src/demos/Panels.svelte"; + const file$u = "src/demos/Panels.svelte"; - function create_fragment$u(ctx) { + function create_fragment$v(ctx) { let content; let panel; let top; @@ -13511,24 +14845,24 @@ var app = (function () { t8 = text(" OK"); t9 = space(); create_component(codeview.$$.fragment); - add_location(h1, file$t, 60, 4, 1024); + add_location(h1, file$u, 60, 4, 1024); attr_dev(top, "class", "svelte-1lajyim"); - add_location(top, file$t, 59, 4, 1014); - add_location(h4, file$t, 64, 6, 1080); - add_location(p, file$t, 67, 6, 1125); + add_location(top, file$u, 59, 4, 1014); + add_location(h4, file$u, 64, 6, 1080); + add_location(p, file$u, 67, 6, 1125); attr_dev(middle, "class", "svelte-1lajyim"); - add_location(middle, file$t, 63, 4, 1065); + add_location(middle, file$u, 63, 4, 1065); attr_dev(button0, "id", "cancel"); attr_dev(button0, "class", "svelte-1lajyim"); - add_location(button0, file$t, 73, 4, 1391); + add_location(button0, file$u, 73, 4, 1391); attr_dev(button1, "class", "svelte-1lajyim"); - add_location(button1, file$t, 74, 4, 1492); + add_location(button1, file$u, 74, 4, 1492); attr_dev(bottom, "class", "svelte-1lajyim"); - add_location(bottom, file$t, 72, 4, 1378); + add_location(bottom, file$u, 72, 4, 1378); attr_dev(panel, "class", "svelte-1lajyim"); - add_location(panel, file$t, 58, 2, 1002); + add_location(panel, file$u, 58, 2, 1002); attr_dev(content, "class", "svelte-1lajyim"); - add_location(content, file$t, 57, 0, 990); + add_location(content, file$u, 57, 0, 990); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -13581,7 +14915,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$u.name, + id: create_fragment$v.name, type: "component", source: "", ctx @@ -13590,7 +14924,7 @@ var app = (function () { return block; } - function instance$u($$self, $$props, $$invalidate) { + function instance$v($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Panels", slots, []); const writable_props = []; @@ -13606,13 +14940,13 @@ var app = (function () { class Panels$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$u, create_fragment$u, safe_not_equal, {}); + init(this, options, instance$v, create_fragment$v, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Panels", options, - id: create_fragment$u.name + id: create_fragment$v.name }); } } @@ -13628,7 +14962,7 @@ var app = (function () { } /* src/demos/Modal.svelte generated by Svelte v3.30.0 */ - const file$u = "src/demos/Modal.svelte"; + const file$v = "src/demos/Modal.svelte"; // (50:0) {#if visible} function create_if_block$3(ctx) { @@ -13649,12 +14983,12 @@ var app = (function () { t1 = space(); p = element("p"); p.textContent = "Designers love modals. Click anywhere to close this."; - add_location(h1, file$u, 52, 4, 981); - add_location(p, file$u, 53, 4, 1010); + add_location(h1, file$v, 52, 4, 981); + add_location(p, file$v, 53, 4, 1010); set_custom_element_data(modal_content, "class", "svelte-cwnhgy"); - add_location(modal_content, file$u, 51, 2, 961); + add_location(modal_content, file$v, 51, 2, 961); attr_dev(modal, "class", "svelte-cwnhgy"); - add_location(modal, file$u, 50, 2, 916); + add_location(modal, file$v, 50, 2, 916); }, m: function mount(target, anchor) { insert_dev(target, modal, anchor); @@ -13687,7 +15021,7 @@ var app = (function () { return block; } - function create_fragment$v(ctx) { + function create_fragment$w(ctx) { let content; let button; let t1; @@ -13713,9 +15047,9 @@ var app = (function () { t2 = space(); create_component(codeview.$$.fragment); attr_dev(button, "class", "svelte-cwnhgy"); - add_location(button, file$u, 46, 2, 827); + add_location(button, file$v, 46, 2, 827); attr_dev(content, "class", "svelte-cwnhgy"); - add_location(content, file$u, 45, 0, 815); + add_location(content, file$v, 45, 0, 815); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -13770,7 +15104,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$v.name, + id: create_fragment$w.name, type: "component", source: "", ctx @@ -13779,7 +15113,7 @@ var app = (function () { return block; } - function instance$v($$self, $$props, $$invalidate) { + function instance$w($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Modal", slots, []); let { visible = false } = $$props; @@ -13812,13 +15146,13 @@ var app = (function () { class Modal extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$v, create_fragment$v, safe_not_equal, { visible: 0 }); + init(this, options, instance$w, create_fragment$w, safe_not_equal, { visible: 0 }); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Modal", options, - id: create_fragment$v.name + id: create_fragment$w.name }); } @@ -13832,9 +15166,9 @@ var app = (function () { } /* src/demos/NavBar.svelte generated by Svelte v3.30.0 */ - const file$v = "src/demos/NavBar.svelte"; + const file$w = "src/demos/NavBar.svelte"; - function create_fragment$w(ctx) { + function create_fragment$x(ctx) { let content; let nav_bar0; let left0; @@ -13922,30 +15256,30 @@ var app = (function () { button2.textContent = "Sign Up"; t13 = space(); create_component(codeview.$$.fragment); - add_location(b0, file$v, 44, 6, 807); - add_location(left0, file$v, 43, 4, 794); + add_location(b0, file$w, 44, 6, 807); + add_location(left0, file$w, 43, 4, 794); attr_dev(input, "placeholder", "Search"); attr_dev(input, "class", "svelte-1ofkzoq"); - add_location(input, file$v, 48, 6, 903); + add_location(input, file$w, 48, 6, 903); attr_dev(middle0, "class", "svelte-1ofkzoq"); - add_location(middle0, file$v, 47, 4, 888); - add_location(button0, file$v, 52, 6, 965); - add_location(a, file$v, 53, 6, 995); - add_location(right0, file$v, 51, 4, 951); + add_location(middle0, file$w, 47, 4, 888); + add_location(button0, file$w, 52, 6, 965); + add_location(a, file$w, 53, 6, 995); + add_location(right0, file$w, 51, 4, 951); set_custom_element_data(nav_bar0, "class", "svelte-1ofkzoq"); - add_location(nav_bar0, file$v, 42, 2, 780); - add_location(b1, file$v, 59, 6, 1084); - add_location(left1, file$v, 58, 4, 1071); + add_location(nav_bar0, file$w, 42, 2, 780); + add_location(b1, file$w, 59, 6, 1084); + add_location(left1, file$w, 58, 4, 1071); attr_dev(middle1, "class", "svelte-1ofkzoq"); - add_location(middle1, file$v, 62, 4, 1165); - add_location(button1, file$v, 68, 6, 1288); + add_location(middle1, file$w, 62, 4, 1165); + add_location(button1, file$w, 68, 6, 1288); attr_dev(button2, "id", "signup"); - add_location(button2, file$v, 69, 6, 1318); - add_location(right1, file$v, 67, 4, 1274); + add_location(button2, file$w, 69, 6, 1318); + add_location(right1, file$w, 67, 4, 1274); set_custom_element_data(nav_bar1, "class", "alternate svelte-1ofkzoq"); - add_location(nav_bar1, file$v, 57, 2, 1039); + add_location(nav_bar1, file$w, 57, 2, 1039); attr_dev(content, "class", "svelte-1ofkzoq"); - add_location(content, file$v, 41, 0, 768); + add_location(content, file$w, 41, 0, 768); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -14007,7 +15341,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$w.name, + id: create_fragment$x.name, type: "component", source: "", ctx @@ -14016,7 +15350,7 @@ var app = (function () { return block; } - function instance$w($$self, $$props, $$invalidate) { + function instance$x($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("NavBar", slots, []); const writable_props = []; @@ -14032,19 +15366,19 @@ var app = (function () { class NavBar$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$w, create_fragment$w, safe_not_equal, {}); + init(this, options, instance$x, create_fragment$x, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "NavBar", options, - id: create_fragment$w.name + id: create_fragment$x.name }); } } /* src/demos/Tabs.svelte generated by Svelte v3.30.0 */ - const file$w = "src/demos/Tabs.svelte"; + const file$x = "src/demos/Tabs.svelte"; function get_each_context$9(ctx, list, i) { const child_ctx = ctx.slice(); @@ -14078,7 +15412,7 @@ var app = (function () { t = text(t_value); attr_dev(a, "class", "svelte-j1ijok"); toggle_class(a, "active", /*panel*/ ctx[3].active); - add_location(a, file$w, 73, 6, 1404); + add_location(a, file$x, 73, 6, 1404); }, m: function mount(target, anchor) { insert_dev(target, a, anchor); @@ -14134,11 +15468,11 @@ var app = (function () { p = element("p"); p.textContent = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim\n veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea\n commodo consequat. Duis aute irure dolor in reprehenderit in voluptate\n velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat\n cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est\n laborum."; t3 = space(); - add_location(h1, file$w, 79, 6, 1597); - add_location(p, file$w, 80, 6, 1629); + add_location(h1, file$x, 79, 6, 1597); + add_location(p, file$x, 80, 6, 1629); attr_dev(panel, "class", "svelte-j1ijok"); toggle_class(panel, "active", /*panel*/ ctx[3].active); - add_location(panel, file$w, 78, 6, 1555); + add_location(panel, file$x, 78, 6, 1555); }, m: function mount(target, anchor) { insert_dev(target, panel, anchor); @@ -14171,7 +15505,7 @@ var app = (function () { return block; } - function create_fragment$x(ctx) { + function create_fragment$y(ctx) { let content; let h1; let t1; @@ -14248,21 +15582,21 @@ var app = (function () { t11 = space(); create_component(codeview.$$.fragment); - add_location(h1, file$w, 62, 2, 1226); + add_location(h1, file$x, 62, 2, 1226); attr_dev(a0, "class", "active svelte-j1ijok"); - add_location(a0, file$w, 65, 4, 1260); + add_location(a0, file$x, 65, 4, 1260); attr_dev(a1, "class", "svelte-j1ijok"); - add_location(a1, file$w, 66, 4, 1291); + add_location(a1, file$x, 66, 4, 1291); attr_dev(a2, "class", "svelte-j1ijok"); - add_location(a2, file$w, 67, 4, 1307); + add_location(a2, file$x, 67, 4, 1307); attr_dev(tabs0, "class", "svelte-j1ijok"); - add_location(tabs0, file$w, 64, 2, 1249); - add_location(h2, file$w, 70, 2, 1332); + add_location(tabs0, file$x, 64, 2, 1249); + add_location(h2, file$x, 70, 2, 1332); attr_dev(tabs1, "class", "svelte-j1ijok"); - add_location(tabs1, file$w, 71, 2, 1360); - add_location(panels_1, file$w, 76, 2, 1509); + add_location(tabs1, file$x, 71, 2, 1360); + add_location(panels_1, file$x, 76, 2, 1509); attr_dev(content, "class", "svelte-j1ijok"); - add_location(content, file$w, 61, 0, 1214); + add_location(content, file$x, 61, 0, 1214); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -14366,7 +15700,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$x.name, + id: create_fragment$y.name, type: "component", source: "", ctx @@ -14375,7 +15709,7 @@ var app = (function () { return block; } - function instance$x($$self, $$props, $$invalidate) { + function instance$y($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Tabs", slots, []); @@ -14413,19 +15747,19 @@ var app = (function () { class Tabs$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$x, create_fragment$x, safe_not_equal, {}); + init(this, options, instance$y, create_fragment$y, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Tabs", options, - id: create_fragment$x.name + id: create_fragment$y.name }); } } /* src/demos/Calendar.svelte generated by Svelte v3.30.0 */ - const file$x = "src/demos/Calendar.svelte"; + const file$y = "src/demos/Calendar.svelte"; function get_each_context$a(ctx, list, i) { const child_ctx = ctx.slice(); @@ -14444,7 +15778,7 @@ var app = (function () { date = element("date"); t = text(t_value); attr_dev(date, "class", "svelte-1gt8gt4"); - add_location(date, file$x, 58, 4, 1183); + add_location(date, file$y, 58, 4, 1183); }, m: function mount(target, anchor) { insert_dev(target, date, anchor); @@ -14467,7 +15801,7 @@ var app = (function () { return block; } - function create_fragment$y(ctx) { + function create_fragment$z(ctx) { let content; let calendar; let month; @@ -14529,25 +15863,25 @@ var app = (function () { t10 = space(); create_component(codeview.$$.fragment); attr_dev(month, "class", "svelte-1gt8gt4"); - add_location(month, file$x, 55, 2, 1023); + add_location(month, file$y, 55, 2, 1023); attr_dev(day0, "class", "svelte-1gt8gt4"); - add_location(day0, file$x, 56, 2, 1049); + add_location(day0, file$y, 56, 2, 1049); attr_dev(day1, "class", "svelte-1gt8gt4"); - add_location(day1, file$x, 56, 16, 1063); + add_location(day1, file$y, 56, 16, 1063); attr_dev(day2, "class", "svelte-1gt8gt4"); - add_location(day2, file$x, 56, 30, 1077); + add_location(day2, file$y, 56, 30, 1077); attr_dev(day3, "class", "svelte-1gt8gt4"); - add_location(day3, file$x, 56, 44, 1091); + add_location(day3, file$y, 56, 44, 1091); attr_dev(day4, "class", "svelte-1gt8gt4"); - add_location(day4, file$x, 56, 58, 1105); + add_location(day4, file$y, 56, 58, 1105); attr_dev(day5, "class", "svelte-1gt8gt4"); - add_location(day5, file$x, 56, 72, 1119); + add_location(day5, file$y, 56, 72, 1119); attr_dev(day6, "class", "svelte-1gt8gt4"); - add_location(day6, file$x, 56, 86, 1133); + add_location(day6, file$y, 56, 86, 1133); attr_dev(calendar, "class", "svelte-1gt8gt4"); - add_location(calendar, file$x, 54, 2, 1010); + add_location(calendar, file$y, 54, 2, 1010); attr_dev(content, "class", "svelte-1gt8gt4"); - add_location(content, file$x, 53, 0, 998); + add_location(content, file$y, 53, 0, 998); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -14618,7 +15952,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$y.name, + id: create_fragment$z.name, type: "component", source: "", ctx @@ -14627,7 +15961,7 @@ var app = (function () { return block; } - function instance$y($$self, $$props, $$invalidate) { + function instance$z($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Calendar", slots, []); @@ -14654,52 +15988,120 @@ var app = (function () { class Calendar$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$y, create_fragment$y, safe_not_equal, {}); + init(this, options, instance$z, create_fragment$z, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Calendar", options, - id: create_fragment$y.name + id: create_fragment$z.name }); } } - /* src/demos/GridOverGraphic.svelte generated by Svelte v3.30.0 */ - const file$y = "src/demos/GridOverGraphic.svelte"; + /* src/demos/Carousel.svelte generated by Svelte v3.30.0 */ + const file$z = "src/demos/Carousel.svelte"; - function create_fragment$z(ctx) { - let content; - let h10; - let t1; - let icecream; - let background; + function get_each_context$b(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[1] = list[i]; + return child_ctx; + } + + // (83:4) {#each images as image} + function create_each_block$b(ctx) { + let figure; let img; let img_src_value; + let t0; + let figcaption; + let t1; + let t2_value = /*image*/ ctx[1] + ""; let t2; - let overlay; - let one; - let h11; + + const block = { + c: function create() { + figure = element("figure"); + img = element("img"); + t0 = space(); + figcaption = element("figcaption"); + t1 = text("Image #"); + t2 = text(t2_value); + attr_dev(img, "alt", "Stock photo"); + if (img.src !== (img_src_value = holder(16 * 40, 9 * 40))) attr_dev(img, "src", img_src_value); + attr_dev(img, "class", "svelte-12uwa5s"); + add_location(img, file$z, 84, 8, 1462); + attr_dev(figcaption, "class", "svelte-12uwa5s"); + add_location(figcaption, file$z, 85, 8, 1527); + attr_dev(figure, "class", "svelte-12uwa5s"); + toggle_class(figure, "active", /*image*/ ctx[1] === 1); + add_location(figure, file$z, 83, 6, 1416); + }, + m: function mount(target, anchor) { + insert_dev(target, figure, anchor); + append_dev(figure, img); + append_dev(figure, t0); + append_dev(figure, figcaption); + append_dev(figcaption, t1); + append_dev(figcaption, t2); + }, + p: function update(ctx, dirty) { + if (dirty & /*images*/ 1) { + toggle_class(figure, "active", /*image*/ ctx[1] === 1); + } + }, + d: function destroy(detaching) { + if (detaching) detach_dev(figure); + } + }; + + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block$b.name, + type: "each", + source: "(83:4) {#each images as image}", + ctx + }); + + return block; + } + + function create_fragment$A(ctx) { + let content; + let h1; + let t1; + let carousel; + let t2; + let prev; + let icon0; + let t3; + let next; + let icon1; let t4; - let p0; - let t6; - let two; - let h12; - let t8; - let p1; - let t10; - let three; - let h13; - let t12; - let p2; - let t14; let codeview; let current; + let each_value = /*images*/ ctx[0]; + validate_each_argument(each_value); + let each_blocks = []; + + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block$b(get_each_context$b(ctx, each_value, i)); + } + + icon0 = new Icon({ + props: { name: "arrow-left", size: "48" }, + $$inline: true + }); + + icon1 = new Icon({ + props: { name: "arrow-right", size: "48" }, + $$inline: true + }); codeview = new CodeView({ props: { - source: "/code/GridOverGraphic", - notes: "/code/GridOverGraphic.notes.html" + source: "/code/Carousel", + notes: "/code/Carousel.notes.html" }, $$inline: true }); @@ -14707,99 +16109,287 @@ var app = (function () { const block = { c: function create() { content = element("content"); - h10 = element("h1"); - h10.textContent = "Grid Over Graphic"; + h1 = element("h1"); + h1.textContent = "Carousel"; t1 = space(); - icecream = element("icecream"); - background = element("background"); - img = element("img"); + carousel = element("carousel"); + + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + t2 = space(); - overlay = element("overlay"); - one = element("one"); - h11 = element("h1"); - h11.textContent = "Do You Like Icecream?"; + prev = element("prev"); + create_component(icon0.$$.fragment); + t3 = space(); + next = element("next"); + create_component(icon1.$$.fragment); t4 = space(); - p0 = element("p"); - p0.textContent = "This square is placed over this image using a\n CSS Grid."; - t6 = space(); - two = element("two"); - h12 = element("h1"); - h12.textContent = "Icecream Rules"; - t8 = space(); - p1 = element("p"); - p1.textContent = "Sometimes you want to put a graphic behind some creatively\n organize text and panels. You can do that with CSS grids."; - t10 = space(); - three = element("three"); - h13 = element("h1"); - h13.textContent = "Bottom Left"; - t12 = space(); - p2 = element("p"); - p2.textContent = "I don't know why I put that sphere there."; - t14 = space(); create_component(codeview.$$.fragment); - add_location(h10, file$y, 70, 2, 1170); - if (img.src !== (img_src_value = "/ice_cream_graphic.svg")) attr_dev(img, "src", img_src_value); - attr_dev(img, "class", "svelte-1c5ml3s"); - add_location(img, file$y, 74, 4, 1232); - attr_dev(background, "class", "svelte-1c5ml3s"); - add_location(background, file$y, 73, 4, 1215); - add_location(h11, file$y, 79, 8, 1322); - add_location(p0, file$y, 80, 8, 1361); - attr_dev(one, "class", "svelte-1c5ml3s"); - add_location(one, file$y, 78, 6, 1308); - add_location(h12, file$y, 85, 6, 1474); - add_location(p1, file$y, 86, 6, 1504); - attr_dev(two, "class", "svelte-1c5ml3s"); - add_location(two, file$y, 84, 6, 1462); - add_location(h13, file$y, 90, 6, 1666); - add_location(p2, file$y, 91, 6, 1693); - attr_dev(three, "class", "svelte-1c5ml3s"); - add_location(three, file$y, 89, 6, 1652); - attr_dev(overlay, "class", "svelte-1c5ml3s"); - add_location(overlay, file$y, 77, 4, 1292); - attr_dev(icecream, "class", "svelte-1c5ml3s"); - add_location(icecream, file$y, 72, 2, 1200); - attr_dev(content, "class", "svelte-1c5ml3s"); - add_location(content, file$y, 69, 0, 1158); + add_location(h1, file$z, 79, 2, 1350); + attr_dev(prev, "class", "svelte-12uwa5s"); + add_location(prev, file$z, 88, 4, 1600); + attr_dev(next, "class", "svelte-12uwa5s"); + add_location(next, file$z, 89, 4, 1654); + attr_dev(carousel, "class", "svelte-12uwa5s"); + add_location(carousel, file$z, 81, 2, 1371); + attr_dev(content, "class", "svelte-12uwa5s"); + add_location(content, file$z, 78, 0, 1338); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); }, m: function mount(target, anchor) { insert_dev(target, content, anchor); - append_dev(content, h10); + append_dev(content, h1); append_dev(content, t1); - append_dev(content, icecream); - append_dev(icecream, background); - append_dev(background, img); - append_dev(icecream, t2); - append_dev(icecream, overlay); - append_dev(overlay, one); - append_dev(one, h11); - append_dev(one, t4); - append_dev(one, p0); - append_dev(overlay, t6); - append_dev(overlay, two); - append_dev(two, h12); - append_dev(two, t8); - append_dev(two, p1); - append_dev(overlay, t10); - append_dev(overlay, three); - append_dev(three, h13); - append_dev(three, t12); - append_dev(three, p2); - insert_dev(target, t14, anchor); + append_dev(content, carousel); + + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].m(carousel, null); + } + + append_dev(carousel, t2); + append_dev(carousel, prev); + mount_component(icon0, prev, null); + append_dev(carousel, t3); + append_dev(carousel, next); + mount_component(icon1, next, null); + insert_dev(target, t4, anchor); mount_component(codeview, target, anchor); current = true; }, - p: noop, - i: function intro(local) { - if (current) return; - transition_in(codeview.$$.fragment, local); - current = true; - }, - o: function outro(local) { - transition_out(codeview.$$.fragment, local); + p: function update(ctx, [dirty]) { + if (dirty & /*images, holder*/ 1) { + each_value = /*images*/ ctx[0]; + validate_each_argument(each_value); + let i; + + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context$b(ctx, each_value, i); + + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + } else { + each_blocks[i] = create_each_block$b(child_ctx); + each_blocks[i].c(); + each_blocks[i].m(carousel, t2); + } + } + + for (; i < each_blocks.length; i += 1) { + each_blocks[i].d(1); + } + + each_blocks.length = each_value.length; + } + }, + i: function intro(local) { + if (current) return; + transition_in(icon0.$$.fragment, local); + transition_in(icon1.$$.fragment, local); + transition_in(codeview.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(icon0.$$.fragment, local); + transition_out(icon1.$$.fragment, local); + transition_out(codeview.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + if (detaching) detach_dev(content); + destroy_each(each_blocks, detaching); + destroy_component(icon0); + destroy_component(icon1); + if (detaching) detach_dev(t4); + destroy_component(codeview, detaching); + } + }; + + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment$A.name, + type: "component", + source: "", + ctx + }); + + return block; + } + + function instance$A($$self, $$props, $$invalidate) { + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("Carousel", slots, []); + let images = [1, 2, 3, 4, 5, 6, 7]; + const writable_props = []; + + Object.keys($$props).forEach(key => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(` was created with unknown prop '${key}'`); + }); + + $$self.$capture_state = () => ({ link, Icon, holder, CodeView, images }); + + $$self.$inject_state = $$props => { + if ("images" in $$props) $$invalidate(0, images = $$props.images); + }; + + if ($$props && "$$inject" in $$props) { + $$self.$inject_state($$props.$$inject); + } + + return [images]; + } + + class Carousel$1 extends SvelteComponentDev { + constructor(options) { + super(options); + init(this, options, instance$A, create_fragment$A, safe_not_equal, {}); + + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "Carousel", + options, + id: create_fragment$A.name + }); + } + } + + /* src/demos/GridOverGraphic.svelte generated by Svelte v3.30.0 */ + const file$A = "src/demos/GridOverGraphic.svelte"; + + function create_fragment$B(ctx) { + let content; + let h10; + let t1; + let icecream; + let background; + let img; + let img_src_value; + let t2; + let overlay; + let one; + let h11; + let t4; + let p0; + let t6; + let two; + let h12; + let t8; + let p1; + let t10; + let three; + let h13; + let t12; + let p2; + let t14; + let codeview; + let current; + + codeview = new CodeView({ + props: { + source: "/code/GridOverGraphic", + notes: "/code/GridOverGraphic.notes.html" + }, + $$inline: true + }); + + const block = { + c: function create() { + content = element("content"); + h10 = element("h1"); + h10.textContent = "Grid Over Graphic"; + t1 = space(); + icecream = element("icecream"); + background = element("background"); + img = element("img"); + t2 = space(); + overlay = element("overlay"); + one = element("one"); + h11 = element("h1"); + h11.textContent = "Do You Like Icecream?"; + t4 = space(); + p0 = element("p"); + p0.textContent = "This square is placed over this image using a\n CSS Grid."; + t6 = space(); + two = element("two"); + h12 = element("h1"); + h12.textContent = "Icecream Rules"; + t8 = space(); + p1 = element("p"); + p1.textContent = "Sometimes you want to put a graphic behind some creatively\n organize text and panels. You can do that with CSS grids."; + t10 = space(); + three = element("three"); + h13 = element("h1"); + h13.textContent = "Bottom Left"; + t12 = space(); + p2 = element("p"); + p2.textContent = "I don't know why I put that sphere there."; + t14 = space(); + create_component(codeview.$$.fragment); + add_location(h10, file$A, 70, 2, 1170); + if (img.src !== (img_src_value = "/ice_cream_graphic.svg")) attr_dev(img, "src", img_src_value); + attr_dev(img, "class", "svelte-1c5ml3s"); + add_location(img, file$A, 74, 4, 1232); + attr_dev(background, "class", "svelte-1c5ml3s"); + add_location(background, file$A, 73, 4, 1215); + add_location(h11, file$A, 79, 8, 1322); + add_location(p0, file$A, 80, 8, 1361); + attr_dev(one, "class", "svelte-1c5ml3s"); + add_location(one, file$A, 78, 6, 1308); + add_location(h12, file$A, 85, 6, 1474); + add_location(p1, file$A, 86, 6, 1504); + attr_dev(two, "class", "svelte-1c5ml3s"); + add_location(two, file$A, 84, 6, 1462); + add_location(h13, file$A, 90, 6, 1666); + add_location(p2, file$A, 91, 6, 1693); + attr_dev(three, "class", "svelte-1c5ml3s"); + add_location(three, file$A, 89, 6, 1652); + attr_dev(overlay, "class", "svelte-1c5ml3s"); + add_location(overlay, file$A, 77, 4, 1292); + attr_dev(icecream, "class", "svelte-1c5ml3s"); + add_location(icecream, file$A, 72, 2, 1200); + attr_dev(content, "class", "svelte-1c5ml3s"); + add_location(content, file$A, 69, 0, 1158); + }, + l: function claim(nodes) { + throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); + }, + m: function mount(target, anchor) { + insert_dev(target, content, anchor); + append_dev(content, h10); + append_dev(content, t1); + append_dev(content, icecream); + append_dev(icecream, background); + append_dev(background, img); + append_dev(icecream, t2); + append_dev(icecream, overlay); + append_dev(overlay, one); + append_dev(one, h11); + append_dev(one, t4); + append_dev(one, p0); + append_dev(overlay, t6); + append_dev(overlay, two); + append_dev(two, h12); + append_dev(two, t8); + append_dev(two, p1); + append_dev(overlay, t10); + append_dev(overlay, three); + append_dev(three, h13); + append_dev(three, t12); + append_dev(three, p2); + insert_dev(target, t14, anchor); + mount_component(codeview, target, anchor); + current = true; + }, + p: noop, + i: function intro(local) { + if (current) return; + transition_in(codeview.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(codeview.$$.fragment, local); current = false; }, d: function destroy(detaching) { @@ -14811,7 +16401,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$z.name, + id: create_fragment$B.name, type: "component", source: "", ctx @@ -14820,7 +16410,7 @@ var app = (function () { return block; } - function instance$z($$self, $$props, $$invalidate) { + function instance$B($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("GridOverGraphic", slots, []); const writable_props = []; @@ -14836,13 +16426,501 @@ var app = (function () { class GridOverGraphic$1 extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$z, create_fragment$z, safe_not_equal, {}); + init(this, options, instance$B, create_fragment$B, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "GridOverGraphic", options, - id: create_fragment$z.name + id: create_fragment$B.name + }); + } + } + + /* src/FAQ.svelte generated by Svelte v3.30.0 */ + + const file$B = "src/FAQ.svelte"; + + function create_fragment$C(ctx) { + let section; + let h1; + let t1; + let h20; + let t3; + let p0; + let t4; + let b0; + let t6; + let b1; + let t8; + let t9; + let p1; + let t10; + let b2; + let t12; + let b3; + let t14; + let b4; + let t16; + let b5; + let t18; + let t19; + let h21; + let t21; + let p2; + let t23; + let p3; + let t25; + let h22; + let t27; + let p4; + let t28; + let b6; + let t30; + let b7; + let t32; + let b8; + let t34; + let b9; + let t36; + let b10; + let t38; + let b11; + let t40; + let t41; + let p5; + let t42; + let b12; + let t44; + let b13; + let t46; + let b14; + let t48; + let b15; + let t50; + let b16; + let t52; + let t53; + let p6; + let t54; + let b17; + let t56; + let b18; + let t58; + let b19; + let t60; + let b20; + let t62; + let b21; + let t64; + let t65; + let h23; + let t67; + let p7; + let t68; + let b22; + let t70; + let b23; + let t72; + let b24; + let t74; + let t75; + let p8; + let t76; + let b25; + let t78; + let b26; + let t80; + let b27; + let t82; + let t83; + let h24; + let t85; + let p9; + let t87; + let h25; + let t89; + let p10; + let t90; + let a; + let t92; + + const block = { + c: function create() { + section = element("section"); + h1 = element("h1"); + h1.textContent = "FAQ"; + t1 = space(); + h20 = element("h2"); + h20.textContent = "Why did you do this?"; + t3 = space(); + p0 = element("p"); + t4 = text("It started as an attempt to relearn modern CSS for myself so I can teach others. As I did this I realized that most of the things I learned have been completely replaced with flexbox and grids, and if I just use those then CSS becomes much easier to understand. Specificity works as expected. When I change a component with "); + b0 = element("b"); + b0.textContent = "class"; + t6 = text(" or "); + b1 = element("b"); + b1.textContent = "id"; + t8 = text(" it actually changes. The layout flows correctly and is easier to create. Nearly everything works better and is easier to understand."); + t9 = space(); + p1 = element("p"); + t10 = text("This website became a demonstration to others that "); + b2 = element("b"); + b2.textContent = "layout"; + t12 = text(" doesn't need "); + b3 = element("b"); + b3.textContent = "div.class"; + t14 = text(" structure, subverting "); + b4 = element("b"); + b4.textContent = "ul/li"; + t16 = text(" tags, and other CSS hacks. You can use simple "); + b5 = element("b"); + b5.textContent = "truly semantic"; + t18 = text(" HTML and simple CSS to accomplish 90% of what you're doing today with more reliable results faster."); + t19 = space(); + h21 = element("h2"); + h21.textContent = "Why is this site in black and white?"; + t21 = space(); + p2 = element("p"); + p2.textContent = "I used an entirely monochrome simplified design because I'm not a designer, and I want people to focus on the visual structure of each demo, not whether my use of Cornflower Blue was appropriate for a button."; + t23 = space(); + p3 = element("p"); + p3.textContent = "I'm also an experienced oil painter and a fundamental teaching in realist art is that color does not matter for visual comprehension. What matters most is the \"drawing\", or monochrome aspects of visual experience. If you can't make something work in monochrome then no amount of color will help. Make it visually understandable in monochrome and any color scheme you choose should work (barring a few rules about color perception's relationship to monochrome values)."; + t25 = space(); + h22 = element("h2"); + h22.textContent = "What's wrong with classes?"; + t27 = space(); + p4 = element("p"); + t28 = text("There's nothing wrong with classes in CSS. How they're used in recent CSS frameworks subverts the normal specificity rules making CSS unnecessarily difficult. The original specificity rules put the base design of a component at the tag level, then a "); + b6 = element("b"); + b6.textContent = "class"; + t30 = text(" can be used to modify and extend the design, and an "); + b7 = element("b"); + b7.textContent = "id"; + t32 = text(" can make this even more specific. In today's use of "); + b8 = element("b"); + b8.textContent = "div.class"; + t34 = text(" heavy markup you lose this ability to alter the design as needed where its used, and instead you have to resort to "); + b9 = element("b"); + b9.textContent = "!important"; + t36 = text(" and specificity hacking to change how something looks, or add more "); + b10 = element("b"); + b10.textContent = "div"; + t38 = text(" with more "); + b11 = element("b"); + b11.textContent = "class"; + t40 = text("."); + t41 = space(); + p5 = element("p"); + t42 = text("The other problem with "); + b12 = element("b"); + b12.textContent = "div.class"; + t44 = text(" is it's more difficult to debug problems with the layout. There's the obvious problem of debugging failures in layout through a forest of divs, but you're also relying on specificity that can come from anywhere in the cascade. It's much more difficult to find exactly "); + b13 = element("b"); + b13.textContent = "what"; + t46 = text(" bit of CSS is overriding your local decisions. If you've ever had to open the inspector in your browser to troll through CSS locations looking for the culprit then that's why. If the base design decisions are at the tag level, then your local "); + b14 = element("b"); + b14.textContent = "class"; + t48 = text(" and "); + b15 = element("b"); + b15.textContent = "id"; + t50 = text(" specifics will work as expected. You can also replace many uses of class as design modifiers with scoped CSS variables and reduce the use of "); + b16 = element("b"); + b16.textContent = "div.class"; + t52 = text(" even further."); + t53 = space(); + p6 = element("p"); + t54 = text("Finally, using "); + b17 = element("b"); + b17.textContent = "div.class"; + t56 = text(" heavy layout systems pollutes your markup with structure that's difficult to analyze and maintain. When you focus on using "); + b18 = element("b"); + b18.textContent = "truly"; + t58 = text(" semantic named tags and follow specificity as intended then your HTML is lighter and easier to understand because it isn't full of "); + b19 = element("b"); + b19.textContent = "div.grid.col-1.col-mx-auto"; + t60 = text(" class rules that really have nothing to do with the actual meaning of that particular visual element. With "); + b20 = element("b"); + b20.textContent = "flexbox"; + t62 = text(" and "); + b21 = element("b"); + b21.textContent = "CSS grids"; + t64 = text(" you don't need any layout divs, and can keep the HTML clean and semantic. This also ends up being more flexible with less or the same effort as using a pre-made grid system full of divs."); + t65 = space(); + h23 = element("h2"); + h23.textContent = "Should we ban div.class?"; + t67 = space(); + p7 = element("p"); + t68 = text("Hell no. The current problem of "); + b22 = element("b"); + b22.textContent = "too much"; + t70 = text(" class based CSS is because of trends in recent years calling for everyone to irrationally ban some practice. Remember when everyone decided tables were evil? So then we banned tables and "); + b23 = element("b"); + b23.textContent = "grids"; + t72 = text(" completely? Then nobody could do a layout without crazy tricks and JavaScript? Nobody wants a repeat of the anti-tables \"semantic markup\" war, so please don't ban "); + b24 = element("b"); + b24.textContent = "div.class"; + t74 = text("."); + t75 = space(); + p8 = element("p"); + t76 = text("All this website does is demonstrate that you don't need "); + b25 = element("b"); + b25.textContent = "so much div.class"; + t78 = text(". You can scrap a lot of what you're using now to do layout and go with clean HTML with flatter structure, then judiciously use "); + b26 = element("b"); + b26.textContent = "div.class"; + t80 = text(" as needed. Treat "); + b27 = element("b"); + b27.textContent = "div.class"; + t82 = text(" like salt. Right now you're pouring a whole box of it on your HTML when a little bit makes it taste better."); + t83 = space(); + h24 = element("h2"); + h24.textContent = "Do these demos work on phones?"; + t85 = space(); + p9 = element("p"); + p9.textContent = "They could but I haven't taken the time to make them adapt. That may come in a later release. Try it anyway\nas you may be surprised how well the layouts still work on smaller screens."; + t87 = space(); + h25 = element("h2"); + h25.textContent = "Can I suggest a challenge?"; + t89 = space(); + p10 = element("p"); + t90 = text("Yes please. If you find an example of a layout that you think is impossible with flexbox and CSS grids then tell me on "); + a = element("a"); + a.textContent = "Twitter at @lzsthw"; + t92 = text(" and I'll attempt a replica. My only requirement is that you also have to tell me what trick the challenge is using. This is an exercise in replicating layouts, not reverse engineering devious hidden CSS tricks. Also keep in mind that I am not invested in \"winning\" and only curious about the limits of flexbox and CSS grids. If you find something I can't do, that means I found a useful limit to avoid. It doesn't mean that we throw out all of flexbox and CSS grids so you can go back to the float-clear-div-class 1990s."); + attr_dev(h1, "class", "svelte-c8ddwn"); + add_location(h1, file$B, 7, 2, 61); + add_location(section, file$B, 6, 0, 49); + add_location(h20, file$B, 10, 0, 86); + add_location(b0, file$B, 12, 329, 446); + add_location(b1, file$B, 12, 345, 462); + add_location(p0, file$B, 12, 0, 117); + add_location(b2, file$B, 15, 54, 667); + add_location(b3, file$B, 15, 81, 694); + add_location(b4, file$B, 15, 120, 733); + add_location(b5, file$B, 15, 180, 793); + add_location(p1, file$B, 15, 0, 613); + add_location(h21, file$B, 18, 0, 921); + add_location(p2, file$B, 19, 0, 967); + add_location(p3, file$B, 22, 0, 1187); + add_location(h22, file$B, 25, 0, 1666); + add_location(b6, file$B, 27, 254, 1957); + add_location(b7, file$B, 27, 319, 2022); + add_location(b8, file$B, 27, 382, 2085); + add_location(b9, file$B, 27, 514, 2217); + add_location(b10, file$B, 27, 599, 2302); + add_location(b11, file$B, 27, 620, 2323); + add_location(p4, file$B, 27, 0, 1703); + add_location(b12, file$B, 29, 26, 2368); + add_location(b13, file$B, 29, 312, 2654); + add_location(b14, file$B, 29, 569, 2911); + add_location(b15, file$B, 29, 586, 2928); + add_location(b16, file$B, 29, 738, 3080); + add_location(p5, file$B, 29, 0, 2342); + add_location(b17, file$B, 31, 18, 3134); + add_location(b18, file$B, 31, 159, 3275); + add_location(b19, file$B, 31, 303, 3419); + add_location(b20, file$B, 31, 445, 3561); + add_location(b21, file$B, 31, 464, 3580); + add_location(p6, file$B, 31, 0, 3116); + add_location(h23, file$B, 33, 0, 3790); + add_location(b22, file$B, 35, 36, 3861); + add_location(b23, file$B, 35, 241, 4066); + add_location(b24, file$B, 35, 419, 4244); + add_location(p7, file$B, 35, 0, 3825); + add_location(b25, file$B, 37, 60, 4327); + add_location(b26, file$B, 37, 213, 4480); + add_location(b27, file$B, 37, 248, 4515); + add_location(p8, file$B, 37, 0, 4267); + add_location(h24, file$B, 39, 0, 4645); + add_location(p9, file$B, 40, 0, 4685); + add_location(h25, file$B, 43, 0, 4879); + attr_dev(a, "href", "https://twitter.com/lzsthw"); + add_location(a, file$B, 44, 123, 5038); + add_location(p10, file$B, 44, 0, 4915); + }, + l: function claim(nodes) { + throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); + }, + m: function mount(target, anchor) { + insert_dev(target, section, anchor); + append_dev(section, h1); + insert_dev(target, t1, anchor); + insert_dev(target, h20, anchor); + insert_dev(target, t3, anchor); + insert_dev(target, p0, anchor); + append_dev(p0, t4); + append_dev(p0, b0); + append_dev(p0, t6); + append_dev(p0, b1); + append_dev(p0, t8); + insert_dev(target, t9, anchor); + insert_dev(target, p1, anchor); + append_dev(p1, t10); + append_dev(p1, b2); + append_dev(p1, t12); + append_dev(p1, b3); + append_dev(p1, t14); + append_dev(p1, b4); + append_dev(p1, t16); + append_dev(p1, b5); + append_dev(p1, t18); + insert_dev(target, t19, anchor); + insert_dev(target, h21, anchor); + insert_dev(target, t21, anchor); + insert_dev(target, p2, anchor); + insert_dev(target, t23, anchor); + insert_dev(target, p3, anchor); + insert_dev(target, t25, anchor); + insert_dev(target, h22, anchor); + insert_dev(target, t27, anchor); + insert_dev(target, p4, anchor); + append_dev(p4, t28); + append_dev(p4, b6); + append_dev(p4, t30); + append_dev(p4, b7); + append_dev(p4, t32); + append_dev(p4, b8); + append_dev(p4, t34); + append_dev(p4, b9); + append_dev(p4, t36); + append_dev(p4, b10); + append_dev(p4, t38); + append_dev(p4, b11); + append_dev(p4, t40); + insert_dev(target, t41, anchor); + insert_dev(target, p5, anchor); + append_dev(p5, t42); + append_dev(p5, b12); + append_dev(p5, t44); + append_dev(p5, b13); + append_dev(p5, t46); + append_dev(p5, b14); + append_dev(p5, t48); + append_dev(p5, b15); + append_dev(p5, t50); + append_dev(p5, b16); + append_dev(p5, t52); + insert_dev(target, t53, anchor); + insert_dev(target, p6, anchor); + append_dev(p6, t54); + append_dev(p6, b17); + append_dev(p6, t56); + append_dev(p6, b18); + append_dev(p6, t58); + append_dev(p6, b19); + append_dev(p6, t60); + append_dev(p6, b20); + append_dev(p6, t62); + append_dev(p6, b21); + append_dev(p6, t64); + insert_dev(target, t65, anchor); + insert_dev(target, h23, anchor); + insert_dev(target, t67, anchor); + insert_dev(target, p7, anchor); + append_dev(p7, t68); + append_dev(p7, b22); + append_dev(p7, t70); + append_dev(p7, b23); + append_dev(p7, t72); + append_dev(p7, b24); + append_dev(p7, t74); + insert_dev(target, t75, anchor); + insert_dev(target, p8, anchor); + append_dev(p8, t76); + append_dev(p8, b25); + append_dev(p8, t78); + append_dev(p8, b26); + append_dev(p8, t80); + append_dev(p8, b27); + append_dev(p8, t82); + insert_dev(target, t83, anchor); + insert_dev(target, h24, anchor); + insert_dev(target, t85, anchor); + insert_dev(target, p9, anchor); + insert_dev(target, t87, anchor); + insert_dev(target, h25, anchor); + insert_dev(target, t89, anchor); + insert_dev(target, p10, anchor); + append_dev(p10, t90); + append_dev(p10, a); + append_dev(p10, t92); + }, + p: noop, + i: noop, + o: noop, + d: function destroy(detaching) { + if (detaching) detach_dev(section); + if (detaching) detach_dev(t1); + if (detaching) detach_dev(h20); + if (detaching) detach_dev(t3); + if (detaching) detach_dev(p0); + if (detaching) detach_dev(t9); + if (detaching) detach_dev(p1); + if (detaching) detach_dev(t19); + if (detaching) detach_dev(h21); + if (detaching) detach_dev(t21); + if (detaching) detach_dev(p2); + if (detaching) detach_dev(t23); + if (detaching) detach_dev(p3); + if (detaching) detach_dev(t25); + if (detaching) detach_dev(h22); + if (detaching) detach_dev(t27); + if (detaching) detach_dev(p4); + if (detaching) detach_dev(t41); + if (detaching) detach_dev(p5); + if (detaching) detach_dev(t53); + if (detaching) detach_dev(p6); + if (detaching) detach_dev(t65); + if (detaching) detach_dev(h23); + if (detaching) detach_dev(t67); + if (detaching) detach_dev(p7); + if (detaching) detach_dev(t75); + if (detaching) detach_dev(p8); + if (detaching) detach_dev(t83); + if (detaching) detach_dev(h24); + if (detaching) detach_dev(t85); + if (detaching) detach_dev(p9); + if (detaching) detach_dev(t87); + if (detaching) detach_dev(h25); + if (detaching) detach_dev(t89); + if (detaching) detach_dev(p10); + } + }; + + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment$C.name, + type: "component", + source: "", + ctx + }); + + return block; + } + + function instance$C($$self, $$props) { + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("FAQ", slots, []); + const writable_props = []; + + Object.keys($$props).forEach(key => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$") console.warn(` was created with unknown prop '${key}'`); + }); + + return []; + } + + class FAQ extends SvelteComponentDev { + constructor(options) { + super(options); + init(this, options, instance$C, create_fragment$C, safe_not_equal, {}); + + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "FAQ", + options, + id: create_fragment$C.name }); } } @@ -14850,6 +16928,7 @@ var app = (function () { var routes = { "/": Home, "/demos": Demos, + "/faq": FAQ, "/demos/login": Login$1, "/demos/tiles": Tiles$1, "/demos/modal": Modal, @@ -14863,6 +16942,7 @@ var app = (function () { "/demos/navbar": NavBar$1, "/demos/tabs": Tabs$1, "/demos/calendar": Calendar$1, + "/demos/carousel": Carousel$1, "/demos/gridovergraphic": GridOverGraphic$1, "/demos/xoracademy": XorAcademy, "/demos/xoracademy/watch": XorAcademyWatch, @@ -14870,7 +16950,7 @@ var app = (function () { }; /* src/components/Darkmode.svelte generated by Svelte v3.30.0 */ - const file$z = "src/components/Darkmode.svelte"; + const file$C = "src/components/Darkmode.svelte"; // (26:0) {:else} function create_else_block$1(ctx) { @@ -14889,7 +16969,7 @@ var app = (function () { c: function create() { span = element("span"); create_component(icon.$$.fragment); - add_location(span, file$z, 26, 2, 578); + add_location(span, file$C, 26, 2, 578); }, m: function mount(target, anchor) { insert_dev(target, span, anchor); @@ -14947,7 +17027,7 @@ var app = (function () { c: function create() { span = element("span"); create_component(icon.$$.fragment); - add_location(span, file$z, 22, 2, 485); + add_location(span, file$C, 22, 2, 485); }, m: function mount(target, anchor) { insert_dev(target, span, anchor); @@ -14988,7 +17068,7 @@ var app = (function () { return block; } - function create_fragment$A(ctx) { + function create_fragment$D(ctx) { let current_block_type_index; let if_block; let if_block_anchor; @@ -15061,7 +17141,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$A.name, + id: create_fragment$D.name, type: "component", source: "", ctx @@ -15070,7 +17150,7 @@ var app = (function () { return block; } - function instance$A($$self, $$props, $$invalidate) { + function instance$D($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Darkmode", slots, []); @@ -15121,13 +17201,13 @@ var app = (function () { class Darkmode extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$A, create_fragment$A, safe_not_equal, { theme: 0 }); + init(this, options, instance$D, create_fragment$D, safe_not_equal, { theme: 0 }); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Darkmode", options, - id: create_fragment$A.name + id: create_fragment$D.name }); } @@ -15141,9 +17221,9 @@ var app = (function () { } /* src/App.svelte generated by Svelte v3.30.0 */ - const file$A = "src/App.svelte"; + const file$D = "src/App.svelte"; - function create_fragment$B(ctx) { + function create_fragment$E(ctx) { let header; let nav0; let a0; @@ -15155,27 +17235,31 @@ var app = (function () { let a1; let link_action_1; let t2; + let li1; + let a2; + let link_action_2; + let t4; let main; let router; - let t3; + let t5; let hr; - let t4; + let t6; let footer; let nav1; - let a2; + let a3; let p; - let link_action_2; - let t6; + let link_action_3; + let t8; let ul1; - let li1; - let a3; - let icon1; - let t7; let li2; let a4; - let icon2; - let t8; + let icon1; + let t9; let li3; + let a5; + let icon2; + let t10; + let li4; let darkmode; let current; let mounted; @@ -15215,55 +17299,62 @@ var app = (function () { a1 = element("a"); a1.textContent = "Demos"; t2 = space(); + li1 = element("li"); + a2 = element("a"); + a2.textContent = "FAQ"; + t4 = space(); main = element("main"); create_component(router.$$.fragment); - t3 = space(); + t5 = space(); hr = element("hr"); - t4 = space(); + t6 = space(); footer = element("footer"); nav1 = element("nav"); - a2 = element("a"); + a3 = element("a"); p = element("p"); p.textContent = "Copyright (C) Zed A. Shaw. All rights reserved."; - t6 = space(); + t8 = space(); ul1 = element("ul"); - li1 = element("li"); - a3 = element("a"); - create_component(icon1.$$.fragment); - t7 = space(); li2 = element("li"); a4 = element("a"); - create_component(icon2.$$.fragment); - t8 = space(); + create_component(icon1.$$.fragment); + t9 = space(); li3 = element("li"); + a5 = element("a"); + create_component(icon2.$$.fragment); + t10 = space(); + li4 = element("li"); create_component(darkmode.$$.fragment); attr_dev(a0, "href", "/"); - add_location(a0, file$A, 28, 4, 423); + add_location(a0, file$D, 28, 4, 423); attr_dev(a1, "href", "/demos"); - add_location(a1, file$A, 32, 10, 513); - add_location(li0, file$A, 32, 6, 509); - add_location(ul0, file$A, 31, 4, 498); - add_location(nav0, file$A, 27, 2, 413); + add_location(a1, file$D, 32, 10, 513); + add_location(li0, file$D, 32, 6, 509); + attr_dev(a2, "href", "/faq"); + add_location(a2, file$D, 33, 10, 564); + add_location(li1, file$D, 33, 6, 560); + add_location(ul0, file$D, 31, 4, 498); + add_location(nav0, file$D, 27, 2, 413); attr_dev(header, "class", "svelte-khlxmc"); - add_location(header, file$A, 26, 0, 402); + add_location(header, file$D, 26, 0, 402); attr_dev(main, "class", "svelte-khlxmc"); - add_location(main, file$A, 37, 0, 584); - add_location(hr, file$A, 41, 0, 651); - add_location(p, file$A, 45, 6, 705); - attr_dev(a2, "href", "/"); - add_location(a2, file$A, 44, 4, 677); - attr_dev(a3, "href", "https://twitter.com/lzsthw"); - add_location(a3, file$A, 48, 10, 788); - add_location(li1, file$A, 48, 6, 784); - attr_dev(a4, "href", "https://instagram.com/zedshaw"); - add_location(a4, file$A, 49, 10, 878); - add_location(li2, file$A, 49, 6, 874); - add_location(li3, file$A, 50, 6, 965); - add_location(ul1, file$A, 47, 4, 773); + add_location(main, file$D, 38, 0, 631); + add_location(hr, file$D, 42, 0, 698); + add_location(p, file$D, 46, 6, 752); + attr_dev(a3, "href", "/"); + add_location(a3, file$D, 45, 4, 724); + attr_dev(a4, "href", "https://twitter.com/lzsthw"); + add_location(a4, file$D, 49, 10, 835); + add_location(li2, file$D, 49, 6, 831); + attr_dev(a5, "href", "https://instagram.com/zedshaw"); + add_location(a5, file$D, 50, 10, 925); + add_location(li3, file$D, 50, 6, 921); + add_location(li4, file$D, 51, 6, 1012); + add_location(ul1, file$D, 48, 4, 820); attr_dev(nav1, "class", "svelte-khlxmc"); - add_location(nav1, file$A, 43, 2, 667); + add_location(nav1, file$D, 44, 2, 714); attr_dev(footer, "class", "svelte-khlxmc"); - add_location(footer, file$A, 42, 0, 656); + add_location(footer, file$D, 43, 0, 703); }, l: function claim(nodes) { throw new Error("options.hydrate only works if the component was compiled with the `hydratable: true` option"); @@ -15277,35 +17368,39 @@ var app = (function () { append_dev(nav0, ul0); append_dev(ul0, li0); append_dev(li0, a1); - insert_dev(target, t2, anchor); + append_dev(ul0, t2); + append_dev(ul0, li1); + append_dev(li1, a2); + insert_dev(target, t4, anchor); insert_dev(target, main, anchor); mount_component(router, main, null); - insert_dev(target, t3, anchor); + insert_dev(target, t5, anchor); insert_dev(target, hr, anchor); - insert_dev(target, t4, anchor); + insert_dev(target, t6, anchor); insert_dev(target, footer, anchor); append_dev(footer, nav1); - append_dev(nav1, a2); - append_dev(a2, p); - append_dev(nav1, t6); + append_dev(nav1, a3); + append_dev(a3, p); + append_dev(nav1, t8); append_dev(nav1, ul1); - append_dev(ul1, li1); - append_dev(li1, a3); - mount_component(icon1, a3, null); - append_dev(ul1, t7); append_dev(ul1, li2); append_dev(li2, a4); - mount_component(icon2, a4, null); - append_dev(ul1, t8); + mount_component(icon1, a4, null); + append_dev(ul1, t9); append_dev(ul1, li3); - mount_component(darkmode, li3, null); + append_dev(li3, a5); + mount_component(icon2, a5, null); + append_dev(ul1, t10); + append_dev(ul1, li4); + mount_component(darkmode, li4, null); current = true; if (!mounted) { dispose = [ action_destroyer(link_action = link.call(null, a0)), action_destroyer(link_action_1 = link.call(null, a1)), - action_destroyer(link_action_2 = link.call(null, a2)) + action_destroyer(link_action_2 = link.call(null, a2)), + action_destroyer(link_action_3 = link.call(null, a3)) ]; mounted = true; @@ -15332,12 +17427,12 @@ var app = (function () { d: function destroy(detaching) { if (detaching) detach_dev(header); destroy_component(icon0); - if (detaching) detach_dev(t2); + if (detaching) detach_dev(t4); if (detaching) detach_dev(main); destroy_component(router); - if (detaching) detach_dev(t3); + if (detaching) detach_dev(t5); if (detaching) detach_dev(hr); - if (detaching) detach_dev(t4); + if (detaching) detach_dev(t6); if (detaching) detach_dev(footer); destroy_component(icon1); destroy_component(icon2); @@ -15349,7 +17444,7 @@ var app = (function () { dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment$B.name, + id: create_fragment$E.name, type: "component", source: "", ctx @@ -15358,7 +17453,7 @@ var app = (function () { return block; } - function instance$B($$self, $$props, $$invalidate) { + function instance$E($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("App", slots, []); const writable_props = []; @@ -15374,13 +17469,13 @@ var app = (function () { class App extends SvelteComponentDev { constructor(options) { super(options); - init(this, options, instance$B, create_fragment$B, safe_not_equal, {}); + init(this, options, instance$E, create_fragment$E, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "App", options, - id: create_fragment$B.name + id: create_fragment$E.name }); } } diff --git a/public/build/bundle.js.map b/public/build/bundle.js.map index 609749d..a7b9f76 100644 --- a/public/build/bundle.js.map +++ b/public/build/bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"bundle.js","sources":["../../node_modules/svelte/internal/index.mjs","../../node_modules/svelte-spa-router/wrap.js","../../node_modules/svelte/store/index.mjs","../../node_modules/regexparam/dist/regexparam.mjs","../../node_modules/svelte-spa-router/Router.svelte","../../src/components/Icon.svelte","../../src/thumbs/Youtube.svelte","../../src/thumbs/Instagram.svelte","../../node_modules/@cloudfour/simple-svg-placeholder/index.js","../../lib/imgholder.js","../../src/thumbs/Tiles.svelte","../../node_modules/prismjs/prism.js","../../node_modules/prism-svelte/index.js","../../src/components/CodeView.svelte","../../src/thumbs/Cards.svelte","../../src/thumbs/Tabs.svelte","../../src/thumbs/Calendar.svelte","../../src/demos/index.svelte","../../src/demos/Google.svelte","../../src/demos/Twitter.svelte","../../src/demos/Youtube.svelte","../../src/demos/Instagram.svelte","../../src/demos/Pinterest.svelte","../../src/demos/XorAcademy.svelte","../../src/demos/XorAcademyWatch.svelte","../../src/demos/Tiles.svelte","../../src/demos/Cards.svelte","../../node_modules/svelte/transition/index.mjs","../../src/demos/Modal.svelte","../../src/demos/Tabs.svelte","../../src/demos/Calendar.svelte","../../src/routes.js","../../src/components/Darkmode.svelte","../../src/App.svelte","../../src/main.js"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot_spread(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_spread_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_spread_changes_fn(dirty) | get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n const remove = [];\n while (j < node.attributes.length) {\n const attribute = node.attributes[j++];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n for (let k = 0; k < remove.length; k++) {\n node.removeAttribute(remove[k]);\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n const z_index = (parseInt(computed_style.zIndex) || 0) - 1;\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n `overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: ${z_index};`);\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(anchor = null) {\n this.a = anchor;\n this.e = this.n = null;\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.h(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n info.blocks[i] = null;\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, options = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, options);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const prop_values = options.props || {};\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, prop_values, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.30.0' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_custom_elements_slots, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, update_slot, update_slot_spread, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","/**\n * @typedef {Object} WrappedComponent Object returned by the `wrap` method\n * @property {SvelteComponent} component - Component to load (this is always asynchronous)\n * @property {RoutePrecondition[]} [conditions] - Route pre-conditions to validate\n * @property {Object} [props] - Optional dictionary of static props\n * @property {Object} [userData] - Optional user data dictionary\n * @property {bool} _sveltesparouter - Internal flag; always set to true\n */\n\n/**\n * @callback AsyncSvelteComponent\n * @returns {Promise} Returns a Promise that resolves with a Svelte component\n */\n\n/**\n * @callback RoutePrecondition\n * @param {RouteDetail} detail - Route detail object\n * @returns {boolean|Promise} If the callback returns a false-y value, it's interpreted as the precondition failed, so it aborts loading the component (and won't process other pre-condition callbacks)\n */\n\n/**\n * @typedef {Object} WrapOptions Options object for the call to `wrap`\n * @property {SvelteComponent} [component] - Svelte component to load (this is incompatible with `asyncComponent`)\n * @property {AsyncSvelteComponent} [asyncComponent] - Function that returns a Promise that fulfills with a Svelte component (e.g. `{asyncComponent: () => import('Foo.svelte')}`)\n * @property {SvelteComponent} [loadingComponent] - Svelte component to be displayed while the async route is loading (as a placeholder); when unset or false-y, no component is shown while component\n * @property {object} [loadingParams] - Optional dictionary passed to the `loadingComponent` component as params (for an exported prop called `params`)\n * @property {object} [userData] - Optional object that will be passed to events such as `routeLoading`, `routeLoaded`, `conditionsFailed`\n * @property {object} [props] - Optional key-value dictionary of static props that will be passed to the component. The props are expanded with {...props}, so the key in the dictionary becomes the name of the prop.\n * @property {RoutePrecondition[]|RoutePrecondition} [conditions] - Route pre-conditions to add, which will be executed in order\n */\n\n/**\n * Wraps a component to enable multiple capabilities:\n * 1. Using dynamically-imported component, with (e.g. `{asyncComponent: () => import('Foo.svelte')}`), which also allows bundlers to do code-splitting.\n * 2. Adding route pre-conditions (e.g. `{conditions: [...]}`)\n * 3. Adding static props that are passed to the component\n * 4. Adding custom userData, which is passed to route events (e.g. route loaded events) or to route pre-conditions (e.g. `{userData: {foo: 'bar}}`)\n * \n * @param {WrapOptions} args - Arguments object\n * @returns {WrappedComponent} Wrapped component\n */\nexport function wrap(args) {\n if (!args) {\n throw Error('Parameter args is required')\n }\n\n // We need to have one and only one of component and asyncComponent\n // This does a \"XNOR\"\n if (!args.component == !args.asyncComponent) {\n throw Error('One and only one of component and asyncComponent is required')\n }\n\n // If the component is not async, wrap it into a function returning a Promise\n if (args.component) {\n args.asyncComponent = () => Promise.resolve(args.component)\n }\n\n // Parameter asyncComponent and each item of conditions must be functions\n if (typeof args.asyncComponent != 'function') {\n throw Error('Parameter asyncComponent must be a function')\n }\n if (args.conditions) {\n // Ensure it's an array\n if (!Array.isArray(args.conditions)) {\n args.conditions = [args.conditions]\n }\n for (let i = 0; i < args.conditions.length; i++) {\n if (!args.conditions[i] || typeof args.conditions[i] != 'function') {\n throw Error('Invalid parameter conditions[' + i + ']')\n }\n }\n }\n\n // Check if we have a placeholder component\n if (args.loadingComponent) {\n args.asyncComponent.loading = args.loadingComponent\n args.asyncComponent.loadingParams = args.loadingParams || undefined\n }\n\n // Returns an object that contains all the functions to execute too\n // The _sveltesparouter flag is to confirm the object was created by this router\n const obj = {\n component: args.asyncComponent,\n userData: args.userData,\n conditions: (args.conditions && args.conditions.length) ? args.conditions : undefined,\n props: (args.props && Object.keys(args.props).length) ? args.props : {},\n _sveltesparouter: true\n }\n\n return obj\n}\n\nexport default wrap\n","import { noop, safe_not_equal, subscribe, run_all, is_function } from '../internal/index.mjs';\nexport { get_store_value as get } from '../internal/index.mjs';\n\nconst subscriber_queue = [];\n/**\n * Creates a `Readable` store that allows reading by subscription.\n * @param value initial value\n * @param {StartStopNotifier}start start and stop notifications for subscriptions\n */\nfunction readable(value, start) {\n return {\n subscribe: writable(value, start).subscribe\n };\n}\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n * @param {*=}value initial value\n * @param {StartStopNotifier=}start start and stop notifications for subscriptions\n */\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = [];\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) { // store is ready\n const run_queue = !subscriber_queue.length;\n for (let i = 0; i < subscribers.length; i += 1) {\n const s = subscribers[i];\n s[1]();\n subscriber_queue.push(s, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.push(subscriber);\n if (subscribers.length === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n const index = subscribers.indexOf(subscriber);\n if (index !== -1) {\n subscribers.splice(index, 1);\n }\n if (subscribers.length === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\nfunction derived(stores, fn, initial_value) {\n const single = !Array.isArray(stores);\n const stores_array = single\n ? [stores]\n : stores;\n const auto = fn.length < 2;\n return readable(initial_value, (set) => {\n let inited = false;\n const values = [];\n let pending = 0;\n let cleanup = noop;\n const sync = () => {\n if (pending) {\n return;\n }\n cleanup();\n const result = fn(single ? values[0] : values, set);\n if (auto) {\n set(result);\n }\n else {\n cleanup = is_function(result) ? result : noop;\n }\n };\n const unsubscribers = stores_array.map((store, i) => subscribe(store, (value) => {\n values[i] = value;\n pending &= ~(1 << i);\n if (inited) {\n sync();\n }\n }, () => {\n pending |= (1 << i);\n }));\n inited = true;\n sync();\n return function stop() {\n run_all(unsubscribers);\n cleanup();\n };\n });\n}\n\nexport { derived, readable, writable };\n","export default function (str, loose) {\n\tif (str instanceof RegExp) return { keys:false, pattern:str };\n\tvar c, o, tmp, ext, keys=[], pattern='', arr = str.split('/');\n\tarr[0] || arr.shift();\n\n\twhile (tmp = arr.shift()) {\n\t\tc = tmp[0];\n\t\tif (c === '*') {\n\t\t\tkeys.push('wild');\n\t\t\tpattern += '/(.*)';\n\t\t} else if (c === ':') {\n\t\t\to = tmp.indexOf('?', 1);\n\t\t\text = tmp.indexOf('.', 1);\n\t\t\tkeys.push( tmp.substring(1, !!~o ? o : !!~ext ? ext : tmp.length) );\n\t\t\tpattern += !!~o && !~ext ? '(?:/([^/]+?))?' : '/([^/]+?)';\n\t\t\tif (!!~ext) pattern += (!!~o ? '?' : '') + '\\\\' + tmp.substring(ext);\n\t\t} else {\n\t\t\tpattern += '/' + tmp;\n\t\t}\n\t}\n\n\treturn {\n\t\tkeys: keys,\n\t\tpattern: new RegExp('^' + pattern + (loose ? '(?=$|\\/)' : '\\/?$'), 'i')\n\t};\n}\n","\n\n{#if componentParams}\n \n{:else}\n \n{/if}\n\n\n","\n\n\n\n\n \n \n\n\n","\n\n\n\n\n\n
\n \n
\n
\n \n
\n \n
\n #tag #anothertag\n

Title And Stuff

\n \n Stats Stats\n \n 1.1K\n 22\n SHARE\n SAVE\n \n \n \n
\n
\n
\n
\n","\n\n\n\n\n\n
\n \n
\n\n \n
\n \"Zed's\n
\n\n \n

\n zedshaw \n

\n\n

\n 280 posts 4,695 followers 1,778 following\n

\n\n

Zed A. Shaw

\n

Painter in oil, watercolor, and pastel. I’m doing live streams of little paintings on Twitch:
\n www.twitch.tv/zedashaw\n

\n
\n
\n\n \n {#each pins as pin}\n
\n \"Stock\n
\n {/each}\n
\n
\n","function simpleSvgPlaceholder({\n width = 300,\n height = 150,\n text = `${width}×${height}`,\n fontFamily = 'sans-serif',\n fontWeight = 'bold',\n fontSize = Math.floor(Math.min(width, height) * 0.2),\n dy = fontSize * 0.35,\n bgColor = '#ddd',\n textColor = 'rgba(0,0,0,0.5)',\n dataUri = true,\n charset = 'UTF-8'\n} = {}) {\n const str = `\n \n ${text}\n `;\n\n // Thanks to: filamentgroup/directory-encoder\n const cleaned = str\n .replace(/[\\t\\n\\r]/gim, '') // Strip newlines and tabs\n .replace(/\\s\\s+/g, ' ') // Condense multiple spaces\n .replace(/'/gim, '\\\\i'); // Normalize quotes\n\n if (dataUri) {\n const encoded = encodeURIComponent(cleaned)\n .replace(/\\(/g, '%28') // Encode brackets\n .replace(/\\)/g, '%29');\n\n return `data:image/svg+xml;charset=${charset},${encoded}`;\n }\n\n return cleaned;\n}\n\nmodule.exports = simpleSvgPlaceholder;\n","import simpleSvgPlaceholder from '@cloudfour/simple-svg-placeholder';\n\nconst defaults = {\n bgColor: '#ccc',\n textColor: '#888',\n}\n\nexport const holder = (x, y) => simpleSvgPlaceholder({...defaults, width: x, height: y});\n","\n\n\n\n \n \n \n \n\n \n

\n Tile Example\n

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

\n
\n\n \n \n \n \n
\n
\n\n","\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// \n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t? self // if in worker\n\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT \n * @author Lea Verou \n * @namespace\n * @public\n */\nvar Prism = (function (_self){\n\n// Private helper vars\nvar lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\nvar uniqueId = 0;\n\n\nvar _ = {\n\t/**\n\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t * additional languages or plugins yourself.\n\t *\n\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t *\n\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t * empty Prism object into the global scope before loading the Prism script like this:\n\t *\n\t * ```js\n\t * window.Prism = window.Prism || {};\n\t * Prism.manual = true;\n\t * // add a new \n\n\n\n\n \n

CSS

\n
\n      \n    {css_code}\n      \n    
\n
\n\n \n

HTML

\n
\n      \n    {html_code}\n      \n    
\n
\n
\n\n{#if notes}\n
\n

Notes

\n {@html notes_html}\n{/if}\n","\n\n\n\n \n \n \n \n\n \n

\n Card Example\n

\n

Lorem ipsum dolor sit amet, consectetur\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

\n
\n\n \n \n \n \n
\n
\n\n","\n\n\n\n\n

Basic Tabs

\n\n \n Tab1\n Tab2\n Tab3\n \n\n

Interactive Demo

\n \n {#each panels as panel, i}\n activate(i) }>{panel.title}\n {/each}\n \n \n {#each panels as panel, i}\n \n

{ panel.title }

\n

\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim\n veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea\n commodo consequat. Duis aute irure dolor in reprehenderit in voluptate\n velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat\n cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est\n laborum.\n

\n
\n {/each}\n
\n
\n\n","\n\n\n\n \n December\n SunMonTueWedThuFriSat\n {#each make_dates() as date}\n {date}\n {/each}\n \n\n\n","\n\n\n\n

Full Websites

\n\n\n\n
push('/demos/google') }>\n \n
Google
\n
\n\n
push('/demos/twitter') }>\n \n
Twitter
\n
\n\n
push('/demos/youtube') }>\n \n
Youtube
\n
\n\n
push('/demos/instagram') }>\n \n
Instagram
\n
\n\n
push('/demos/pinterest') }>\n \n
Pinterest
\n
\n
\n\n
\n

Common UI Patterns

\n\n\n\n
push('/demos/login') }>\n \n
Basic Login
\n
\n\n\n
push('/demos/tiles') }>\n \n
Tiles
\n
\n\n
push('/demos/cards') }>\n \n
Cards
\n
\n\n
push('/demos/panels') }>\n \n
Panels
\n
\n\n
push('/demos/tabs') }>\n \n
Tabs
\n
\n\n
push('/demos/gridovergraphic') }>\n \n
Grid Over Graphic
\n
\n\n
push('/demos/calendar') }>\n \n
Calendar
\n
\n\n
\n\n\n","\n\n\n\n\n\n\n
\n \n
\n\n
\n \n \n \n
\n\n \n \n \n \n \n \n \n\n
\n\n\n","\n\n\n\n\n\n\n \n \n

# Explore

\n

Settings

\n
\n\n \n
\n \n
\n\n \n
\n \n
\n\n
\n \n \n
\n
\n\n \n

Zed A. Shaw, Writer

\n

@lzsthw

\n

The author of The Hard Way Series published by Addison/Wesley including Learn Python The Hard Way and many more. Follow me here for coding tips and book news.

\n

Some Place, KY learnjsthehardway.org Joined Jan, 1999.

\n

167 Following 10.4k Followers

\n
\n\n
\n\n \n {#each tweets as tweet}\n \n
\n \"Stock\n
\n \n

Zed A. Shaw, Writer

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam:
\n\n quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\n \n 2\n 1\n 12\n \n \n
\n \n
\n {/each}\n
\n
\n\n \n \n\n
\n \n\n \n\n \n\n \n
\n
\n
\n\n\n","\n\n\n\n\n\n
\n \n
\n
\n \n
\n \n \n \n
\n #tag #anothertag\n

Title And Stuff

\n \n Stats Stats\n \n 1.1K\n 22\n SHARE\n SAVE\n \n \n \n
\n
\n
\n \n \n\n \n Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur\n \n \n
\n\n \n \n\n {#each cards as card}\n \n \n \n

Guys

\n

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque

\n \n View replies\n
\n
\n {/each}\n
\n
\n\n \n {#each cards as card}\n \n \n \n

Video Thumb Title

\n Zed\n 1.1M views\n 2 years ago\n
\n
\n {/each}\n\n
\n \n \n \n
\n\n {#each cards as card}\n \n \n \n

Video Thumb Title

\n Zed\n 1.1M views\n 2 years ago\n
\n
\n {/each}\n
\n
\n
\n\n\n","\n\n\n\n\n\n
\n \n
\n\n \n
\n \"Zed's\n
\n\n \n

\n zedshaw \n

\n\n

\n 280 posts 4,695 followers 1,778 following\n

\n\n

Zed A. Shaw

\n

Painter in oil, watercolor, and pastel. I’m doing live streams of little paintings on Twitch:
\n www.twitch.tv/zedashaw\n

\n
\n
\n\n \n {#each pins as pin}\n
\n \"Stock\n
\n {/each}\n
\n\n \n \n \n\n \n {#each posts as post}\n
\n \"Stock\n
\n {/each}\n
\n
\n\n\n","\n\n\n\n\n\n\n
\n \n
\n\n {#if !thumbnail}\n \n \n

Vincent van Gogh

\n

Collection by A Person

\n

420 Pins • 3.59k Followers

\n

\"I dream my painting and I paint my dream.\" ~ Vincent van Gogh\n \n\n

\n \"Zed's\n
\n
\n\n \n {#each lanes as lane}\n \n {#each random_sample(pin_sizes, 10) as height}\n
\n \"Van\n
Something about Van Gogh {height} high.
\n
\n {/each}\n
\n {/each}\n
\n {/if}\n
\n\n\n","\n\n\n\n\n\n\n
\n \n
\n\n \n
\n \"Module\n
\n\n \n

\n \n

\n\n

\n 10 videos 4,695 followers\n

\n\n

Drawing Level 1

\n

The first module you should take. It covers the basics of drawing and how to get started\n making drawing a habit.\n

\n
\n
\n\n \n {#each related as pin}\n
\n \"Stock\n
\n {/each}\n
\n\n \n {#each posts as post}\n
\n \n \"Placeholder\"\n \n
\n {/each}\n
\n
\n\n\n","\n\n\n\n\n\n\n
\n \n
\n
\n
\n \n
\n #tag #anothertag\n

Title And Stuff

\n \n Likes Other Stats\n \n 1.1K\n 22\n SHARE\n SAVE\n \n \n \n
\n
\n \n \n \n\n \n Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur\n \n \n
\n\n \n \n\n {#each cards as card}\n \n \n \n

Guys

\n

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque

\n \n View replies\n
\n
\n {/each}\n
\n
\n
\n
\n\n\n","\n\n\n\n \n \n \n \n\n \n

\n Tile Example\n

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

\n
\n\n \n \n \n \n
\n
\n\n\n","\n\n\n\n \n \n \n \n\n \n

\n Card Example\n

\n

Lorem ipsum dolor sit amet, consectetur\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

\n
\n\n \n \n \n \n
\n
\n\n\n","import { cubicInOut, linear, cubicOut } from '../easing/index.mjs';\nimport { is_function, assign } from '../internal/index.mjs';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nfunction blur(node, { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const f = style.filter === 'none' ? '' : style.filter;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `opacity: ${target_opacity - (od * u)}; filter: ${f} blur(${u * amount}px);`\n };\n}\nfunction fade(node, { delay = 0, duration = 400, easing = linear }) {\n const o = +getComputedStyle(node).opacity;\n return {\n delay,\n duration,\n easing,\n css: t => `opacity: ${t * o}`\n };\n}\nfunction fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px);\n\t\t\topacity: ${target_opacity - (od * u)}`\n };\n}\nfunction slide(node, { delay = 0, duration = 400, easing = cubicOut }) {\n const style = getComputedStyle(node);\n const opacity = +style.opacity;\n const height = parseFloat(style.height);\n const padding_top = parseFloat(style.paddingTop);\n const padding_bottom = parseFloat(style.paddingBottom);\n const margin_top = parseFloat(style.marginTop);\n const margin_bottom = parseFloat(style.marginBottom);\n const border_top_width = parseFloat(style.borderTopWidth);\n const border_bottom_width = parseFloat(style.borderBottomWidth);\n return {\n delay,\n duration,\n easing,\n css: t => 'overflow: hidden;' +\n `opacity: ${Math.min(t * 20, 1) * opacity};` +\n `height: ${t * height}px;` +\n `padding-top: ${t * padding_top}px;` +\n `padding-bottom: ${t * padding_bottom}px;` +\n `margin-top: ${t * margin_top}px;` +\n `margin-bottom: ${t * margin_bottom}px;` +\n `border-top-width: ${t * border_top_width}px;` +\n `border-bottom-width: ${t * border_bottom_width}px;`\n };\n}\nfunction scale(node, { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const sd = 1 - start;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - (sd * u)});\n\t\t\topacity: ${target_opacity - (od * u)}\n\t\t`\n };\n}\nfunction draw(node, { delay = 0, speed, duration, easing = cubicInOut }) {\n const len = node.getTotalLength();\n if (duration === undefined) {\n if (speed === undefined) {\n duration = 800;\n }\n else {\n duration = len / speed;\n }\n }\n else if (typeof duration === 'function') {\n duration = duration(len);\n }\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `stroke-dasharray: ${t * len} ${u * len}`\n };\n}\nfunction crossfade(_a) {\n var { fallback } = _a, defaults = __rest(_a, [\"fallback\"]);\n const to_receive = new Map();\n const to_send = new Map();\n function crossfade(from, node, params) {\n const { delay = 0, duration = d => Math.sqrt(d) * 30, easing = cubicOut } = assign(assign({}, defaults), params);\n const to = node.getBoundingClientRect();\n const dx = from.left - to.left;\n const dy = from.top - to.top;\n const dw = from.width / to.width;\n const dh = from.height / to.height;\n const d = Math.sqrt(dx * dx + dy * dy);\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n const opacity = +style.opacity;\n return {\n delay,\n duration: is_function(duration) ? duration(d) : duration,\n easing,\n css: (t, u) => `\n\t\t\t\topacity: ${t * opacity};\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh});\n\t\t\t`\n };\n }\n function transition(items, counterparts, intro) {\n return (node, params) => {\n items.set(params.key, {\n rect: node.getBoundingClientRect()\n });\n return () => {\n if (counterparts.has(params.key)) {\n const { rect } = counterparts.get(params.key);\n counterparts.delete(params.key);\n return crossfade(rect, node, params);\n }\n // if the node is disappearing altogether\n // (i.e. wasn't claimed by the other list)\n // then we need to supply an outro\n items.delete(params.key);\n return fallback && fallback(node, params, intro);\n };\n };\n }\n return [\n transition(to_send, to_receive, false),\n transition(to_receive, to_send, true)\n ];\n}\n\nexport { blur, crossfade, draw, fade, fly, scale, slide };\n","\n\n\n\n\n \n\n\n{#if visible}\n visible = false }>\n \n

This Is A Modal

\n

Designers love modals. Click anywhere to close this.

\n
\n
\n{/if}\n\n\n\n","\n\n\n\n\n

Basic Tabs

\n\n \n Tab1\n Tab2\n Tab3\n \n\n

Interactive Demo

\n \n {#each panels as panel, i}\n activate(i) }>{panel.title}\n {/each}\n \n \n {#each panels as panel, i}\n \n

{ panel.title }

\n

\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim\n veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea\n commodo consequat. Duis aute irure dolor in reprehenderit in voluptate\n velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat\n cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est\n laborum.\n

\n
\n {/each}\n
\n
\n\n\n","\n\n\n\n \n December\n SunMonTueWedThuFriSat\n {#each make_dates() as date}\n {date}\n {/each}\n \n\n\n\n","import Home from \"./Home.svelte\";\nimport Demos from \"./demos/index.svelte\";\nimport NotFound from \"./NotFound.svelte\";\nimport Google from \"./demos/Google.svelte\";\nimport Twitter from \"./demos/Twitter.svelte\";\nimport Youtube from \"./demos/Youtube.svelte\";\nimport Instagram from \"./demos/Instagram.svelte\";\nimport Pinterest from \"./demos/Pinterest.svelte\";\nimport XorAcademy from \"./demos/XorAcademy.svelte\";\nimport XorAcademyWatch from \"./demos/XorAcademyWatch.svelte\";\nimport Login from \"./demos/Login.svelte\";\nimport Tiles from \"./demos/Tiles.svelte\";\nimport Cards from \"./demos/Cards.svelte\";\nimport Panels from \"./demos/Panels.svelte\";\nimport Modal from \"./demos/Modal.svelte\";\nimport NavBar from \"./demos/NavBar.svelte\";\nimport Tabs from \"./demos/Tabs.svelte\";\nimport Calendar from \"./demos/Calendar.svelte\";\nimport GridOverGraphic from \"./demos/GridOverGraphic.svelte\";\n\nexport default {\n \"/\": Home,\n \"/demos\": Demos,\n \"/demos/login\": Login,\n \"/demos/tiles\": Tiles,\n \"/demos/modal\": Modal,\n \"/demos/cards\": Cards,\n \"/demos/panels\": Panels,\n \"/demos/google\": Google,\n \"/demos/twitter\": Twitter,\n \"/demos/youtube\": Youtube,\n \"/demos/instagram\": Instagram,\n \"/demos/pinterest\": Pinterest,\n \"/demos/navbar\": NavBar,\n \"/demos/tabs\": Tabs,\n \"/demos/calendar\": Calendar,\n \"/demos/gridovergraphic\": GridOverGraphic,\n \"/demos/xoracademy\": XorAcademy,\n \"/demos/xoracademy/watch\": XorAcademyWatch,\n \"*\": NotFound,\n}\n","\n\n{#if theme == 'dark'}\n toggle() }>\n \n \n{:else}\n toggle() }>\n \n \n{/if}\n\n","\n\n\n\n
\n \n
\n\n
\n \n
\n\n
\n\n","import App from './App.svelte';\n\nconst app = new App({\n\ttarget: document.body,\n\tprops: {\n\t\tname: 'world'\n\t}\n});\n\nexport default app;"],"names":["wrap","_wrap","simpleSvgPlaceholder","global","Prism","linear","Login","Tiles","Cards","Panels","Google","Twitter","Youtube","Instagram","Pinterest","NavBar","Tabs","Calendar","GridOverGraphic"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SCPjC,KAAK,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BCwGb,GAAI;;;;oCAAT,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAvGF,IAAI,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICJrB,SAAS,oBAAoB,CAAC;IAC9B,EAAE,KAAK,GAAG,GAAG;IACb,EAAE,MAAM,GAAG,GAAG;IACd,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7B,EAAE,UAAU,GAAG,YAAY;IAC3B,EAAE,UAAU,GAAG,MAAM;IACrB,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;IACtD,EAAE,EAAE,GAAG,QAAQ,GAAG,IAAI;IACtB,EAAE,OAAO,GAAG,MAAM;IAClB,EAAE,SAAS,GAAG,iBAAiB;IAC/B,EAAE,OAAO,GAAG,IAAI;IAChB,EAAE,OAAO,GAAG,OAAO;IACnB,CAAC,GAAG,EAAE,EAAE;IACR,EAAE,MAAM,GAAG,GAAG,CAAC,+CAA+C,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;AAC1H,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;AAC9D,gBAAgB,EAAE,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,uCAAuC,EAAE,IAAI,CAAC;AACrK,QAAQ,CAAC,CAAC;AACV;IACA;IACA,EAAE,MAAM,OAAO,GAAG,GAAG;IACrB,KAAK,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;IAC/B,KAAK,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;IAC3B,KAAK,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC5B;IACA,EAAE,IAAI,OAAO,EAAE;IACf,IAAI,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC;IAC/C,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IAC5B,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7B;IACA,IAAI,OAAO,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,GAAG;AACH;IACA,EAAE,OAAO,OAAO,CAAC;IACjB,CAAC;AACD;IACA,0BAAc,GAAG,oBAAoB;;ICjCrC,MAAM,QAAQ,GAAG;IACjB,EAAE,OAAO,EAAE,MAAM;IACjB,EAAE,SAAS,EAAE,MAAM;IACnB,EAAC;AACD;IACO,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,KAAKC,sBAAoB,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCCuCvE,MAAM,CAAC,EAAE,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC7C9B;IACA;IACA;AACA;IACA;AACA;IACA,IAAI,KAAK,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW;IAC1C,GAAG,MAAM;IACT;IACA,EAAE,CAAC,OAAO,iBAAiB,KAAK,WAAW,IAAI,IAAI,YAAY,iBAAiB;IAChF,IAAI,IAAI;IACR,IAAI,EAAE;IACN,EAAE,CAAC;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAI,KAAK,GAAG,CAAC,UAAU,KAAK,CAAC;AAC7B;IACA;IACA,IAAI,IAAI,GAAG,6BAA6B,CAAC;IACzC,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB;AACA;IACA,IAAI,CAAC,GAAG;IACR;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM;IAC1C,CAAC,2BAA2B,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,2BAA2B;AACpF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,EAAE;IACP,EAAE,MAAM,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE;IAClC,GAAG,IAAI,MAAM,YAAY,KAAK,EAAE;IAChC,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACxE,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;IACrC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,MAAM;IACV,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACvF,IAAI;IACJ,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE;IACrB,GAAG,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE;IACxB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;IACrB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,IAAI;IACJ,GAAG,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,KAAK,EAAE,SAAS,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE;IACxC,GAAG,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC3B;IACA,GAAG,IAAI,KAAK,EAAE,EAAE,CAAC;IACjB,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzB,IAAI,KAAK,QAAQ;IACjB,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE;IACtB,MAAM,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;IACzB,MAAM;IACN,KAAK,KAAK,uCAAuC,EAAE,CAAC,CAAC;IACrD,KAAK,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;AACzB;IACA,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC,EAAE;IACxB,MAAM,IAAI,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;IACjC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO;IACP,MAAM;AACN;IACA,KAAK,2BAA2B,KAAK,EAAE;AACvC;IACA,IAAI,KAAK,OAAO;IAChB,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE;IACtB,MAAM,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;IACzB,MAAM;IACN,KAAK,KAAK,GAAG,EAAE,CAAC;IAChB,KAAK,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;AACzB;IACA,KAAK,yCAAyC,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;IAC3E,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,CAAC,CAAC;AACR;IACA,KAAK,2BAA2B,KAAK,EAAE;AACvC;IACA,IAAI;IACJ,KAAK,OAAO,CAAC,CAAC;IACd,IAAI;IACJ,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,WAAW,EAAE,UAAU,OAAO,EAAE;IAClC,GAAG,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;IACpD,IAAI,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACpC,IAAI;IACJ,GAAG,IAAI,OAAO,EAAE;IAChB,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1E,IAAI;IACJ,GAAG,OAAO,MAAM,CAAC;IACjB,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,aAAa,EAAE,YAAY;IAC7B,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;IACxC,IAAI,OAAO,IAAI,CAAC;IAChB,IAAI;IACJ,GAAG,IAAI,eAAe,IAAI,QAAQ,IAAI,CAAC,GAAG,CAAC,uCAAuC;IAClF,IAAI,2BAA2B,QAAQ,CAAC,aAAa,EAAE;IACvD,IAAI;AACJ;IACA;IACA;IACA;AACA;IACA,GAAG,IAAI;IACP,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;IACtB,IAAI,CAAC,OAAO,GAAG,EAAE;IACjB;IACA;IACA;IACA;IACA;IACA;AACA;IACA,IAAI,IAAI,GAAG,GAAG,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACxE,IAAI,IAAI,GAAG,EAAE;IACb,KAAK,IAAI,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC3D,KAAK,KAAK,IAAI,CAAC,IAAI,OAAO,EAAE;IAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE;IACjC,OAAO,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,OAAO;IACP,MAAM;IACN,KAAK;IACL,IAAI,OAAO,IAAI,CAAC;IAChB,IAAI;IACJ,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,QAAQ,EAAE,UAAU,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE;IAC7D,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC;AAC9B;IACA,GAAG,OAAO,OAAO,EAAE;IACnB,IAAI,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACtC,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;IACvC,KAAK,OAAO,IAAI,CAAC;IACjB,KAAK;IACL,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;IAChC,KAAK,OAAO,KAAK,CAAC;IAClB,KAAK;IACL,IAAI,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACpC,IAAI;IACJ,GAAG,OAAO,CAAC,CAAC,iBAAiB,CAAC;IAC9B,GAAG;IACH,EAAE;AACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,SAAS,EAAE;IACZ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE;IAC/B,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C;IACA,GAAG,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;IAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI;AACJ;IACA,GAAG,OAAO,IAAI,CAAC;IACf,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,YAAY,EAAE,UAAU,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;IACxD,GAAG,IAAI,GAAG,IAAI,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC;IACnD,GAAG,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B;IACA,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;AAChB;IACA,GAAG,KAAK,IAAI,KAAK,IAAI,OAAO,EAAE;IAC9B,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;AACvC;IACA,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;IAC1B,MAAM,KAAK,IAAI,QAAQ,IAAI,MAAM,EAAE;IACnC,OAAO,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;IAC5C,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,QAAQ;IACR,OAAO;IACP,MAAM;AACN;IACA;IACA,KAAK,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;IACxC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM;IACN,KAAK;IACL,IAAI;AACJ;IACA,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;AACtB;IACA;IACA,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,EAAE,KAAK,EAAE;IACrD,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,IAAI,MAAM,EAAE;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACrB,KAAK;IACL,IAAI,CAAC,CAAC;AACN;IACA,GAAG,OAAO,GAAG,CAAC;IACd,GAAG;AACH;IACA;IACA,EAAE,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;IAChD,GAAG,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC3B;IACA,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B;IACA,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;IACpB,IAAI,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;IAC7B,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC1C;IACA,KAAK,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,SAAS,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9C;IACA,KAAK,IAAI,YAAY,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;IACjE,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM;IACN,UAAU,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;IACrE,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM;IACN,KAAK;IACL,IAAI;IACJ,GAAG;IACH,EAAE;AACF;IACA,CAAC,OAAO,EAAE,EAAE;AACZ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,YAAY,EAAE,SAAS,KAAK,EAAE,QAAQ,EAAE;IACzC,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACjD,EAAE;AACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,iBAAiB,EAAE,SAAS,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;IACzD,EAAE,IAAI,GAAG,GAAG;IACZ,GAAG,QAAQ,EAAE,QAAQ;IACrB,GAAG,SAAS,EAAE,SAAS;IACvB,GAAG,QAAQ,EAAE,kGAAkG;IAC/G,GAAG,CAAC;AACJ;IACA,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;AAC1C;IACA,EAAE,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3F;IACA,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;AACpD;IACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG;IACzD,GAAG,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,KAAK,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7D,GAAG;IACH,EAAE;AACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,gBAAgB,EAAE,SAAS,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;IACtD;IACA,EAAE,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7C,EAAE,IAAI,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtC;IACA;IACA,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC;AACzG;IACA;IACA,EAAE,IAAI,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IACrC,EAAE,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;IACzD,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC;IACxG,GAAG;AACH;IACA,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;AACjC;IACA,EAAE,IAAI,GAAG,GAAG;IACZ,GAAG,OAAO,EAAE,OAAO;IACnB,GAAG,QAAQ,EAAE,QAAQ;IACrB,GAAG,OAAO,EAAE,OAAO;IACnB,GAAG,IAAI,EAAE,IAAI;IACb,GAAG,CAAC;AACJ;IACA,EAAE,SAAS,qBAAqB,CAAC,eAAe,EAAE;IAClD,GAAG,GAAG,CAAC,eAAe,GAAG,eAAe,CAAC;AACzC;IACA,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AACrC;IACA,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC;AAC/C;IACA,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACvC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAChC,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,GAAG;AACH;IACA,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;AAC1C;IACA,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;IACjB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAChC,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,GAAG,OAAO;IACV,GAAG;AACH;IACA,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AACvC;IACA,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;IACpB,GAAG,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,GAAG,OAAO;IACV,GAAG;AACH;IACA,EAAE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;IAC7B,GAAG,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACvC;IACA,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,GAAG,EAAE;IACpC,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC;AACL;IACA,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;IACrC,IAAI,QAAQ,EAAE,GAAG,CAAC,QAAQ;IAC1B,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI;IAClB,IAAI,cAAc,EAAE,IAAI;IACxB,IAAI,CAAC,CAAC,CAAC;IACP,GAAG;IACH,OAAO;IACP,GAAG,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,GAAG;IACH,EAAE;AACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC/C,EAAE,IAAI,GAAG,GAAG;IACZ,GAAG,IAAI,EAAE,IAAI;IACb,GAAG,OAAO,EAAE,OAAO;IACnB,GAAG,QAAQ,EAAE,QAAQ;IACrB,GAAG,CAAC;IACJ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACtC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACrC,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClE,EAAE;AACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,OAAO,EAAE;IACnC,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,EAAE,IAAI,IAAI,EAAE;IACZ,GAAG,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;IAC3B,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI;AACJ;IACA,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;IACvB,GAAG;AACH;IACA,EAAE,IAAI,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;IACnC,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5C;IACA,EAAE,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D;IACA,EAAE,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,EAAE;AACF;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,KAAK,EAAE;IACR,EAAE,GAAG,EAAE,EAAE;AACT;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,GAAG,EAAE,UAAU,IAAI,EAAE,QAAQ,EAAE;IACjC,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3B;IACA,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACnC;IACA,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,GAAG,EAAE,UAAU,IAAI,EAAE,GAAG,EAAE;IAC5B,GAAG,IAAI,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrC;IACA,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;IACxC,IAAI,OAAO;IACX,IAAI;AACJ;IACA,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG;IACvD,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI;IACJ,GAAG;IACH,EAAE;AACF;IACA,CAAC,KAAK,EAAE,KAAK;IACb,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AAChB;AACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,SAAS,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;IACjD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB;IACA,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC;IAC7C,CAAC;AACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,KAAK,CAAC,SAAS,GAAG,SAAS,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE;IAClD,CAAC,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;IAC3B,EAAE,OAAO,CAAC,CAAC;IACX,EAAE;IACF,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;IACvB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;IACzB,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/B,GAAG,CAAC,CAAC;IACL,EAAE,OAAO,CAAC,CAAC;IACX,EAAE;AACF;IACA,CAAC,IAAI,GAAG,GAAG;IACX,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;IACd,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC;IACzC,EAAE,GAAG,EAAE,MAAM;IACb,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5B,EAAE,UAAU,EAAE,EAAE;IAChB,EAAE,QAAQ,EAAE,QAAQ;IACpB,EAAE,CAAC;AACH;IACA,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;IACvB,CAAC,IAAI,OAAO,EAAE;IACd,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;IAC9B,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,GAAG,MAAM;IACT,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,GAAG;IACH,EAAE;AACF;IACA,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1B;IACA,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;IACrB,CAAC,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE;IAClC,EAAE,UAAU,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC;IAC/F,EAAE;AACF;IACA,CAAC,OAAO,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACzH,CAAC,CAAC;AACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,SAAS,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9E,CAAC,KAAK,IAAI,KAAK,IAAI,OAAO,EAAE;IAC5B,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;IACzD,GAAG,SAAS;IACZ,GAAG;AACH;IACA,EAAE,IAAI,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,EAAE,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7D;IACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;IAC5C,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,EAAE;IACpD,IAAI,OAAO;IACX,IAAI;AACJ;IACA,GAAG,IAAI,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC/B,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM;IAC9B,IAAI,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU;IACxC,IAAI,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM;IAChC,IAAI,gBAAgB,GAAG,CAAC;IACxB,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;AAC7B;IACA,GAAG,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE;IAC7C;IACA,IAAI,IAAI,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;IACxE,IAAI;AACJ;IACA;IACA,GAAG,IAAI,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC;AAClD;IACA,GAAG;IACH,IAAI,IAAI,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,QAAQ;IACpD,IAAI,WAAW,KAAK,SAAS,CAAC,IAAI;IAClC,IAAI,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC,IAAI;IACnE,KAAK;AACL;IACA,IAAI,IAAI,OAAO,IAAI,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE;IACzC,KAAK,MAAM;IACX,KAAK;AACL;IACA,IAAI,IAAI,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC;AAChC;IACA,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;IACxC;IACA,KAAK,OAAO;IACZ,KAAK;AACL;IACA,IAAI,IAAI,GAAG,YAAY,KAAK,EAAE;IAC9B,KAAK,SAAS;IACd,KAAK;AACL;IACA,IAAI,IAAI,WAAW,GAAG,CAAC,CAAC;AACxB;IACA,IAAI,IAAI,MAAM,IAAI,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;IACtD,KAAK,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,KAAK,EAAE;IACjB,MAAM,MAAM;IACZ,MAAM;AACN;IACA,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,IAAI,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7E,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC;AACjB;IACA;IACA,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;IACnC,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE;IACvB,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;IACrC,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;IACpC,MAAM;IACN;IACA,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;IACnC,KAAK,GAAG,GAAG,CAAC,CAAC;AACb;IACA;IACA,KAAK,IAAI,WAAW,CAAC,KAAK,YAAY,KAAK,EAAE;IAC7C,MAAM,SAAS;IACf,MAAM;AACN;IACA;IACA,KAAK;IACL,MAAM,IAAI,CAAC,GAAG,WAAW;IACzB,MAAM,CAAC,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC;IACrE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI;IAChB,OAAO;IACP,MAAM,WAAW,EAAE,CAAC;IACpB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1B,MAAM;IACN,KAAK,WAAW,EAAE,CAAC;AACnB;IACA;IACA,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9B,KAAK,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC;IACxB,KAAK,MAAM;IACX,KAAK,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;AAC3B;IACA,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,KAAK;AACL;IACA,IAAI,IAAI,CAAC,KAAK,EAAE;IAChB,KAAK,SAAS;IACd,KAAK;AACL;IACA,IAAI,IAAI,UAAU,EAAE;IACpB,KAAK,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,KAAK;AACL;IACA,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,gBAAgB;IAC7C,KAAK,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAChD,KAAK,EAAE,GAAG,IAAI,GAAG,QAAQ,CAAC,MAAM;IAChC,KAAK,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;IAChC,KAAK,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC3B;IACA,IAAI,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;IACjC,IAAI,IAAI,OAAO,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE;IAC1C,KAAK,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,KAAK;AACL;IACA,IAAI,IAAI,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;AACtC;IACA,IAAI,IAAI,MAAM,EAAE;IAChB,KAAK,UAAU,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1D,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC;IAC1B,KAAK;AACL;IACA,IAAI,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AACpD;IACA,IAAI,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtG,IAAI,WAAW,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAC3D;IACA,IAAI,IAAI,KAAK,EAAE;IACf,KAAK,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,KAAK;AACL;IACA,IAAI,IAAI,WAAW,GAAG,CAAC,EAAE;IACzB;IACA;IACA,KAAK,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE;IACnE,MAAM,KAAK,EAAE,KAAK,GAAG,GAAG,GAAG,CAAC;IAC5B,MAAM,KAAK,EAAE,KAAK;IAClB,MAAM,CAAC,CAAC;IACR,KAAK;IACL,IAAI;IACJ,GAAG;IACH,EAAE;IACF,CAAC;AACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA,SAAS,UAAU,GAAG;IACtB;IACA,CAAC,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpD;IACA,CAAC,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpD,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAClB;IACA;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACjB,CAAC;AACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,SAAS,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;IACrC;IACA,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACtB;IACA,CAAC,IAAI,OAAO,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACrB,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACrB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AACf;IACA,CAAC,OAAO,OAAO,CAAC;IAChB,CAAC;IACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA,SAAS,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;IACxC,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACtB,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;IACvD,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnB,EAAE;IACF,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAClB,CAAC;IACD;IACA;IACA;IACA;IACA;IACA,SAAS,OAAO,CAAC,IAAI,EAAE;IACvB,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;IAChB,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3B,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;IAC5B,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnB,EAAE;IACF,CAAC,OAAO,KAAK,CAAC;IACd,CAAC;AACD;AACA;IACA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;IACrB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAC9B;IACA,EAAE,OAAO,CAAC,CAAC;IACX,EAAE;AACF;IACA,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B,EAAE;IACrC;IACA,EAAE,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,GAAG,EAAE;IACnD,GAAG,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IACrC,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ;IAC3B,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI;IACvB,IAAI,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;AAC5C;IACA,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,GAAG,IAAI,cAAc,EAAE;IACvB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;IAClB,IAAI;IACJ,GAAG,EAAE,KAAK,CAAC,CAAC;IACZ,EAAE;AACF;IACA,CAAC,OAAO,CAAC,CAAC;IACV,CAAC;AACD;IACA;IACA,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AACpC;IACA,IAAI,MAAM,EAAE;IACZ,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;AACzB;IACA,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;IACzC,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;IAClB,EAAE;IACF,CAAC;AACD;IACA,SAAS,8BAA8B,GAAG;IAC1C,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;IAChB,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;IACnB,EAAE;IACF,CAAC;AACD;IACA,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;IACf;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACtC,CAAC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,aAAa,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE;IACzF,EAAE,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,CAAC;IAChF,EAAE,MAAM;IACR,EAAE,IAAI,MAAM,CAAC,qBAAqB,EAAE;IACpC,GAAG,MAAM,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC;IAChE,GAAG,MAAM;IACT,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;IACzD,GAAG;IACH,EAAE;IACF,CAAC;AACD;IACA,OAAO,CAAC,CAAC;AACT;IACA,CAAC,EAAE,KAAK,CAAC,CAAC;AACV;IACA,KAAqC,MAAM,CAAC,OAAO,EAAE;IACrD,CAAC,cAAc,GAAG,KAAK,CAAC;IACxB,CAAC;AACD;IACA;IACA,IAAI,OAAOC,cAAM,KAAK,WAAW,EAAE;IACnC,CAACA,cAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,CAAC;AACD;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;AACA;IACA;IACA;IACA;AACA;IACA,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG;IACzB,CAAC,SAAS,EAAE,iBAAiB;IAC7B,CAAC,QAAQ,EAAE,gBAAgB;IAC3B,CAAC,SAAS,EAAE;IACZ;IACA,EAAE,OAAO,EAAE,sHAAsH;IACjI,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,MAAM,EAAE;IACV,GAAG,iBAAiB,EAAE;IACtB,IAAI,OAAO,EAAE,qBAAqB;IAClC,IAAI,UAAU,EAAE,IAAI;IACpB,IAAI,MAAM,EAAE,IAAI;IAChB,IAAI,MAAM,EAAE,IAAI;IAChB,IAAI;IACJ,GAAG,QAAQ,EAAE;IACb,IAAI,OAAO,EAAE,iBAAiB;IAC9B,IAAI,MAAM,EAAE,IAAI;IAChB,IAAI;IACJ,GAAG,aAAa,EAAE,cAAc;IAChC,GAAG,aAAa,EAAE,UAAU;IAC5B,GAAG,MAAM,EAAE,YAAY;IACvB,GAAG;IACH,EAAE;IACF,CAAC,OAAO,EAAE,yBAAyB;IACnC,CAAC,KAAK,EAAE;IACR,EAAE,OAAO,EAAE,sHAAsH;IACjI,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,MAAM,EAAE;IACV,GAAG,KAAK,EAAE;IACV,IAAI,OAAO,EAAE,gBAAgB;IAC7B,IAAI,MAAM,EAAE;IACZ,KAAK,aAAa,EAAE,OAAO;IAC3B,KAAK,WAAW,EAAE,cAAc;IAChC,KAAK;IACL,IAAI;IACJ,GAAG,YAAY,EAAE;IACjB,IAAI,OAAO,EAAE,oCAAoC;IACjD,IAAI,MAAM,EAAE;IACZ,KAAK,aAAa,EAAE;IACpB,MAAM;IACN,OAAO,OAAO,EAAE,IAAI;IACpB,OAAO,KAAK,EAAE,aAAa;IAC3B,OAAO;IACP,MAAM,KAAK;IACX,MAAM;IACN,KAAK;IACL,IAAI;IACJ,GAAG,aAAa,EAAE,MAAM;IACxB,GAAG,WAAW,EAAE;IAChB,IAAI,OAAO,EAAE,WAAW;IACxB,IAAI,MAAM,EAAE;IACZ,KAAK,WAAW,EAAE,cAAc;IAChC,KAAK;IACL,IAAI;AACJ;IACA,GAAG;IACH,EAAE;IACF,CAAC,QAAQ,EAAE;IACX,EAAE;IACF,GAAG,OAAO,EAAE,iBAAiB;IAC7B,GAAG,KAAK,EAAE,cAAc;IACxB,GAAG;IACH,EAAE,oBAAoB;IACtB,EAAE;IACF,CAAC,CAAC;AACF;IACA,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;AAC5F;IACA;IACA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,EAAE;AACvC;IACA,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;IAC5B,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9D,EAAE;IACF,CAAC,CAAC,CAAC;AACH;IACA,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE;IAChE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,KAAK,EAAE,SAAS,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,EAAE,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAC/B,EAAE,mBAAmB,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG;IAC5C,GAAG,OAAO,EAAE,mCAAmC;IAC/C,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IAChC,GAAG,CAAC;IACJ,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAC;AACxD;IACA,EAAE,IAAI,MAAM,GAAG;IACf,GAAG,gBAAgB,EAAE;IACrB,IAAI,OAAO,EAAE,2BAA2B;IACxC,IAAI,MAAM,EAAE,mBAAmB;IAC/B,IAAI;IACJ,GAAG,CAAC;IACJ,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG;IAC/B,GAAG,OAAO,EAAE,SAAS;IACrB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IAChC,GAAG,CAAC;AACJ;IACA,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;IACf,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG;IACjB,GAAG,OAAO,EAAE,MAAM,CAAC,0FAA0F,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IAC1K,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,IAAI;IACf,GAAG,MAAM,EAAE,MAAM;IACjB,GAAG,CAAC;AACJ;IACA,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACvD,EAAE;IACF,CAAC,CAAC,CAAC;AACH;IACA,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;IAC9C,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;IAChD,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;AAC7C;IACA,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;IAC3C,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;IAC3C,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;AAC1C;AACA;IACA;IACA;IACA;AACA;IACA,CAAC,UAAU,KAAK,EAAE;AAClB;IACA,CAAC,IAAI,MAAM,GAAG,+CAA+C,CAAC;AAC9D;IACA,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG;IACvB,EAAE,SAAS,EAAE,kBAAkB;IAC/B,EAAE,QAAQ,EAAE;IACZ,GAAG,OAAO,EAAE,gCAAgC;IAC5C,GAAG,MAAM,EAAE;IACX,IAAI,MAAM,EAAE,UAAU;IACtB,IAAI,4BAA4B,EAAE;IAClC,KAAK,OAAO,EAAE,6EAA6E;IAC3F,KAAK,UAAU,EAAE,IAAI;IACrB,KAAK,KAAK,EAAE,UAAU;IACtB,KAAK;IACL,IAAI,SAAS,EAAE;IACf,KAAK,OAAO,EAAE,wCAAwC;IACtD,KAAK,UAAU,EAAE,IAAI;IACrB,KAAK;IACL;IACA,IAAI;IACJ,GAAG;IACH,EAAE,KAAK,EAAE;IACT;IACA,GAAG,OAAO,EAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,6BAA6B,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC;IAC7G,GAAG,MAAM,EAAE,IAAI;IACf,GAAG,MAAM,EAAE;IACX,IAAI,UAAU,EAAE,OAAO;IACvB,IAAI,aAAa,EAAE,SAAS;IAC5B,IAAI,QAAQ,EAAE;IACd,KAAK,OAAO,EAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;IAC/C,KAAK,KAAK,EAAE,KAAK;IACjB,KAAK;IACL,IAAI;IACJ,GAAG;IACH,EAAE,UAAU,EAAE,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC;IAChF,EAAE,QAAQ,EAAE;IACZ,GAAG,OAAO,EAAE,MAAM;IAClB,GAAG,MAAM,EAAE,IAAI;IACf,GAAG;IACH,EAAE,UAAU,EAAE,8CAA8C;IAC5D,EAAE,WAAW,EAAE,eAAe;IAC9B,EAAE,UAAU,EAAE,mBAAmB;IACjC,EAAE,aAAa,EAAE,WAAW;IAC5B,EAAE,CAAC;AACH;IACA,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;AACjE;IACA,CAAC,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;IACrC,CAAC,IAAI,MAAM,EAAE;IACb,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACxC;IACA,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE;IACvD,GAAG,YAAY,EAAE;IACjB,IAAI,OAAO,EAAE,4CAA4C;IACzD,IAAI,MAAM,EAAE;IACZ,KAAK,WAAW,EAAE;IAClB,MAAM,OAAO,EAAE,YAAY;IAC3B,MAAM,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM;IAC/B,MAAM;IACN,KAAK,aAAa,EAAE,uBAAuB;IAC3C,KAAK,YAAY,EAAE;IACnB,MAAM,OAAO,EAAE,KAAK;IACpB,MAAM,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG;IACjC,MAAM;IACN,KAAK;IACL,IAAI,KAAK,EAAE,cAAc;IACzB,IAAI;IACJ,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACjB,EAAE;AACF;IACA,CAAC,CAAC,KAAK,CAAC,EAAE;AACV;AACA;IACA;IACA;IACA;AACA;IACA,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG;IACxB,CAAC,SAAS,EAAE;IACZ,EAAE;IACF,GAAG,OAAO,EAAE,iCAAiC;IAC7C,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG;IACH,EAAE;IACF,GAAG,OAAO,EAAE,kBAAkB;IAC9B,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,IAAI;IACf,GAAG;IACH,EAAE;IACF,CAAC,QAAQ,EAAE;IACX,EAAE,OAAO,EAAE,gDAAgD;IAC3D,EAAE,MAAM,EAAE,IAAI;IACd,EAAE;IACF,CAAC,YAAY,EAAE;IACf,EAAE,OAAO,EAAE,0FAA0F;IACrG,EAAE,UAAU,EAAE,IAAI;IAClB,EAAE,MAAM,EAAE;IACV,GAAG,aAAa,EAAE,OAAO;IACzB,GAAG;IACH,EAAE;IACF,CAAC,SAAS,EAAE,4GAA4G;IACxH,CAAC,SAAS,EAAE,oBAAoB;IAChC,CAAC,UAAU,EAAE,WAAW;IACxB,CAAC,QAAQ,EAAE,uDAAuD;IAClE,CAAC,UAAU,EAAE,8CAA8C;IAC3D,CAAC,aAAa,EAAE,eAAe;IAC/B,CAAC,CAAC;AACF;AACA;IACA;IACA;IACA;AACA;IACA,KAAK,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE;IAC7D,CAAC,YAAY,EAAE;IACf,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;IACrC,EAAE;IACF,GAAG,OAAO,EAAE,yFAAyF;IACrG,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG;IACH,EAAE;IACF,CAAC,SAAS,EAAE;IACZ,EAAE;IACF,GAAG,OAAO,EAAE,iCAAiC;IAC7C,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG;IACH,EAAE;IACF,GAAG,OAAO,EAAE,mZAAmZ;IAC/Z,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG;IACH,EAAE;IACF,CAAC,QAAQ,EAAE,+NAA+N;IAC1O;IACA,CAAC,UAAU,EAAE,mFAAmF;IAChG,CAAC,UAAU,EAAE,2FAA2F;IACxG,CAAC,CAAC,CAAC;AACH;IACA,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,sEAAsE,CAAC;AAC7H;IACA,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,EAAE;IACtD,CAAC,OAAO,EAAE;IACV,EAAE,OAAO,EAAE,sLAAsL;IACjM,EAAE,UAAU,EAAE,IAAI;IAClB,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,MAAM,EAAE;IACV,GAAG,cAAc,EAAE;IACnB,IAAI,OAAO,EAAE,2BAA2B;IACxC,IAAI,UAAU,EAAE,IAAI;IACpB,IAAI,KAAK,EAAE,gBAAgB;IAC3B,IAAI,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;IACjC,IAAI;IACJ,GAAG,aAAa,EAAE,SAAS;IAC3B,GAAG,iBAAiB,EAAE,SAAS;IAC/B,GAAG;IACH,EAAE;IACF;IACA,CAAC,mBAAmB,EAAE;IACtB,EAAE,OAAO,EAAE,+JAA+J;IAC1K,EAAE,KAAK,EAAE,UAAU;IACnB,EAAE;IACF,CAAC,WAAW,EAAE;IACd,EAAE;IACF,GAAG,OAAO,EAAE,uGAAuG;IACnH,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;IACrC,GAAG;IACH,EAAE;IACF,GAAG,OAAO,EAAE,+CAA+C;IAC3D,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;IACrC,GAAG;IACH,EAAE;IACF,GAAG,OAAO,EAAE,mDAAmD;IAC/D,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;IACrC,GAAG;IACH,EAAE;IACF,GAAG,OAAO,EAAE,+cAA+c;IAC3d,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;IACrC,GAAG;IACH,EAAE;IACF,CAAC,UAAU,EAAE,2BAA2B;IACxC,CAAC,CAAC,CAAC;AACH;IACA,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,EAAE;IACrD,CAAC,iBAAiB,EAAE;IACpB,EAAE,OAAO,EAAE,mEAAmE;IAC9E,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,MAAM,EAAE;IACV,GAAG,sBAAsB,EAAE;IAC3B,IAAI,OAAO,EAAE,OAAO;IACpB,IAAI,KAAK,EAAE,QAAQ;IACnB,IAAI;IACJ,GAAG,eAAe,EAAE;IACpB,IAAI,OAAO,EAAE,4DAA4D;IACzE,IAAI,UAAU,EAAE,IAAI;IACpB,IAAI,MAAM,EAAE;IACZ,KAAK,2BAA2B,EAAE;IAClC,MAAM,OAAO,EAAE,SAAS;IACxB,MAAM,KAAK,EAAE,aAAa;IAC1B,MAAM;IACN,KAAK,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;IACrC,KAAK;IACL,IAAI;IACJ,GAAG,QAAQ,EAAE,SAAS;IACtB,GAAG;IACH,EAAE;IACF,CAAC,CAAC,CAAC;AACH;IACA,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE;IAC5B,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;AACD;IACA,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC;AAChD;AACA;IACA;IACA;IACA;AACA;IACA,CAAC,YAAY;IACb,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;IACnE,EAAE,OAAO;IACT,EAAE;AACF;IACA,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC1B;IACA,CAAC,IAAI,eAAe,GAAG,UAAU,CAAC;IAClC,CAAC,IAAI,eAAe,GAAG,UAAU,MAAM,EAAE,OAAO,EAAE;IAClD,EAAE,OAAO,UAAU,GAAG,MAAM,GAAG,wBAAwB,GAAG,OAAO,CAAC;IAClE,EAAE,CAAC;IACH,CAAC,IAAI,qBAAqB,GAAG,0CAA0C,CAAC;AACxE;IACA,CAAC,IAAI,UAAU,GAAG;IAClB,EAAE,IAAI,EAAE,YAAY;IACpB,EAAE,IAAI,EAAE,QAAQ;IAChB,EAAE,IAAI,EAAE,MAAM;IACd,EAAE,KAAK,EAAE,YAAY;IACrB,EAAE,MAAM,EAAE,YAAY;IACtB,EAAE,IAAI,EAAE,MAAM;IACd,EAAE,KAAK,EAAE,OAAO;IAChB,EAAE,GAAG,EAAE,GAAG;IACV,EAAE,KAAK,EAAE,OAAO;IAChB,EAAE,CAAC;AACH;IACA,CAAC,IAAI,WAAW,GAAG,iBAAiB,CAAC;IACrC,CAAC,IAAI,cAAc,GAAG,SAAS,CAAC;IAChC,CAAC,IAAI,aAAa,GAAG,QAAQ,CAAC;IAC9B,CAAC,IAAI,aAAa,GAAG,QAAQ,CAAC;AAC9B;IACA,CAAC,IAAI,QAAQ,GAAG,qBAAqB,GAAG,WAAW,GAAG,IAAI,GAAG,aAAa,GAAG,KAAK;IAClF,IAAI,QAAQ,GAAG,WAAW,GAAG,IAAI,GAAG,cAAc,GAAG,KAAK,CAAC;AAC3D;IACA,CAAC,IAAI,IAAI,GAAG,6BAA6B,CAAC;AAC1C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,SAAS,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE;IAC9C,EAAE,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,EAAE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC;IACrE,EAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,EAAE;AACF;AACA;IACA,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,GAAG,EAAE;IACvD,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI,GAAG,QAAQ,CAAC;IAClC,EAAE,CAAC,CAAC;AACJ;IACA,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,GAAG,EAAE;IACvD,EAAE,IAAI,GAAG,kCAAkC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxD,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;IAC7B,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;AACjB;IACA,GAAG,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACjD;IACA;IACA,GAAG,IAAI,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;AACtC;IACA,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAC1C;IACA,GAAG,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC/B,GAAG,IAAI,QAAQ,KAAK,MAAM,EAAE;IAC5B;IACA;IACA,IAAI,IAAI,SAAS,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;IAClD,IAAI;AACJ;IACA;IACA,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpC,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACnC;IACA;IACA,GAAG,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;IAC7C,GAAG,IAAI,UAAU,EAAE;IACnB,IAAI,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI;AACJ;IACA;IACA,GAAG,IAAI,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;IAClC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9B,GAAG,GAAG,CAAC,kBAAkB,GAAG,YAAY;IACxC,IAAI,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE;IAC7B,KAAK,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE;IAC/C;IACA,MAAM,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACnD;IACA;IACA,MAAM,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC;IAC1C,MAAM,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACnC;IACA,MAAM,MAAM;IACZ;IACA,MAAM,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACnD;IACA,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;IAC7B,OAAO,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACtE,OAAO,MAAM;IACb,OAAO,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC;IAChD,OAAO;IACP,MAAM;IACN,KAAK;IACL,IAAI,CAAC;IACL,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,GAAG;IACH,EAAE,CAAC,CAAC;AACJ;IACA,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG;IAC/B;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,SAAS,EAAE,SAAS,SAAS,CAAC,SAAS,EAAE;IAC3C,GAAG,IAAI,QAAQ,GAAG,CAAC,SAAS,IAAI,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACrE;IACA,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG;IACtD,IAAI,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI;IACJ,GAAG;IACH,EAAE,CAAC;AACH;IACA,CAAC,IAAI,MAAM,GAAG,KAAK,CAAC;IACpB;IACA,CAAC,KAAK,CAAC,aAAa,GAAG,YAAY;IACnC,EAAE,IAAI,CAAC,MAAM,EAAE;IACf,GAAG,OAAO,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;IAC3G,GAAG,MAAM,GAAG,IAAI,CAAC;IACjB,GAAG;IACH,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,GAAE;AACF;IACA,CAAC,GAAG;;;IC7pDJ,MAAM,MAAM,GAAG,+CAA+C,CAAC;AAC/D;IACA,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;IAC1D,CAAC,IAAI,EAAE;IACP,EAAE,OAAO,EAAE,IAAI,MAAM;IACrB,GAAG,WAAW;IACd,IAAI,+DAA+D;IACnE,GAAG;IACH,EAAE,MAAM,EAAE;IACV,GAAG,qBAAqB,EAAE;IAC1B,IAAI;IACJ,KAAK,OAAO,EAAE,iCAAiC;IAC/C,KAAK,UAAU,EAAE,IAAI;IACrB,KAAK,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IAC1C,KAAK;IACL,IAAI;IACJ,KAAK,OAAO,EAAE,yBAAyB;IACvC,KAAK,UAAU,EAAE,IAAI;IACrB,KAAK,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IAC1C,KAAK;IACL,IAAI;IACJ,KAAK,OAAO,EAAE,2BAA2B;IACzC,KAAK,UAAU,EAAE,IAAI;IACrB,KAAK,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IAC1C,KAAK;IACL,IAAI;IACJ,GAAG,OAAO,EAAE,aAAa;IACzB,GAAG,WAAW,EAAE,KAAK;IACrB,GAAG;IACH,EAAE;IACF,CAAC,KAAK,EAAE;IACR,EAAE,OAAO,EAAE,IAAI,MAAM;IACrB,GAAG,WAAW;IACd,IAAI,MAAM;IACV,IAAI,+DAA+D;IACnE,GAAG;IACH,EAAE,MAAM,EAAE;IACV,GAAG,WAAW,EAAE,OAAO;IACvB,GAAG,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC;IAClE,GAAG,qBAAqB,EAAE;IAC1B,IAAI,OAAO,EAAE,SAAS;IACtB,IAAI,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IACzC,IAAI;IACJ,GAAG;IACH,EAAE;IACF,CAAC,GAAG,EAAE;IACN,EAAE,OAAO,EAAE,oKAAoK;IAC/K,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,MAAM,EAAE;IACV,GAAG,GAAG,EAAE;IACR,IAAI,OAAO,EAAE,iBAAiB;IAC9B,IAAI,MAAM,EAAE;IACZ,KAAK,WAAW,EAAE,OAAO;IACzB,KAAK,SAAS,EAAE,cAAc;IAC9B,KAAK;IACL,IAAI;IACJ,GAAG,qBAAqB,EAAE;IAC1B,IAAI,OAAO,EAAE,8DAA8D;IAC3E,IAAI,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IACzC,IAAI;IACJ,GAAG,YAAY,EAAE;IACjB,IAAI,OAAO,EAAE,qCAAqC;IAClD,IAAI,MAAM,EAAE;IACZ,KAAK,WAAW,EAAE;IAClB,MAAM,IAAI;IACV,MAAM;IACN,OAAO,OAAO,EAAE,kBAAkB;IAClC,OAAO,UAAU,EAAE,IAAI;IACvB,OAAO;IACP,MAAM;IACN,KAAK,qBAAqB,EAAE;IAC5B,MAAM,OAAO,EAAE,WAAW;IAC1B,MAAM,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IAC3C,MAAM;IACN,KAAK;IACL,IAAI;IACJ,GAAG,WAAW,EAAE,MAAM;IACtB,GAAG,WAAW,EAAE;IAChB,IAAI,OAAO,EAAE,WAAW;IACxB,IAAI,MAAM,EAAE;IACZ,KAAK,SAAS,EAAE,cAAc;IAC9B,KAAK;IACL,IAAI;IACJ,GAAG;IACH,EAAE;IACF,CAAC,qBAAqB,EAAE;IACxB,EAAE,OAAO,EAAE,8DAA8D;IACzE,EAAE,UAAU,EAAE,IAAI;IAClB,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IACvC,EAAE;IACF,CAAC,CAAC,CAAC;AACH;IACA,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAClC;IACA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI;IAC/B,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;IAC5B,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9D,EAAE;IACF,CAAC,CAAC,CAAC;AACH;IACA,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE;IAChE,CAAC,KAAK,EAAE,SAAS,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,EAAE,MAAM,mBAAmB,GAAG,EAAE,CAAC;IACjC,EAAE,mBAAmB,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG;IAC5C,GAAG,OAAO,EAAE,mCAAmC;IAC/C,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IAChC,GAAG,CAAC;IACJ,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAC;AACxD;IACA,EAAE,MAAM,MAAM,GAAG;IACjB,GAAG,gBAAgB,EAAE;IACrB,IAAI,OAAO,EAAE,2BAA2B;IACxC,IAAI,MAAM,EAAE,mBAAmB;IAC/B,IAAI;IACJ,GAAG,CAAC;IACJ,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG;IAC/B,GAAG,OAAO,EAAE,SAAS;IACrB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IAChC,GAAG,CAAC;AACJ;IACA,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;IACjB,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG;IACjB,GAAG,OAAO,EAAE,MAAM;IAClB,IAAI,kEAAkE,CAAC,MAAM,CAAC,OAAO;IACrF,KAAK,KAAK;IACV,KAAK,OAAO;IACZ,KAAK;IACL,IAAI,GAAG;IACP,IAAI;IACJ,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,IAAI;IACf,GAAG,MAAM;IACT,GAAG,CAAC;AACJ;IACA,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACvD,EAAE;IACF,CAAC,CAAC,CAAC;AACH;IACA,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtD,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCCtEpD,GAAU;;;;+DAAV,GAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAHd,GAAK;;;;;;;;;;;8BAfL,GAAQ;;;;;;;;+BASR,GAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEATT,GAAQ;mEASR,GAAS;;qBAMT,GAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAhEG,MAAM,GAAG,EAAE;SAClB,QAAQ,GAAG,EAAE;SACb,SAAS,GAAG,EAAE;SACd,UAAU,GAAG,EAAE;WACR,KAAK,GAAG,EAAE;;KAErB,OAAO;MACL,KAAK,IAAI,MAAM,QACZ,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAC9B,IAAI,CAAC,IAAI,oBAAI,QAAQ,GAAG,IAAI;MAE/B,KAAK,IAAI,MAAM,SACZ,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAC9B,IAAI,CAAC,IAAI,oBAAI,SAAS,GAAG,IAAI,GAC7B,IAAI,OAAOC,KAAK,CAAC,YAAY;;UAG7B,KAAK;OACN,KAAK,IAAI,MAAM,eACZ,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAC9B,IAAI,CAAC,IAAI,oBAAI,UAAU,GAAG,IAAI,GAC9B,IAAI,OAAOA,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCC0BrB,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BCmB+B,GAAK,IAAC,KAAK;;;;;;;;;;;;;;2CAAzD,GAAK,IAAC,MAAM;;;;;;;;;;;;;;oEAAkC,GAAK,IAAC,KAAK;;;4CAAzD,GAAK,IAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;8BAMxB,GAAK,IAAC,KAAK;;;;;;;;;;;;;;;;;;+CADI,GAAK,IAAC,MAAM;;;;;;;;;;;;sEAC3B,GAAK,IAAC,KAAK;;;gDADI,GAAK,IAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAN5B,GAAM;;;;sCAAX,MAAI;;;;iCAKC,GAAM;;;;oCAAX,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCALC,GAAM;;;;qCAAX,MAAI;;;;;;;;;;;;;;;;4CAAJ,MAAI;;;;gCAKC,GAAM;;;;mCAAX,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;SAzEJ,MAAM;QACP,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI;QAC9B,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;QAC/B,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;;;WAG5B,QAAQ,GAAI,KAAK;MACrB,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC;;;;;;;;;;gCA8DH,QAAQ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BCbtD,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCADN,GAAU;;;;oCAAf,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAAC,GAAU;;;;mCAAf,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;WApDA,UAAU;UACV,IAAI;;eACA,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;OACtB,IAAI,CAAC,IAAI,CAAC,CAAC;;;aAEN,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCCkDU,IAAI,CAAC,eAAe;mCAKpB,IAAI,CAAC,gBAAgB;mCAKrB,IAAI,CAAC,gBAAgB;mCAKrB,IAAI,CAAC,kBAAkB;mCAKvB,IAAI,CAAC,kBAAkB;mCAWvB,IAAI,CAAC,cAAc;mCAMnB,IAAI,CAAC,cAAc;mCAKnB,IAAI,CAAC,cAAc;mCAKnB,IAAI,CAAC,eAAe;mCAKpB,IAAI,CAAC,aAAa;oCAKlB,IAAI,CAAC,wBAAwB;oCAK7B,IAAI,CAAC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCC3C7B,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCCoKrB,GAAM;;;;oCAAX,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAoCgC,MAAM,CAAC,EAAE,EAAE,EAAE;;;;0CAGb,MAAM,CAAC,EAAE,EAAC,EAAE;;;;0CAGZ,MAAM,CAAC,EAAE,EAAC,EAAE;;;;0CAGZ,MAAM,CAAC,EAAE,EAAC,EAAE;;;;0CAGZ,MAAM,CAAC,EAAE,EAAC,EAAE;;;;0CAGZ,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAnDhD,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA9OJ,MAAM,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCCqOH,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAkBd,MAAM,CAAC,GAAG,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAkBb,MAAM,CAAC,GAAG,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAtClB,GAAK;;;;sCAAV,MAAI;;;;;;;;kCAkBD,GAAK;;;;sCAAV,MAAI;;;;gCAkBC,GAAK;;;;oCAAV,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA5EU,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;0CAqBZ,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAmDd,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAhCrB,GAAK;;;;qCAAV,MAAI;;;;;;;;;;;;;;;;8BAAJ,MAAI;;;;;;;;iCAkBD,GAAK;;;;qCAAV,MAAI;;;;;;;;;;;;;;;;4CAAJ,MAAI;;;;+BAkBC,GAAK;;;;mCAAV,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;wCApCF,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAlOR,KAAK,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;WAGT,SAAS,GAAG,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCC6GM,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAmBZ,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCArBzC,GAAI;;;;sCAAT,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAmBC,GAAK;;;;oCAAV,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAvC2B,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAoBxC,GAAI;;;;qCAAT,MAAI;;;;;;;;;;;;;;;;4CAAJ,MAAI;;;;+BAmBC,GAAK;;;;mCAAV,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAjIF,KAAK,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;SAC7B,IAAI,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCCiKV,GAAK;;;;oCAAV,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAL2B,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAKxC,GAAK;;;;mCAAV,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAKwC,GAAM;;;;;;;;;;;;;;wCADd,MAAM,CAAC,GAAG,aAAE,GAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAF7C,GAAa,kBAAC,GAAS,KAAE,EAAE;;;;sCAAhC,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAAC,GAAa,kBAAC,GAAS,KAAE,EAAE;;;;qCAAhC,MAAI;;;;;;;;;;;;;;;;0CAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAjBN,GAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAAT,GAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAjJX,OAAO,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC;SAChB,KAAK,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;SAClB,SAAS,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;WACxB,SAAS,GAAG,KAAK;;WAEtB,aAAa,GAAI,UAAU;UAC3B,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;UACjB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM;UAClC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG;aACjD,UAAU,CAAC,KAAK;;;WAGnB,aAAa,IAAI,UAAU,EAAE,KAAK;UAClC,MAAM;;eACF,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC;OACzB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU;;;aAG/B,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCCqHmB,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAST,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAX5C,GAAO;;;;sCAAZ,MAAI;;;;gCAQC,GAAK;;;;oCAAV,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA5B6B,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAoB1C,GAAO;;;;qCAAZ,MAAI;;;;;;;;;;;;;;;;4CAAJ,MAAI;;;;+BAQC,GAAK;;;;mCAAV,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA9IF,KAAK,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;SAC1B,OAAO,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCC6NJ,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAFnB,GAAK;;;;oCAAV,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAvCM,MAAM,CAAC,IAAI,EAAC,GAAG;;;;;;;;;;;;;;;0CAoBb,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAmBnB,GAAK;;;;mCAAV,MAAI;;;;;;;;;;;;;;;;4BAAJ,MAAI;;;;;;;;;;;;;;;;;sCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA5NN,KAAK,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCC0CL,MAAM,CAAC,EAAE,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCCGb,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICTvC,SAAS,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,GAAG,GAAG,EAAE,MAAM,GAAGC,QAAM,EAAE,EAAE;IACpE,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IAC9C,IAAI,OAAO;IACX,QAAQ,KAAK;IACb,QAAQ,QAAQ;IAChB,QAAQ,MAAM;IACd,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,KAAK,CAAC;IACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCCDK,GAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAP,GAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA7CC,OAAO,GAAG,KAAK;;;;;;;iDA0CD,OAAO,GAAG,IAAI;mDAIf,OAAO,GAAG,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BCuB6B,GAAK,IAAC,KAAK;;;;;;;;;;;;;;2CAAzD,GAAK,IAAC,MAAM;;;;;;;;;;;;;;oEAAkC,GAAK,IAAC,KAAK;;;4CAAzD,GAAK,IAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;8BAMxB,GAAK,IAAC,KAAK;;;;;;;;;;;;;;;;;;+CADI,GAAK,IAAC,MAAM;;;;;;;;;;;;sEAC3B,GAAK,IAAC,KAAK;;;gDADI,GAAK,IAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAN5B,GAAM;;;;sCAAX,MAAI;;;;iCAKC,GAAM;;;;oCAAX,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCALC,GAAM;;;;qCAAX,MAAI;;;;;;;;;;;;;;;;4CAAJ,MAAI;;;;gCAKC,GAAM;;;;mCAAX,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAzEJ,MAAM;QACP,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI;QAC9B,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;QAC/B,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;;;WAG5B,QAAQ,GAAI,KAAK;MACrB,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC;;;;;;;;;;gCA8DH,QAAQ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BCftD,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCADN,GAAU;;;;oCAAf,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAAC,GAAU;;;;mCAAf,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WApDA,UAAU;UACV,IAAI;;eACA,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;OACtB,IAAI,CAAC,IAAI,CAAC,CAAC;;;aAEN,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACUf,iBAAe;IACf,EAAE,GAAG,EAAE,IAAI;IACX,EAAE,QAAQ,EAAE,KAAK;IACjB,EAAE,cAAc,EAAEC,OAAK;IACvB,EAAE,cAAc,EAAEC,OAAK;IACvB,EAAE,cAAc,EAAE,KAAK;IACvB,EAAE,cAAc,EAAEC,OAAK;IACvB,EAAE,eAAe,EAAEC,QAAM;IACzB,EAAE,eAAe,EAAEC,QAAM;IACzB,EAAE,gBAAgB,EAAEC,SAAO;IAC3B,EAAE,gBAAgB,EAAEC,SAAO;IAC3B,EAAE,kBAAkB,EAAEC,WAAS;IAC/B,EAAE,kBAAkB,EAAEC,WAAS;IAC/B,EAAE,eAAe,EAAEC,QAAM;IACzB,EAAE,aAAa,EAAEC,MAAI;IACrB,EAAE,iBAAiB,EAAEC,UAAQ;IAC7B,EAAE,wBAAwB,EAAEC,iBAAe;IAC3C,EAAE,mBAAmB,EAAE,UAAU;IACjC,EAAE,yBAAyB,EAAE,eAAe;IAC5C,EAAE,GAAG,EAAE,QAAQ;IACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBCnBK,GAAK,OAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAjBP,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO;OAAI,YAAY,CAAC,OAAO,CAAC,OAAO;OAAI,OAAO;;WAEpF,SAAS;MACb,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK;MACzD,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK;;;WAG/B,MAAM;sBACV,KAAK,GAAG,KAAK,IAAI,OAAO,GAAG,MAAM,GAAG,OAAO;MAC3C,SAAS;;;KAGX,OAAO;MACL,SAAS;;;;;;;;;iCAKY,MAAM;mCAIN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CCYW,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpCzC,UAAC,GAAG,GAAG,IAAI,GAAG,CAAC;IACpB,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI;IACtB,CAAC,KAAK,EAAE;IACR,EAAE,IAAI,EAAE,OAAO;IACf,EAAE;IACF,CAAC;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"bundle.js","sources":["../../node_modules/svelte/internal/index.mjs","../../node_modules/svelte-spa-router/wrap.js","../../node_modules/svelte/store/index.mjs","../../node_modules/regexparam/dist/regexparam.mjs","../../node_modules/svelte-spa-router/Router.svelte","../../src/components/Icon.svelte","../../src/thumbs/Youtube.svelte","../../src/thumbs/Instagram.svelte","../../node_modules/@cloudfour/simple-svg-placeholder/index.js","../../lib/imgholder.js","../../src/thumbs/Tiles.svelte","../../node_modules/prismjs/prism.js","../../node_modules/prism-svelte/index.js","../../src/components/CodeView.svelte","../../src/thumbs/Cards.svelte","../../src/thumbs/Tabs.svelte","../../src/thumbs/Calendar.svelte","../../src/thumbs/Carousel.svelte","../../src/demos/index.svelte","../../src/demos/Google.svelte","../../src/demos/Twitter.svelte","../../src/demos/Youtube.svelte","../../src/demos/Instagram.svelte","../../src/demos/Pinterest.svelte","../../src/demos/XorAcademy.svelte","../../src/demos/XorAcademyWatch.svelte","../../src/demos/Tiles.svelte","../../src/demos/Cards.svelte","../../node_modules/svelte/transition/index.mjs","../../src/demos/Modal.svelte","../../src/demos/Tabs.svelte","../../src/demos/Calendar.svelte","../../src/demos/Carousel.svelte","../../src/routes.js","../../src/components/Darkmode.svelte","../../src/App.svelte","../../src/main.js"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction is_empty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction validate_store(store, name) {\n if (store != null && typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, ...callbacks) {\n if (store == null) {\n return noop;\n }\n const unsub = store.subscribe(...callbacks);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if ($$scope.dirty === undefined) {\n return lets;\n }\n if (typeof lets === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction update_slot_spread(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_spread_changes_fn, get_slot_context_fn) {\n const slot_changes = get_slot_spread_changes_fn(dirty) | get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n if (slot_changes) {\n const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n slot.p(slot_context, slot_changes);\n }\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction compute_rest_props(props, keys) {\n const rest = {};\n keys = new Set(keys);\n for (const k in props)\n if (!keys.has(k) && k[0] !== '$')\n rest[k] = props[k];\n return rest;\n}\nfunction compute_slots(slots) {\n const result = {};\n for (const key in slots) {\n result[key] = true;\n }\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (key === '__value') {\n node.value = node[key] = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group, __value, checked) {\n const value = new Set();\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.add(group[i].__value);\n }\n if (!checked) {\n value.delete(__value);\n }\n return Array.from(value);\n}\nfunction to_number(value) {\n return value === '' ? null : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n let j = 0;\n const remove = [];\n while (j < node.attributes.length) {\n const attribute = node.attributes[j++];\n if (!attributes[attribute.name]) {\n remove.push(attribute.name);\n }\n }\n for (let k = 0; k < remove.length; k++) {\n node.removeAttribute(remove[k]);\n }\n return nodes.splice(i, 1)[0];\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.wholeText !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n input.value = value == null ? '' : value;\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\nlet crossorigin;\nfunction is_crossorigin() {\n if (crossorigin === undefined) {\n crossorigin = false;\n try {\n if (typeof window !== 'undefined' && window.parent) {\n void window.parent.document;\n }\n }\n catch (error) {\n crossorigin = true;\n }\n }\n return crossorigin;\n}\nfunction add_resize_listener(node, fn) {\n const computed_style = getComputedStyle(node);\n const z_index = (parseInt(computed_style.zIndex) || 0) - 1;\n if (computed_style.position === 'static') {\n node.style.position = 'relative';\n }\n const iframe = element('iframe');\n iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n `overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: ${z_index};`);\n iframe.setAttribute('aria-hidden', 'true');\n iframe.tabIndex = -1;\n const crossorigin = is_crossorigin();\n let unsubscribe;\n if (crossorigin) {\n iframe.src = \"data:text/html,\";\n unsubscribe = listen(window, 'message', (event) => {\n if (event.source === iframe.contentWindow)\n fn();\n });\n }\n else {\n iframe.src = 'about:blank';\n iframe.onload = () => {\n unsubscribe = listen(iframe.contentWindow, 'resize', fn);\n };\n }\n append(node, iframe);\n return () => {\n if (crossorigin) {\n unsubscribe();\n }\n else if (unsubscribe && iframe.contentWindow) {\n unsubscribe();\n }\n detach(iframe);\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nfunction query_selector_all(selector, parent = document.body) {\n return Array.from(parent.querySelectorAll(selector));\n}\nclass HtmlTag {\n constructor(anchor = null) {\n this.a = anchor;\n this.e = this.n = null;\n }\n m(html, target, anchor = null) {\n if (!this.e) {\n this.e = element(target.nodeName);\n this.t = target;\n this.h(html);\n }\n this.i(anchor);\n }\n h(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n i(anchor) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(this.t, this.n[i], anchor);\n }\n }\n p(html) {\n this.d();\n this.h(html);\n this.i(this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\nfunction attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n}\nfunction get_custom_elements_slots(element) {\n const result = {};\n element.childNodes.forEach((node) => {\n result[node.slot || 'default'] = true;\n });\n return result;\n}\n\nconst active_docs = new Set();\nlet active = 0;\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n const doc = node.ownerDocument;\n active_docs.add(doc);\n const stylesheet = doc.__svelte_stylesheet || (doc.__svelte_stylesheet = doc.head.appendChild(element('style')).sheet);\n const current_rules = doc.__svelte_rules || (doc.__svelte_rules = {});\n if (!current_rules[name]) {\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n const previous = (node.style.animation || '').split(', ');\n const next = previous.filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n );\n const deleted = previous.length - next.length;\n if (deleted) {\n node.style.animation = next.join(', ');\n active -= deleted;\n if (!active)\n clear_rules();\n }\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n active_docs.forEach(doc => {\n const stylesheet = doc.__svelte_stylesheet;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n doc.__svelte_rules = {};\n });\n active_docs.clear();\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error('Function called outside component initialization');\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\nfunction hasContext(key) {\n return get_current_component().$$.context.has(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nlet flushing = false;\nconst seen_callbacks = new Set();\nfunction flush() {\n if (flushing)\n return;\n flushing = true;\n do {\n // first, call beforeUpdate functions\n // and update components\n for (let i = 0; i < dirty_components.length; i += 1) {\n const component = dirty_components[i];\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n flushing = false;\n seen_callbacks.clear();\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program || pending_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n info.blocks[i] = null;\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n if (!info.hasCatch) {\n throw error;\n }\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined'\n ? window\n : typeof globalThis !== 'undefined'\n ? globalThis\n : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction validate_each_keys(ctx, list, get_context, get_key) {\n const keys = new Set();\n for (let i = 0; i < list.length; i++) {\n const key = get_key(get_context(ctx, list, i));\n if (keys.has(key)) {\n throw new Error('Cannot have duplicate keys in a keyed each');\n }\n keys.add(key);\n }\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += ' ' + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += ' ' + name;\n }\n else if (value != null) {\n str += ` ${name}=\"${String(value).replace(/\"/g, '"').replace(/'/g, ''')}\"`;\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, options = {}) => {\n on_destroy = [];\n const result = { title: '', head: '', css: new Set() };\n const html = $$render(result, props, {}, options);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.title + result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : '';\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const prop_values = options.props || {};\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : []),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, prop_values, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n}\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, Object.assign({ version: '3.30.0' }, detail)));\n}\nfunction append_dev(target, node) {\n dispatch_dev('SvelteDOMInsert', { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev('SvelteDOMInsert', { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev('SvelteDOMRemove', { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute });\n else\n dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev('SvelteDOMSetProperty', { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev('SvelteDOMSetDataset', { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.wholeText === data)\n return;\n dispatch_dev('SvelteDOMSetData', { node: text, data });\n text.data = data;\n}\nfunction validate_each_argument(arg) {\n if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) {\n let msg = '{#each} only iterates over array-like objects.';\n if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) {\n msg += ' You can use a spread to convert this iterable into an array.';\n }\n throw new Error(msg);\n }\n}\nfunction validate_slots(name, slot, keys) {\n for (const slot_key of Object.keys(slot)) {\n if (!~keys.indexOf(slot_key)) {\n console.warn(`<${name}> received an unexpected slot \"${slot_key}\".`);\n }\n }\n}\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(\"'target' is a required option\");\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn('Component was already destroyed'); // eslint-disable-line no-console\n };\n }\n $capture_state() { }\n $inject_state() { }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error('Infinite loop detected');\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_custom_elements_slots, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, update_slot, update_slot_spread, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr };\n","/**\n * @typedef {Object} WrappedComponent Object returned by the `wrap` method\n * @property {SvelteComponent} component - Component to load (this is always asynchronous)\n * @property {RoutePrecondition[]} [conditions] - Route pre-conditions to validate\n * @property {Object} [props] - Optional dictionary of static props\n * @property {Object} [userData] - Optional user data dictionary\n * @property {bool} _sveltesparouter - Internal flag; always set to true\n */\n\n/**\n * @callback AsyncSvelteComponent\n * @returns {Promise} Returns a Promise that resolves with a Svelte component\n */\n\n/**\n * @callback RoutePrecondition\n * @param {RouteDetail} detail - Route detail object\n * @returns {boolean|Promise} If the callback returns a false-y value, it's interpreted as the precondition failed, so it aborts loading the component (and won't process other pre-condition callbacks)\n */\n\n/**\n * @typedef {Object} WrapOptions Options object for the call to `wrap`\n * @property {SvelteComponent} [component] - Svelte component to load (this is incompatible with `asyncComponent`)\n * @property {AsyncSvelteComponent} [asyncComponent] - Function that returns a Promise that fulfills with a Svelte component (e.g. `{asyncComponent: () => import('Foo.svelte')}`)\n * @property {SvelteComponent} [loadingComponent] - Svelte component to be displayed while the async route is loading (as a placeholder); when unset or false-y, no component is shown while component\n * @property {object} [loadingParams] - Optional dictionary passed to the `loadingComponent` component as params (for an exported prop called `params`)\n * @property {object} [userData] - Optional object that will be passed to events such as `routeLoading`, `routeLoaded`, `conditionsFailed`\n * @property {object} [props] - Optional key-value dictionary of static props that will be passed to the component. The props are expanded with {...props}, so the key in the dictionary becomes the name of the prop.\n * @property {RoutePrecondition[]|RoutePrecondition} [conditions] - Route pre-conditions to add, which will be executed in order\n */\n\n/**\n * Wraps a component to enable multiple capabilities:\n * 1. Using dynamically-imported component, with (e.g. `{asyncComponent: () => import('Foo.svelte')}`), which also allows bundlers to do code-splitting.\n * 2. Adding route pre-conditions (e.g. `{conditions: [...]}`)\n * 3. Adding static props that are passed to the component\n * 4. Adding custom userData, which is passed to route events (e.g. route loaded events) or to route pre-conditions (e.g. `{userData: {foo: 'bar}}`)\n * \n * @param {WrapOptions} args - Arguments object\n * @returns {WrappedComponent} Wrapped component\n */\nexport function wrap(args) {\n if (!args) {\n throw Error('Parameter args is required')\n }\n\n // We need to have one and only one of component and asyncComponent\n // This does a \"XNOR\"\n if (!args.component == !args.asyncComponent) {\n throw Error('One and only one of component and asyncComponent is required')\n }\n\n // If the component is not async, wrap it into a function returning a Promise\n if (args.component) {\n args.asyncComponent = () => Promise.resolve(args.component)\n }\n\n // Parameter asyncComponent and each item of conditions must be functions\n if (typeof args.asyncComponent != 'function') {\n throw Error('Parameter asyncComponent must be a function')\n }\n if (args.conditions) {\n // Ensure it's an array\n if (!Array.isArray(args.conditions)) {\n args.conditions = [args.conditions]\n }\n for (let i = 0; i < args.conditions.length; i++) {\n if (!args.conditions[i] || typeof args.conditions[i] != 'function') {\n throw Error('Invalid parameter conditions[' + i + ']')\n }\n }\n }\n\n // Check if we have a placeholder component\n if (args.loadingComponent) {\n args.asyncComponent.loading = args.loadingComponent\n args.asyncComponent.loadingParams = args.loadingParams || undefined\n }\n\n // Returns an object that contains all the functions to execute too\n // The _sveltesparouter flag is to confirm the object was created by this router\n const obj = {\n component: args.asyncComponent,\n userData: args.userData,\n conditions: (args.conditions && args.conditions.length) ? args.conditions : undefined,\n props: (args.props && Object.keys(args.props).length) ? args.props : {},\n _sveltesparouter: true\n }\n\n return obj\n}\n\nexport default wrap\n","import { noop, safe_not_equal, subscribe, run_all, is_function } from '../internal/index.mjs';\nexport { get_store_value as get } from '../internal/index.mjs';\n\nconst subscriber_queue = [];\n/**\n * Creates a `Readable` store that allows reading by subscription.\n * @param value initial value\n * @param {StartStopNotifier}start start and stop notifications for subscriptions\n */\nfunction readable(value, start) {\n return {\n subscribe: writable(value, start).subscribe\n };\n}\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n * @param {*=}value initial value\n * @param {StartStopNotifier=}start start and stop notifications for subscriptions\n */\nfunction writable(value, start = noop) {\n let stop;\n const subscribers = [];\n function set(new_value) {\n if (safe_not_equal(value, new_value)) {\n value = new_value;\n if (stop) { // store is ready\n const run_queue = !subscriber_queue.length;\n for (let i = 0; i < subscribers.length; i += 1) {\n const s = subscribers[i];\n s[1]();\n subscriber_queue.push(s, value);\n }\n if (run_queue) {\n for (let i = 0; i < subscriber_queue.length; i += 2) {\n subscriber_queue[i][0](subscriber_queue[i + 1]);\n }\n subscriber_queue.length = 0;\n }\n }\n }\n }\n function update(fn) {\n set(fn(value));\n }\n function subscribe(run, invalidate = noop) {\n const subscriber = [run, invalidate];\n subscribers.push(subscriber);\n if (subscribers.length === 1) {\n stop = start(set) || noop;\n }\n run(value);\n return () => {\n const index = subscribers.indexOf(subscriber);\n if (index !== -1) {\n subscribers.splice(index, 1);\n }\n if (subscribers.length === 0) {\n stop();\n stop = null;\n }\n };\n }\n return { set, update, subscribe };\n}\nfunction derived(stores, fn, initial_value) {\n const single = !Array.isArray(stores);\n const stores_array = single\n ? [stores]\n : stores;\n const auto = fn.length < 2;\n return readable(initial_value, (set) => {\n let inited = false;\n const values = [];\n let pending = 0;\n let cleanup = noop;\n const sync = () => {\n if (pending) {\n return;\n }\n cleanup();\n const result = fn(single ? values[0] : values, set);\n if (auto) {\n set(result);\n }\n else {\n cleanup = is_function(result) ? result : noop;\n }\n };\n const unsubscribers = stores_array.map((store, i) => subscribe(store, (value) => {\n values[i] = value;\n pending &= ~(1 << i);\n if (inited) {\n sync();\n }\n }, () => {\n pending |= (1 << i);\n }));\n inited = true;\n sync();\n return function stop() {\n run_all(unsubscribers);\n cleanup();\n };\n });\n}\n\nexport { derived, readable, writable };\n","export default function (str, loose) {\n\tif (str instanceof RegExp) return { keys:false, pattern:str };\n\tvar c, o, tmp, ext, keys=[], pattern='', arr = str.split('/');\n\tarr[0] || arr.shift();\n\n\twhile (tmp = arr.shift()) {\n\t\tc = tmp[0];\n\t\tif (c === '*') {\n\t\t\tkeys.push('wild');\n\t\t\tpattern += '/(.*)';\n\t\t} else if (c === ':') {\n\t\t\to = tmp.indexOf('?', 1);\n\t\t\text = tmp.indexOf('.', 1);\n\t\t\tkeys.push( tmp.substring(1, !!~o ? o : !!~ext ? ext : tmp.length) );\n\t\t\tpattern += !!~o && !~ext ? '(?:/([^/]+?))?' : '/([^/]+?)';\n\t\t\tif (!!~ext) pattern += (!!~o ? '?' : '') + '\\\\' + tmp.substring(ext);\n\t\t} else {\n\t\t\tpattern += '/' + tmp;\n\t\t}\n\t}\n\n\treturn {\n\t\tkeys: keys,\n\t\tpattern: new RegExp('^' + pattern + (loose ? '(?=$|\\/)' : '\\/?$'), 'i')\n\t};\n}\n","\n\n{#if componentParams}\n \n{:else}\n \n{/if}\n\n\n","\n\n\n\n\n \n \n\n\n","\n\n\n\n\n\n
\n \n
\n
\n \n
\n \n
\n #tag #anothertag\n

Title And Stuff

\n \n Stats Stats\n \n 1.1K\n 22\n SHARE\n SAVE\n \n \n \n
\n
\n
\n\n","\n\n\n\n\n\n
\n \n
\n\n \n
\n \"Zed's\n
\n\n \n

\n zedshaw \n

\n\n

\n 280 posts 4,695 followers 1,778 following\n

\n\n

Zed A. Shaw

\n

Painter in oil, watercolor, and pastel. I’m doing live streams of little paintings on Twitch:
\n www.twitch.tv/zedashaw\n

\n
\n
\n\n \n {#each pins as pin}\n
\n \"Stock\n
\n {/each}\n
\n
\n","function simpleSvgPlaceholder({\n width = 300,\n height = 150,\n text = `${width}×${height}`,\n fontFamily = 'sans-serif',\n fontWeight = 'bold',\n fontSize = Math.floor(Math.min(width, height) * 0.2),\n dy = fontSize * 0.35,\n bgColor = '#ddd',\n textColor = 'rgba(0,0,0,0.5)',\n dataUri = true,\n charset = 'UTF-8'\n} = {}) {\n const str = `\n \n ${text}\n `;\n\n // Thanks to: filamentgroup/directory-encoder\n const cleaned = str\n .replace(/[\\t\\n\\r]/gim, '') // Strip newlines and tabs\n .replace(/\\s\\s+/g, ' ') // Condense multiple spaces\n .replace(/'/gim, '\\\\i'); // Normalize quotes\n\n if (dataUri) {\n const encoded = encodeURIComponent(cleaned)\n .replace(/\\(/g, '%28') // Encode brackets\n .replace(/\\)/g, '%29');\n\n return `data:image/svg+xml;charset=${charset},${encoded}`;\n }\n\n return cleaned;\n}\n\nmodule.exports = simpleSvgPlaceholder;\n","import simpleSvgPlaceholder from '@cloudfour/simple-svg-placeholder';\n\nconst defaults = {\n bgColor: '#ccc',\n textColor: '#888',\n}\n\nexport const holder = (x, y) => simpleSvgPlaceholder({...defaults, width: x, height: y});\n","\n\n\n\n \n \n \n \n\n \n

\n Tile Example\n

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

\n
\n\n \n \n \n \n
\n
\n\n","\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// \n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t? self // if in worker\n\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT \n * @author Lea Verou \n * @namespace\n * @public\n */\nvar Prism = (function (_self){\n\n// Private helper vars\nvar lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\nvar uniqueId = 0;\n\n\nvar _ = {\n\t/**\n\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t * additional languages or plugins yourself.\n\t *\n\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t *\n\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t * empty Prism object into the global scope before loading the Prism script like this:\n\t *\n\t * ```js\n\t * window.Prism = window.Prism || {};\n\t * Prism.manual = true;\n\t * // add a new \n\n\n\n\n \n

CSS

\n
\n      \n    {css_code}\n      \n    
\n
\n\n \n

HTML

\n
\n      \n    {html_code}\n      \n    
\n
\n
\n\n{#if notes}\n
\n

Notes

\n {@html notes_html}\n{/if}\n","\n\n\n\n \n \n \n \n\n \n

\n Card Example\n

\n

Lorem ipsum dolor sit amet, consectetur\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

\n
\n\n \n \n \n \n
\n
\n\n","\n\n\n\n\n

Basic Tabs

\n\n \n Tab1\n Tab2\n Tab3\n \n\n

Interactive Demo

\n \n {#each panels as panel, i}\n activate(i) }>{panel.title}\n {/each}\n \n \n {#each panels as panel, i}\n \n

{ panel.title }

\n

\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim\n veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea\n commodo consequat. Duis aute irure dolor in reprehenderit in voluptate\n velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat\n cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est\n laborum.\n

\n
\n {/each}\n
\n
\n\n","\n\n\n\n \n December\n SunMonTueWedThuFriSat\n {#each make_dates() as date}\n {date}\n {/each}\n \n\n\n","\n\n\n\n\n

Carousel

\n\n \n
\n \"Stock\n
Image 1
\n
\n\n \n
\n \"Stock\n
Image 2
\n
\n \n \n
\n
\n","\n\n\n\n

Full Websites

\n\n\n\n
push('/demos/google') }>\n \n
Google
\n
\n\n
push('/demos/twitter') }>\n \n
Twitter
\n
\n\n
push('/demos/youtube') }>\n \n
Youtube
\n
\n\n
push('/demos/instagram') }>\n \n
Instagram
\n
\n\n
push('/demos/pinterest') }>\n \n
Pinterest
\n
\n
\n\n
\n

Common UI Patterns

\n\n\n\n
push('/demos/login') }>\n \n
Basic Login
\n
\n\n\n
push('/demos/tiles') }>\n \n
Tiles
\n
\n\n
push('/demos/cards') }>\n \n
Cards
\n
\n\n
push('/demos/panels') }>\n \n
Panels
\n
\n\n
push('/demos/tabs') }>\n \n
Tabs
\n
\n\n
push('/demos/gridovergraphic') }>\n \n
Grid Over Graphic
\n
\n\n
push('/demos/calendar') }>\n \n
Calendar
\n
\n\n
push('/demos/carousel') }>\n \n
Carousel
\n
\n\n
\n\n\n","\n\n\n\n\n\n\n
\n \n
\n\n
\n \n \n \n
\n\n \n \n \n \n \n \n \n\n
\n\n\n","\n\n\n\n\n\n\n \n \n

# Explore

\n

Settings

\n
\n\n \n
\n \n
\n\n \n
\n \n
\n\n
\n \n \n
\n
\n\n \n

Zed A. Shaw, Writer

\n

@lzsthw

\n

The author of The Hard Way Series published by Addison/Wesley including Learn Python The Hard Way and many more. Follow me here for coding tips and book news.

\n

Some Place, KY learnjsthehardway.org Joined Jan, 1999.

\n

167 Following 10.4k Followers

\n
\n\n
\n\n \n {#each tweets as tweet}\n \n
\n \"Stock\n
\n \n

Zed A. Shaw, Writer

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam:
\n\n quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\n \n 2\n 1\n 12\n \n \n
\n \n
\n {/each}\n
\n
\n\n \n \n\n
\n \n\n \n\n \n\n \n
\n
\n
\n\n\n","\n\n\n\n\n\n
\n \n
\n
\n \n
\n \n \n \n
\n #tag #anothertag\n

Title And Stuff

\n \n Stats Stats\n \n 1.1K\n 22\n SHARE\n SAVE\n \n \n \n
\n
\n
\n \n \n\n \n Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur\n \n \n
\n\n \n \n\n {#each cards as card}\n \n \n \n

Guys

\n

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque

\n \n View replies\n
\n
\n {/each}\n
\n
\n\n \n {#each cards as card}\n \n \n \n

Video Thumb Title

\n Zed\n 1.1M views\n 2 years ago\n
\n
\n {/each}\n\n
\n \n \n \n
\n\n {#each cards as card}\n \n \n \n

Video Thumb Title

\n Zed\n 1.1M views\n 2 years ago\n
\n
\n {/each}\n
\n
\n
\n\n\n","\n\n\n\n\n\n
\n \n
\n\n \n
\n \"Zed's\n
\n\n \n

\n zedshaw \n

\n\n

\n 280 posts 4,695 followers 1,778 following\n

\n\n

Zed A. Shaw

\n

Painter in oil, watercolor, and pastel. I’m doing live streams of little paintings on Twitch:
\n www.twitch.tv/zedashaw\n

\n
\n
\n\n \n {#each pins as pin}\n
\n \"Stock\n
\n {/each}\n
\n\n \n \n \n\n \n {#each posts as post}\n
\n \"Stock\n
\n {/each}\n
\n
\n\n\n","\n\n\n\n\n\n\n
\n \n
\n\n {#if !thumbnail}\n \n \n

Vincent van Gogh

\n

Collection by A Person

\n

420 Pins • 3.59k Followers

\n

\"I dream my painting and I paint my dream.\" ~ Vincent van Gogh\n \n\n

\n \"Zed's\n
\n
\n\n \n {#each lanes as lane}\n \n {#each random_sample(pin_sizes, 10) as height}\n
\n \"Van\n
Something about Van Gogh {height} high.
\n
\n {/each}\n
\n {/each}\n
\n {/if}\n
\n\n\n","\n\n\n\n\n\n\n
\n \n
\n\n \n
\n \"Module\n
\n\n \n

\n \n

\n\n

\n 10 videos 4,695 followers\n

\n\n

Drawing Level 1

\n

The first module you should take. It covers the basics of drawing and how to get started\n making drawing a habit.\n

\n
\n
\n\n \n {#each related as pin}\n
\n \"Stock\n
\n {/each}\n
\n\n \n {#each posts as post}\n
\n \n \"Placeholder\"\n \n
\n {/each}\n
\n
\n\n\n","\n\n\n\n\n\n\n
\n \n
\n
\n
\n \n
\n #tag #anothertag\n

Title And Stuff

\n \n Likes Other Stats\n \n 1.1K\n 22\n SHARE\n SAVE\n \n \n \n
\n
\n \n \n \n\n \n Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur\n \n \n
\n\n \n \n\n {#each cards as card}\n \n \n \n

Guys

\n

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque

\n \n View replies\n
\n
\n {/each}\n
\n
\n
\n
\n\n\n","\n\n\n\n \n \n \n \n\n \n

\n Tile Example\n

\n

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

\n
\n\n \n \n \n \n
\n
\n\n\n","\n\n\n\n \n \n \n \n\n \n

\n Card Example\n

\n

Lorem ipsum dolor sit amet, consectetur\n adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

\n
\n\n \n \n \n \n
\n
\n\n\n","import { cubicInOut, linear, cubicOut } from '../easing/index.mjs';\nimport { is_function, assign } from '../internal/index.mjs';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\nfunction blur(node, { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const f = style.filter === 'none' ? '' : style.filter;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `opacity: ${target_opacity - (od * u)}; filter: ${f} blur(${u * amount}px);`\n };\n}\nfunction fade(node, { delay = 0, duration = 400, easing = linear }) {\n const o = +getComputedStyle(node).opacity;\n return {\n delay,\n duration,\n easing,\n css: t => `opacity: ${t * o}`\n };\n}\nfunction fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px);\n\t\t\topacity: ${target_opacity - (od * u)}`\n };\n}\nfunction slide(node, { delay = 0, duration = 400, easing = cubicOut }) {\n const style = getComputedStyle(node);\n const opacity = +style.opacity;\n const height = parseFloat(style.height);\n const padding_top = parseFloat(style.paddingTop);\n const padding_bottom = parseFloat(style.paddingBottom);\n const margin_top = parseFloat(style.marginTop);\n const margin_bottom = parseFloat(style.marginBottom);\n const border_top_width = parseFloat(style.borderTopWidth);\n const border_bottom_width = parseFloat(style.borderBottomWidth);\n return {\n delay,\n duration,\n easing,\n css: t => 'overflow: hidden;' +\n `opacity: ${Math.min(t * 20, 1) * opacity};` +\n `height: ${t * height}px;` +\n `padding-top: ${t * padding_top}px;` +\n `padding-bottom: ${t * padding_bottom}px;` +\n `margin-top: ${t * margin_top}px;` +\n `margin-bottom: ${t * margin_bottom}px;` +\n `border-top-width: ${t * border_top_width}px;` +\n `border-bottom-width: ${t * border_bottom_width}px;`\n };\n}\nfunction scale(node, { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 }) {\n const style = getComputedStyle(node);\n const target_opacity = +style.opacity;\n const transform = style.transform === 'none' ? '' : style.transform;\n const sd = 1 - start;\n const od = target_opacity * (1 - opacity);\n return {\n delay,\n duration,\n easing,\n css: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - (sd * u)});\n\t\t\topacity: ${target_opacity - (od * u)}\n\t\t`\n };\n}\nfunction draw(node, { delay = 0, speed, duration, easing = cubicInOut }) {\n const len = node.getTotalLength();\n if (duration === undefined) {\n if (speed === undefined) {\n duration = 800;\n }\n else {\n duration = len / speed;\n }\n }\n else if (typeof duration === 'function') {\n duration = duration(len);\n }\n return {\n delay,\n duration,\n easing,\n css: (t, u) => `stroke-dasharray: ${t * len} ${u * len}`\n };\n}\nfunction crossfade(_a) {\n var { fallback } = _a, defaults = __rest(_a, [\"fallback\"]);\n const to_receive = new Map();\n const to_send = new Map();\n function crossfade(from, node, params) {\n const { delay = 0, duration = d => Math.sqrt(d) * 30, easing = cubicOut } = assign(assign({}, defaults), params);\n const to = node.getBoundingClientRect();\n const dx = from.left - to.left;\n const dy = from.top - to.top;\n const dw = from.width / to.width;\n const dh = from.height / to.height;\n const d = Math.sqrt(dx * dx + dy * dy);\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n const opacity = +style.opacity;\n return {\n delay,\n duration: is_function(duration) ? duration(d) : duration,\n easing,\n css: (t, u) => `\n\t\t\t\topacity: ${t * opacity};\n\t\t\t\ttransform-origin: top left;\n\t\t\t\ttransform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh});\n\t\t\t`\n };\n }\n function transition(items, counterparts, intro) {\n return (node, params) => {\n items.set(params.key, {\n rect: node.getBoundingClientRect()\n });\n return () => {\n if (counterparts.has(params.key)) {\n const { rect } = counterparts.get(params.key);\n counterparts.delete(params.key);\n return crossfade(rect, node, params);\n }\n // if the node is disappearing altogether\n // (i.e. wasn't claimed by the other list)\n // then we need to supply an outro\n items.delete(params.key);\n return fallback && fallback(node, params, intro);\n };\n };\n }\n return [\n transition(to_send, to_receive, false),\n transition(to_receive, to_send, true)\n ];\n}\n\nexport { blur, crossfade, draw, fade, fly, scale, slide };\n","\n\n\n\n\n \n\n\n{#if visible}\n visible = false }>\n \n

This Is A Modal

\n

Designers love modals. Click anywhere to close this.

\n
\n
\n{/if}\n\n\n\n","\n\n\n\n\n

Basic Tabs

\n\n \n Tab1\n Tab2\n Tab3\n \n\n

Interactive Demo

\n \n {#each panels as panel, i}\n activate(i) }>{panel.title}\n {/each}\n \n \n {#each panels as panel, i}\n \n

{ panel.title }

\n

\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod\n tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim\n veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea\n commodo consequat. Duis aute irure dolor in reprehenderit in voluptate\n velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat\n cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est\n laborum.\n

\n
\n {/each}\n
\n
\n\n\n","\n\n\n\n \n December\n SunMonTueWedThuFriSat\n {#each make_dates() as date}\n {date}\n {/each}\n \n\n\n\n","\n\n\n\n\n

Carousel

\n\n \n {#each images as image}\n
\n \"Stock\n
Image #{image}
\n
\n {/each}\n \n \n
\n
\n\n\n\n","import Home from \"./Home.svelte\";\nimport Demos from \"./demos/index.svelte\";\nimport NotFound from \"./NotFound.svelte\";\nimport Google from \"./demos/Google.svelte\";\nimport Twitter from \"./demos/Twitter.svelte\";\nimport Youtube from \"./demos/Youtube.svelte\";\nimport Instagram from \"./demos/Instagram.svelte\";\nimport Pinterest from \"./demos/Pinterest.svelte\";\nimport XorAcademy from \"./demos/XorAcademy.svelte\";\nimport XorAcademyWatch from \"./demos/XorAcademyWatch.svelte\";\nimport Login from \"./demos/Login.svelte\";\nimport Tiles from \"./demos/Tiles.svelte\";\nimport Cards from \"./demos/Cards.svelte\";\nimport Panels from \"./demos/Panels.svelte\";\nimport Modal from \"./demos/Modal.svelte\";\nimport NavBar from \"./demos/NavBar.svelte\";\nimport Tabs from \"./demos/Tabs.svelte\";\nimport Calendar from \"./demos/Calendar.svelte\";\nimport Carousel from \"./demos/Carousel.svelte\";\nimport GridOverGraphic from \"./demos/GridOverGraphic.svelte\";\nimport FAQ from \"./FAQ.svelte\";\n\nexport default {\n \"/\": Home,\n \"/demos\": Demos,\n \"/faq\": FAQ,\n \"/demos/login\": Login,\n \"/demos/tiles\": Tiles,\n \"/demos/modal\": Modal,\n \"/demos/cards\": Cards,\n \"/demos/panels\": Panels,\n \"/demos/google\": Google,\n \"/demos/twitter\": Twitter,\n \"/demos/youtube\": Youtube,\n \"/demos/instagram\": Instagram,\n \"/demos/pinterest\": Pinterest,\n \"/demos/navbar\": NavBar,\n \"/demos/tabs\": Tabs,\n \"/demos/calendar\": Calendar,\n \"/demos/carousel\": Carousel,\n \"/demos/gridovergraphic\": GridOverGraphic,\n \"/demos/xoracademy\": XorAcademy,\n \"/demos/xoracademy/watch\": XorAcademyWatch,\n \"*\": NotFound,\n}\n","\n\n{#if theme == 'dark'}\n toggle() }>\n \n \n{:else}\n toggle() }>\n \n \n{/if}\n\n","\n\n\n\n
\n \n
\n\n
\n \n
\n\n
\n\n","import App from './App.svelte';\n\nconst app = new App({\n\ttarget: document.body,\n\tprops: {\n\t\tname: 'world'\n\t}\n});\n\nexport default app;"],"names":["wrap","_wrap","simpleSvgPlaceholder","global","Prism","linear","Login","Tiles","Cards","Panels","Google","Twitter","Youtube","Instagram","Pinterest","NavBar","Tabs","Calendar","Carousel","GridOverGraphic"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SCPjC,KAAK,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BCwGb,GAAI;;;;oCAAT,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAvGF,IAAI,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICJrB,SAAS,oBAAoB,CAAC;IAC9B,EAAE,KAAK,GAAG,GAAG;IACb,EAAE,MAAM,GAAG,GAAG;IACd,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7B,EAAE,UAAU,GAAG,YAAY;IAC3B,EAAE,UAAU,GAAG,MAAM;IACrB,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;IACtD,EAAE,EAAE,GAAG,QAAQ,GAAG,IAAI;IACtB,EAAE,OAAO,GAAG,MAAM;IAClB,EAAE,SAAS,GAAG,iBAAiB;IAC/B,EAAE,OAAO,GAAG,IAAI;IAChB,EAAE,OAAO,GAAG,OAAO;IACnB,CAAC,GAAG,EAAE,EAAE;IACR,EAAE,MAAM,GAAG,GAAG,CAAC,+CAA+C,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;AAC1H,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;AAC9D,gBAAgB,EAAE,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,uCAAuC,EAAE,IAAI,CAAC;AACrK,QAAQ,CAAC,CAAC;AACV;IACA;IACA,EAAE,MAAM,OAAO,GAAG,GAAG;IACrB,KAAK,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;IAC/B,KAAK,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;IAC3B,KAAK,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC5B;IACA,EAAE,IAAI,OAAO,EAAE;IACf,IAAI,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC;IAC/C,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;IAC5B,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7B;IACA,IAAI,OAAO,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,GAAG;AACH;IACA,EAAE,OAAO,OAAO,CAAC;IACjB,CAAC;AACD;IACA,0BAAc,GAAG,oBAAoB;;ICjCrC,MAAM,QAAQ,GAAG;IACjB,EAAE,OAAO,EAAE,MAAM;IACjB,EAAE,SAAS,EAAE,MAAM;IACnB,EAAC;AACD;IACO,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,KAAKC,sBAAoB,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCCuCvE,MAAM,CAAC,EAAE,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IC7C9B;IACA;IACA;AACA;IACA;AACA;IACA,IAAI,KAAK,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW;IAC1C,GAAG,MAAM;IACT;IACA,EAAE,CAAC,OAAO,iBAAiB,KAAK,WAAW,IAAI,IAAI,YAAY,iBAAiB;IAChF,IAAI,IAAI;IACR,IAAI,EAAE;IACN,EAAE,CAAC;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAI,KAAK,GAAG,CAAC,UAAU,KAAK,CAAC;AAC7B;IACA;IACA,IAAI,IAAI,GAAG,6BAA6B,CAAC;IACzC,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB;AACA;IACA,IAAI,CAAC,GAAG;IACR;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM;IAC1C,CAAC,2BAA2B,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,2BAA2B;AACpF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,EAAE;IACP,EAAE,MAAM,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE;IAClC,GAAG,IAAI,MAAM,YAAY,KAAK,EAAE;IAChC,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACxE,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;IACrC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,MAAM;IACV,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACvF,IAAI;IACJ,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE;IACrB,GAAG,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzD,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE;IACxB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;IACrB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,IAAI;IACJ,GAAG,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,KAAK,EAAE,SAAS,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE;IACxC,GAAG,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC3B;IACA,GAAG,IAAI,KAAK,EAAE,EAAE,CAAC;IACjB,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzB,IAAI,KAAK,QAAQ;IACjB,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE;IACtB,MAAM,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;IACzB,MAAM;IACN,KAAK,KAAK,uCAAuC,EAAE,CAAC,CAAC;IACrD,KAAK,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;AACzB;IACA,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC,EAAE;IACxB,MAAM,IAAI,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;IACjC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO;IACP,MAAM;AACN;IACA,KAAK,2BAA2B,KAAK,EAAE;AACvC;IACA,IAAI,KAAK,OAAO;IAChB,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE;IACtB,MAAM,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;IACzB,MAAM;IACN,KAAK,KAAK,GAAG,EAAE,CAAC;IAChB,KAAK,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;AACzB;IACA,KAAK,yCAAyC,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;IAC3E,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,CAAC,CAAC;AACR;IACA,KAAK,2BAA2B,KAAK,EAAE;AACvC;IACA,IAAI;IACJ,KAAK,OAAO,CAAC,CAAC;IACd,IAAI;IACJ,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,WAAW,EAAE,UAAU,OAAO,EAAE;IAClC,GAAG,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;IACpD,IAAI,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACpC,IAAI;IACJ,GAAG,IAAI,OAAO,EAAE;IAChB,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1E,IAAI;IACJ,GAAG,OAAO,MAAM,CAAC;IACjB,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,aAAa,EAAE,YAAY;IAC7B,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;IACxC,IAAI,OAAO,IAAI,CAAC;IAChB,IAAI;IACJ,GAAG,IAAI,eAAe,IAAI,QAAQ,IAAI,CAAC,GAAG,CAAC,uCAAuC;IAClF,IAAI,2BAA2B,QAAQ,CAAC,aAAa,EAAE;IACvD,IAAI;AACJ;IACA;IACA;IACA;AACA;IACA,GAAG,IAAI;IACP,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;IACtB,IAAI,CAAC,OAAO,GAAG,EAAE;IACjB;IACA;IACA;IACA;IACA;IACA;AACA;IACA,IAAI,IAAI,GAAG,GAAG,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACxE,IAAI,IAAI,GAAG,EAAE;IACb,KAAK,IAAI,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC3D,KAAK,KAAK,IAAI,CAAC,IAAI,OAAO,EAAE;IAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE;IACjC,OAAO,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,OAAO;IACP,MAAM;IACN,KAAK;IACL,IAAI,OAAO,IAAI,CAAC;IAChB,IAAI;IACJ,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,QAAQ,EAAE,UAAU,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE;IAC7D,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC;AAC9B;IACA,GAAG,OAAO,OAAO,EAAE;IACnB,IAAI,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACtC,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;IACvC,KAAK,OAAO,IAAI,CAAC;IACjB,KAAK;IACL,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;IAChC,KAAK,OAAO,KAAK,CAAC;IAClB,KAAK;IACL,IAAI,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACpC,IAAI;IACJ,GAAG,OAAO,CAAC,CAAC,iBAAiB,CAAC;IAC9B,GAAG;IACH,EAAE;AACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,SAAS,EAAE;IACZ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE;IAC/B,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C;IACA,GAAG,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;IAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI;AACJ;IACA,GAAG,OAAO,IAAI,CAAC;IACf,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,YAAY,EAAE,UAAU,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;IACxD,GAAG,IAAI,GAAG,IAAI,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC;IACnD,GAAG,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B;IACA,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;AAChB;IACA,GAAG,KAAK,IAAI,KAAK,IAAI,OAAO,EAAE;IAC9B,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;AACvC;IACA,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;IAC1B,MAAM,KAAK,IAAI,QAAQ,IAAI,MAAM,EAAE;IACnC,OAAO,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;IAC5C,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,QAAQ;IACR,OAAO;IACP,MAAM;AACN;IACA;IACA,KAAK,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;IACxC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM;IACN,KAAK;IACL,IAAI;AACJ;IACA,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;AACtB;IACA;IACA,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,EAAE,KAAK,EAAE;IACrD,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,IAAI,MAAM,EAAE;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACrB,KAAK;IACL,IAAI,CAAC,CAAC;AACN;IACA,GAAG,OAAO,GAAG,CAAC;IACd,GAAG;AACH;IACA;IACA,EAAE,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;IAChD,GAAG,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AAC3B;IACA,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B;IACA,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;IACpB,IAAI,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;IAC7B,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;AAC1C;IACA,KAAK,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,SAAS,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9C;IACA,KAAK,IAAI,YAAY,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;IACjE,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM;IACN,UAAU,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;IACrE,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM;IACN,KAAK;IACL,IAAI;IACJ,GAAG;IACH,EAAE;AACF;IACA,CAAC,OAAO,EAAE,EAAE;AACZ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,YAAY,EAAE,SAAS,KAAK,EAAE,QAAQ,EAAE;IACzC,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACjD,EAAE;AACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,iBAAiB,EAAE,SAAS,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;IACzD,EAAE,IAAI,GAAG,GAAG;IACZ,GAAG,QAAQ,EAAE,QAAQ;IACrB,GAAG,SAAS,EAAE,SAAS;IACvB,GAAG,QAAQ,EAAE,kGAAkG;IAC/G,GAAG,CAAC;AACJ;IACA,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;AAC1C;IACA,EAAE,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3F;IACA,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;AACpD;IACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG;IACzD,GAAG,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,KAAK,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7D,GAAG;IACH,EAAE;AACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,gBAAgB,EAAE,SAAS,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;IACtD;IACA,EAAE,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7C,EAAE,IAAI,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtC;IACA;IACA,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC;AACzG;IACA;IACA,EAAE,IAAI,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IACrC,EAAE,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;IACzD,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC;IACxG,GAAG;AACH;IACA,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;AACjC;IACA,EAAE,IAAI,GAAG,GAAG;IACZ,GAAG,OAAO,EAAE,OAAO;IACnB,GAAG,QAAQ,EAAE,QAAQ;IACrB,GAAG,OAAO,EAAE,OAAO;IACnB,GAAG,IAAI,EAAE,IAAI;IACb,GAAG,CAAC;AACJ;IACA,EAAE,SAAS,qBAAqB,CAAC,eAAe,EAAE;IAClD,GAAG,GAAG,CAAC,eAAe,GAAG,eAAe,CAAC;AACzC;IACA,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AACrC;IACA,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC;AAC/C;IACA,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACvC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAChC,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,GAAG;AACH;IACA,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;AAC1C;IACA,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;IACjB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAChC,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,GAAG,OAAO;IACV,GAAG;AACH;IACA,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AACvC;IACA,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;IACpB,GAAG,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,GAAG,OAAO;IACV,GAAG;AACH;IACA,EAAE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;IAC7B,GAAG,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACvC;IACA,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,GAAG,EAAE;IACpC,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC;AACL;IACA,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;IACrC,IAAI,QAAQ,EAAE,GAAG,CAAC,QAAQ;IAC1B,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI;IAClB,IAAI,cAAc,EAAE,IAAI;IACxB,IAAI,CAAC,CAAC,CAAC;IACP,GAAG;IACH,OAAO;IACP,GAAG,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,GAAG;IACH,EAAE;AACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC/C,EAAE,IAAI,GAAG,GAAG;IACZ,GAAG,IAAI,EAAE,IAAI;IACb,GAAG,OAAO,EAAE,OAAO;IACnB,GAAG,QAAQ,EAAE,QAAQ;IACrB,GAAG,CAAC;IACJ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACtC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACrC,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClE,EAAE;AACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,OAAO,EAAE;IACnC,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,EAAE,IAAI,IAAI,EAAE;IACZ,GAAG,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;IAC3B,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI;AACJ;IACA,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC;IACvB,GAAG;AACH;IACA,EAAE,IAAI,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;IACnC,EAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5C;IACA,EAAE,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5D;IACA,EAAE,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,EAAE;AACF;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,KAAK,EAAE;IACR,EAAE,GAAG,EAAE,EAAE;AACT;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,GAAG,EAAE,UAAU,IAAI,EAAE,QAAQ,EAAE;IACjC,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3B;IACA,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACnC;IACA,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,GAAG;AACH;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,GAAG,EAAE,UAAU,IAAI,EAAE,GAAG,EAAE;IAC5B,GAAG,IAAI,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrC;IACA,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;IACxC,IAAI,OAAO;IACX,IAAI;AACJ;IACA,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG;IACvD,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI;IACJ,GAAG;IACH,EAAE;AACF;IACA,CAAC,KAAK,EAAE,KAAK;IACb,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AAChB;AACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,SAAS,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;IACjD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB;IACA,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC;IAC7C,CAAC;AACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,KAAK,CAAC,SAAS,GAAG,SAAS,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE;IAClD,CAAC,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;IAC3B,EAAE,OAAO,CAAC,CAAC;IACX,EAAE;IACF,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;IACvB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;IACzB,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/B,GAAG,CAAC,CAAC;IACL,EAAE,OAAO,CAAC,CAAC;IACX,EAAE;AACF;IACA,CAAC,IAAI,GAAG,GAAG;IACX,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;IACd,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC;IACzC,EAAE,GAAG,EAAE,MAAM;IACb,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5B,EAAE,UAAU,EAAE,EAAE;IAChB,EAAE,QAAQ,EAAE,QAAQ;IACpB,EAAE,CAAC;AACH;IACA,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;IACvB,CAAC,IAAI,OAAO,EAAE;IACd,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;IAC9B,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,GAAG,MAAM;IACT,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,GAAG;IACH,EAAE;AACF;IACA,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1B;IACA,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;IACrB,CAAC,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE;IAClC,EAAE,UAAU,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC;IAC/F,EAAE;AACF;IACA,CAAC,OAAO,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IACzH,CAAC,CAAC;AACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,SAAS,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;IAC9E,CAAC,KAAK,IAAI,KAAK,IAAI,OAAO,EAAE;IAC5B,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;IACzD,GAAG,SAAS;IACZ,GAAG;AACH;IACA,EAAE,IAAI,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,EAAE,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7D;IACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;IAC5C,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,EAAE;IACpD,IAAI,OAAO;IACX,IAAI;AACJ;IACA,GAAG,IAAI,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC/B,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM;IAC9B,IAAI,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU;IACxC,IAAI,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM;IAChC,IAAI,gBAAgB,GAAG,CAAC;IACxB,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;AAC7B;IACA,GAAG,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE;IAC7C;IACA,IAAI,IAAI,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;IACxE,IAAI;AACJ;IACA;IACA,GAAG,IAAI,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC;AAClD;IACA,GAAG;IACH,IAAI,IAAI,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,QAAQ;IACpD,IAAI,WAAW,KAAK,SAAS,CAAC,IAAI;IAClC,IAAI,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC,IAAI;IACnE,KAAK;AACL;IACA,IAAI,IAAI,OAAO,IAAI,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE;IACzC,KAAK,MAAM;IACX,KAAK;AACL;IACA,IAAI,IAAI,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC;AAChC;IACA,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;IACxC;IACA,KAAK,OAAO;IACZ,KAAK;AACL;IACA,IAAI,IAAI,GAAG,YAAY,KAAK,EAAE;IAC9B,KAAK,SAAS;IACd,KAAK;AACL;IACA,IAAI,IAAI,WAAW,GAAG,CAAC,CAAC;AACxB;IACA,IAAI,IAAI,MAAM,IAAI,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;IACtD,KAAK,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,KAAK,EAAE;IACjB,MAAM,MAAM;IACZ,MAAM;AACN;IACA,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,IAAI,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7E,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC;AACjB;IACA;IACA,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;IACnC,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE;IACvB,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;IACrC,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;IACpC,MAAM;IACN;IACA,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;IACnC,KAAK,GAAG,GAAG,CAAC,CAAC;AACb;IACA;IACA,KAAK,IAAI,WAAW,CAAC,KAAK,YAAY,KAAK,EAAE;IAC7C,MAAM,SAAS;IACf,MAAM;AACN;IACA;IACA,KAAK;IACL,MAAM,IAAI,CAAC,GAAG,WAAW;IACzB,MAAM,CAAC,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC;IACrE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI;IAChB,OAAO;IACP,MAAM,WAAW,EAAE,CAAC;IACpB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1B,MAAM;IACN,KAAK,WAAW,EAAE,CAAC;AACnB;IACA;IACA,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9B,KAAK,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC;IACxB,KAAK,MAAM;IACX,KAAK,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;AAC3B;IACA,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,KAAK;AACL;IACA,IAAI,IAAI,CAAC,KAAK,EAAE;IAChB,KAAK,SAAS;IACd,KAAK;AACL;IACA,IAAI,IAAI,UAAU,EAAE;IACpB,KAAK,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,KAAK;AACL;IACA,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,gBAAgB;IAC7C,KAAK,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAChD,KAAK,EAAE,GAAG,IAAI,GAAG,QAAQ,CAAC,MAAM;IAChC,KAAK,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;IAChC,KAAK,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC3B;IACA,IAAI,IAAI,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;IACjC,IAAI,IAAI,OAAO,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE;IAC1C,KAAK,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,KAAK;AACL;IACA,IAAI,IAAI,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;AACtC;IACA,IAAI,IAAI,MAAM,EAAE;IAChB,KAAK,UAAU,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1D,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC;IAC1B,KAAK;AACL;IACA,IAAI,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AACpD;IACA,IAAI,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtG,IAAI,WAAW,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAC3D;IACA,IAAI,IAAI,KAAK,EAAE;IACf,KAAK,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,KAAK;AACL;IACA,IAAI,IAAI,WAAW,GAAG,CAAC,EAAE;IACzB;IACA;IACA,KAAK,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE;IACnE,MAAM,KAAK,EAAE,KAAK,GAAG,GAAG,GAAG,CAAC;IAC5B,MAAM,KAAK,EAAE,KAAK;IAClB,MAAM,CAAC,CAAC;IACR,KAAK;IACL,IAAI;IACJ,GAAG;IACH,EAAE;IACF,CAAC;AACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA,SAAS,UAAU,GAAG;IACtB;IACA,CAAC,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpD;IACA,CAAC,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpD,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAClB;IACA;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB;IACA,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACjB,CAAC;AACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,SAAS,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;IACrC;IACA,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACtB;IACA,CAAC,IAAI,OAAO,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACrB,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACrB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AACf;IACA,CAAC,OAAO,OAAO,CAAC;IAChB,CAAC;IACD;IACA;IACA;IACA;IACA;IACA;IACA;IACA,SAAS,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;IACxC,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACtB,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;IACvD,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnB,EAAE;IACF,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAClB,CAAC;IACD;IACA;IACA;IACA;IACA;IACA,SAAS,OAAO,CAAC,IAAI,EAAE;IACvB,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;IAChB,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3B,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE;IAC5B,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnB,EAAE;IACF,CAAC,OAAO,KAAK,CAAC;IACd,CAAC;AACD;AACA;IACA,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;IACrB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;IAC9B;IACA,EAAE,OAAO,CAAC,CAAC;IACX,EAAE;AACF;IACA,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B,EAAE;IACrC;IACA,EAAE,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,GAAG,EAAE;IACnD,GAAG,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IACrC,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ;IAC3B,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI;IACvB,IAAI,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;AAC5C;IACA,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACjE,GAAG,IAAI,cAAc,EAAE;IACvB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;IAClB,IAAI;IACJ,GAAG,EAAE,KAAK,CAAC,CAAC;IACZ,EAAE;AACF;IACA,CAAC,OAAO,CAAC,CAAC;IACV,CAAC;AACD;IACA;IACA,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AACpC;IACA,IAAI,MAAM,EAAE;IACZ,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;AACzB;IACA,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;IACzC,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;IAClB,EAAE;IACF,CAAC;AACD;IACA,SAAS,8BAA8B,GAAG;IAC1C,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;IAChB,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;IACnB,EAAE;IACF,CAAC;AACD;IACA,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;IACf;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,IAAI,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACtC,CAAC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,aAAa,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE;IACzF,EAAE,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,CAAC;IAChF,EAAE,MAAM;IACR,EAAE,IAAI,MAAM,CAAC,qBAAqB,EAAE;IACpC,GAAG,MAAM,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC;IAChE,GAAG,MAAM;IACT,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;IACzD,GAAG;IACH,EAAE;IACF,CAAC;AACD;IACA,OAAO,CAAC,CAAC;AACT;IACA,CAAC,EAAE,KAAK,CAAC,CAAC;AACV;IACA,KAAqC,MAAM,CAAC,OAAO,EAAE;IACrD,CAAC,cAAc,GAAG,KAAK,CAAC;IACxB,CAAC;AACD;IACA;IACA,IAAI,OAAOC,cAAM,KAAK,WAAW,EAAE;IACnC,CAACA,cAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,CAAC;AACD;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AACA;AACA;IACA;IACA;IACA;AACA;IACA,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG;IACzB,CAAC,SAAS,EAAE,iBAAiB;IAC7B,CAAC,QAAQ,EAAE,gBAAgB;IAC3B,CAAC,SAAS,EAAE;IACZ;IACA,EAAE,OAAO,EAAE,sHAAsH;IACjI,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,MAAM,EAAE;IACV,GAAG,iBAAiB,EAAE;IACtB,IAAI,OAAO,EAAE,qBAAqB;IAClC,IAAI,UAAU,EAAE,IAAI;IACpB,IAAI,MAAM,EAAE,IAAI;IAChB,IAAI,MAAM,EAAE,IAAI;IAChB,IAAI;IACJ,GAAG,QAAQ,EAAE;IACb,IAAI,OAAO,EAAE,iBAAiB;IAC9B,IAAI,MAAM,EAAE,IAAI;IAChB,IAAI;IACJ,GAAG,aAAa,EAAE,cAAc;IAChC,GAAG,aAAa,EAAE,UAAU;IAC5B,GAAG,MAAM,EAAE,YAAY;IACvB,GAAG;IACH,EAAE;IACF,CAAC,OAAO,EAAE,yBAAyB;IACnC,CAAC,KAAK,EAAE;IACR,EAAE,OAAO,EAAE,sHAAsH;IACjI,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,MAAM,EAAE;IACV,GAAG,KAAK,EAAE;IACV,IAAI,OAAO,EAAE,gBAAgB;IAC7B,IAAI,MAAM,EAAE;IACZ,KAAK,aAAa,EAAE,OAAO;IAC3B,KAAK,WAAW,EAAE,cAAc;IAChC,KAAK;IACL,IAAI;IACJ,GAAG,YAAY,EAAE;IACjB,IAAI,OAAO,EAAE,oCAAoC;IACjD,IAAI,MAAM,EAAE;IACZ,KAAK,aAAa,EAAE;IACpB,MAAM;IACN,OAAO,OAAO,EAAE,IAAI;IACpB,OAAO,KAAK,EAAE,aAAa;IAC3B,OAAO;IACP,MAAM,KAAK;IACX,MAAM;IACN,KAAK;IACL,IAAI;IACJ,GAAG,aAAa,EAAE,MAAM;IACxB,GAAG,WAAW,EAAE;IAChB,IAAI,OAAO,EAAE,WAAW;IACxB,IAAI,MAAM,EAAE;IACZ,KAAK,WAAW,EAAE,cAAc;IAChC,KAAK;IACL,IAAI;AACJ;IACA,GAAG;IACH,EAAE;IACF,CAAC,QAAQ,EAAE;IACX,EAAE;IACF,GAAG,OAAO,EAAE,iBAAiB;IAC7B,GAAG,KAAK,EAAE,cAAc;IACxB,GAAG;IACH,EAAE,oBAAoB;IACtB,EAAE;IACF,CAAC,CAAC;AACF;IACA,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;AAC5F;IACA;IACA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,EAAE;AACvC;IACA,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;IAC5B,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9D,EAAE;IACF,CAAC,CAAC,CAAC;AACH;IACA,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE;IAChE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,KAAK,EAAE,SAAS,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,EAAE,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAC/B,EAAE,mBAAmB,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG;IAC5C,GAAG,OAAO,EAAE,mCAAmC;IAC/C,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IAChC,GAAG,CAAC;IACJ,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAC;AACxD;IACA,EAAE,IAAI,MAAM,GAAG;IACf,GAAG,gBAAgB,EAAE;IACrB,IAAI,OAAO,EAAE,2BAA2B;IACxC,IAAI,MAAM,EAAE,mBAAmB;IAC/B,IAAI;IACJ,GAAG,CAAC;IACJ,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG;IAC/B,GAAG,OAAO,EAAE,SAAS;IACrB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IAChC,GAAG,CAAC;AACJ;IACA,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;IACf,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG;IACjB,GAAG,OAAO,EAAE,MAAM,CAAC,0FAA0F,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IAC1K,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,IAAI;IACf,GAAG,MAAM,EAAE,MAAM;IACjB,GAAG,CAAC;AACJ;IACA,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACvD,EAAE;IACF,CAAC,CAAC,CAAC;AACH;IACA,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;IAC9C,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;IAChD,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;AAC7C;IACA,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;IAC3C,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;IAC3C,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;AAC1C;AACA;IACA;IACA;IACA;AACA;IACA,CAAC,UAAU,KAAK,EAAE;AAClB;IACA,CAAC,IAAI,MAAM,GAAG,+CAA+C,CAAC;AAC9D;IACA,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG;IACvB,EAAE,SAAS,EAAE,kBAAkB;IAC/B,EAAE,QAAQ,EAAE;IACZ,GAAG,OAAO,EAAE,gCAAgC;IAC5C,GAAG,MAAM,EAAE;IACX,IAAI,MAAM,EAAE,UAAU;IACtB,IAAI,4BAA4B,EAAE;IAClC,KAAK,OAAO,EAAE,6EAA6E;IAC3F,KAAK,UAAU,EAAE,IAAI;IACrB,KAAK,KAAK,EAAE,UAAU;IACtB,KAAK;IACL,IAAI,SAAS,EAAE;IACf,KAAK,OAAO,EAAE,wCAAwC;IACtD,KAAK,UAAU,EAAE,IAAI;IACrB,KAAK;IACL;IACA,IAAI;IACJ,GAAG;IACH,EAAE,KAAK,EAAE;IACT;IACA,GAAG,OAAO,EAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,6BAA6B,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC;IAC7G,GAAG,MAAM,EAAE,IAAI;IACf,GAAG,MAAM,EAAE;IACX,IAAI,UAAU,EAAE,OAAO;IACvB,IAAI,aAAa,EAAE,SAAS;IAC5B,IAAI,QAAQ,EAAE;IACd,KAAK,OAAO,EAAE,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;IAC/C,KAAK,KAAK,EAAE,KAAK;IACjB,KAAK;IACL,IAAI;IACJ,GAAG;IACH,EAAE,UAAU,EAAE,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC;IAChF,EAAE,QAAQ,EAAE;IACZ,GAAG,OAAO,EAAE,MAAM;IAClB,GAAG,MAAM,EAAE,IAAI;IACf,GAAG;IACH,EAAE,UAAU,EAAE,8CAA8C;IAC5D,EAAE,WAAW,EAAE,eAAe;IAC9B,EAAE,UAAU,EAAE,mBAAmB;IACjC,EAAE,aAAa,EAAE,WAAW;IAC5B,EAAE,CAAC;AACH;IACA,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;AACjE;IACA,CAAC,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;IACrC,CAAC,IAAI,MAAM,EAAE;IACb,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACxC;IACA,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE;IACvD,GAAG,YAAY,EAAE;IACjB,IAAI,OAAO,EAAE,4CAA4C;IACzD,IAAI,MAAM,EAAE;IACZ,KAAK,WAAW,EAAE;IAClB,MAAM,OAAO,EAAE,YAAY;IAC3B,MAAM,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM;IAC/B,MAAM;IACN,KAAK,aAAa,EAAE,uBAAuB;IAC3C,KAAK,YAAY,EAAE;IACnB,MAAM,OAAO,EAAE,KAAK;IACpB,MAAM,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG;IACjC,MAAM;IACN,KAAK;IACL,IAAI,KAAK,EAAE,cAAc;IACzB,IAAI;IACJ,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACjB,EAAE;AACF;IACA,CAAC,CAAC,KAAK,CAAC,EAAE;AACV;AACA;IACA;IACA;IACA;AACA;IACA,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG;IACxB,CAAC,SAAS,EAAE;IACZ,EAAE;IACF,GAAG,OAAO,EAAE,iCAAiC;IAC7C,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG;IACH,EAAE;IACF,GAAG,OAAO,EAAE,kBAAkB;IAC9B,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,IAAI;IACf,GAAG;IACH,EAAE;IACF,CAAC,QAAQ,EAAE;IACX,EAAE,OAAO,EAAE,gDAAgD;IAC3D,EAAE,MAAM,EAAE,IAAI;IACd,EAAE;IACF,CAAC,YAAY,EAAE;IACf,EAAE,OAAO,EAAE,0FAA0F;IACrG,EAAE,UAAU,EAAE,IAAI;IAClB,EAAE,MAAM,EAAE;IACV,GAAG,aAAa,EAAE,OAAO;IACzB,GAAG;IACH,EAAE;IACF,CAAC,SAAS,EAAE,4GAA4G;IACxH,CAAC,SAAS,EAAE,oBAAoB;IAChC,CAAC,UAAU,EAAE,WAAW;IACxB,CAAC,QAAQ,EAAE,uDAAuD;IAClE,CAAC,UAAU,EAAE,8CAA8C;IAC3D,CAAC,aAAa,EAAE,eAAe;IAC/B,CAAC,CAAC;AACF;AACA;IACA;IACA;IACA;AACA;IACA,KAAK,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE;IAC7D,CAAC,YAAY,EAAE;IACf,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;IACrC,EAAE;IACF,GAAG,OAAO,EAAE,yFAAyF;IACrG,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG;IACH,EAAE;IACF,CAAC,SAAS,EAAE;IACZ,EAAE;IACF,GAAG,OAAO,EAAE,iCAAiC;IAC7C,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG;IACH,EAAE;IACF,GAAG,OAAO,EAAE,mZAAmZ;IAC/Z,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG;IACH,EAAE;IACF,CAAC,QAAQ,EAAE,+NAA+N;IAC1O;IACA,CAAC,UAAU,EAAE,mFAAmF;IAChG,CAAC,UAAU,EAAE,2FAA2F;IACxG,CAAC,CAAC,CAAC;AACH;IACA,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,sEAAsE,CAAC;AAC7H;IACA,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,EAAE;IACtD,CAAC,OAAO,EAAE;IACV,EAAE,OAAO,EAAE,sLAAsL;IACjM,EAAE,UAAU,EAAE,IAAI;IAClB,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,MAAM,EAAE;IACV,GAAG,cAAc,EAAE;IACnB,IAAI,OAAO,EAAE,2BAA2B;IACxC,IAAI,UAAU,EAAE,IAAI;IACpB,IAAI,KAAK,EAAE,gBAAgB;IAC3B,IAAI,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;IACjC,IAAI;IACJ,GAAG,aAAa,EAAE,SAAS;IAC3B,GAAG,iBAAiB,EAAE,SAAS;IAC/B,GAAG;IACH,EAAE;IACF;IACA,CAAC,mBAAmB,EAAE;IACtB,EAAE,OAAO,EAAE,+JAA+J;IAC1K,EAAE,KAAK,EAAE,UAAU;IACnB,EAAE;IACF,CAAC,WAAW,EAAE;IACd,EAAE;IACF,GAAG,OAAO,EAAE,uGAAuG;IACnH,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;IACrC,GAAG;IACH,EAAE;IACF,GAAG,OAAO,EAAE,+CAA+C;IAC3D,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;IACrC,GAAG;IACH,EAAE;IACF,GAAG,OAAO,EAAE,mDAAmD;IAC/D,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;IACrC,GAAG;IACH,EAAE;IACF,GAAG,OAAO,EAAE,+cAA+c;IAC3d,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;IACrC,GAAG;IACH,EAAE;IACF,CAAC,UAAU,EAAE,2BAA2B;IACxC,CAAC,CAAC,CAAC;AACH;IACA,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,EAAE;IACrD,CAAC,iBAAiB,EAAE;IACpB,EAAE,OAAO,EAAE,mEAAmE;IAC9E,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,MAAM,EAAE;IACV,GAAG,sBAAsB,EAAE;IAC3B,IAAI,OAAO,EAAE,OAAO;IACpB,IAAI,KAAK,EAAE,QAAQ;IACnB,IAAI;IACJ,GAAG,eAAe,EAAE;IACpB,IAAI,OAAO,EAAE,4DAA4D;IACzE,IAAI,UAAU,EAAE,IAAI;IACpB,IAAI,MAAM,EAAE;IACZ,KAAK,2BAA2B,EAAE;IAClC,MAAM,OAAO,EAAE,SAAS;IACxB,MAAM,KAAK,EAAE,aAAa;IAC1B,MAAM;IACN,KAAK,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU;IACrC,KAAK;IACL,IAAI;IACJ,GAAG,QAAQ,EAAE,SAAS;IACtB,GAAG;IACH,EAAE;IACF,CAAC,CAAC,CAAC;AACH;IACA,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE;IAC5B,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;AACD;IACA,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC;AAChD;AACA;IACA;IACA;IACA;AACA;IACA,CAAC,YAAY;IACb,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;IACnE,EAAE,OAAO;IACT,EAAE;AACF;IACA,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC1B;IACA,CAAC,IAAI,eAAe,GAAG,UAAU,CAAC;IAClC,CAAC,IAAI,eAAe,GAAG,UAAU,MAAM,EAAE,OAAO,EAAE;IAClD,EAAE,OAAO,UAAU,GAAG,MAAM,GAAG,wBAAwB,GAAG,OAAO,CAAC;IAClE,EAAE,CAAC;IACH,CAAC,IAAI,qBAAqB,GAAG,0CAA0C,CAAC;AACxE;IACA,CAAC,IAAI,UAAU,GAAG;IAClB,EAAE,IAAI,EAAE,YAAY;IACpB,EAAE,IAAI,EAAE,QAAQ;IAChB,EAAE,IAAI,EAAE,MAAM;IACd,EAAE,KAAK,EAAE,YAAY;IACrB,EAAE,MAAM,EAAE,YAAY;IACtB,EAAE,IAAI,EAAE,MAAM;IACd,EAAE,KAAK,EAAE,OAAO;IAChB,EAAE,GAAG,EAAE,GAAG;IACV,EAAE,KAAK,EAAE,OAAO;IAChB,EAAE,CAAC;AACH;IACA,CAAC,IAAI,WAAW,GAAG,iBAAiB,CAAC;IACrC,CAAC,IAAI,cAAc,GAAG,SAAS,CAAC;IAChC,CAAC,IAAI,aAAa,GAAG,QAAQ,CAAC;IAC9B,CAAC,IAAI,aAAa,GAAG,QAAQ,CAAC;AAC9B;IACA,CAAC,IAAI,QAAQ,GAAG,qBAAqB,GAAG,WAAW,GAAG,IAAI,GAAG,aAAa,GAAG,KAAK;IAClF,IAAI,QAAQ,GAAG,WAAW,GAAG,IAAI,GAAG,cAAc,GAAG,KAAK,CAAC;AAC3D;IACA,CAAC,IAAI,IAAI,GAAG,6BAA6B,CAAC;AAC1C;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,CAAC,SAAS,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE;IAC9C,EAAE,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,EAAE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,YAAY,GAAG,QAAQ,CAAC;IACrE,EAAE,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,EAAE;AACF;AACA;IACA,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,GAAG,EAAE;IACvD,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI,GAAG,QAAQ,CAAC;IAClC,EAAE,CAAC,CAAC;AACJ;IACA,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,GAAG,EAAE;IACvD,EAAE,IAAI,GAAG,kCAAkC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxD,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;IAC7B,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;AACjB;IACA,GAAG,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACjD;IACA;IACA,GAAG,IAAI,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;AACtC;IACA,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAC1C;IACA,GAAG,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC/B,GAAG,IAAI,QAAQ,KAAK,MAAM,EAAE;IAC5B;IACA;IACA,IAAI,IAAI,SAAS,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;IAClD,IAAI;AACJ;IACA;IACA,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpC,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACnC;IACA;IACA,GAAG,IAAI,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;IAC7C,GAAG,IAAI,UAAU,EAAE;IACnB,IAAI,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI;AACJ;IACA;IACA,GAAG,IAAI,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;IAClC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9B,GAAG,GAAG,CAAC,kBAAkB,GAAG,YAAY;IACxC,IAAI,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE;IAC7B,KAAK,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE;IAC/C;IACA,MAAM,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACnD;IACA;IACA,MAAM,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC;IAC1C,MAAM,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACnC;IACA,MAAM,MAAM;IACZ;IACA,MAAM,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACnD;IACA,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;IAC7B,OAAO,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACtE,OAAO,MAAM;IACb,OAAO,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC;IAChD,OAAO;IACP,MAAM;IACN,KAAK;IACL,IAAI,CAAC;IACL,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,GAAG;IACH,EAAE,CAAC,CAAC;AACJ;IACA,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG;IAC/B;IACA;IACA;IACA;IACA;IACA;IACA;IACA,EAAE,SAAS,EAAE,SAAS,SAAS,CAAC,SAAS,EAAE;IAC3C,GAAG,IAAI,QAAQ,GAAG,CAAC,SAAS,IAAI,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACrE;IACA,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG;IACtD,IAAI,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI;IACJ,GAAG;IACH,EAAE,CAAC;AACH;IACA,CAAC,IAAI,MAAM,GAAG,KAAK,CAAC;IACpB;IACA,CAAC,KAAK,CAAC,aAAa,GAAG,YAAY;IACnC,EAAE,IAAI,CAAC,MAAM,EAAE;IACf,GAAG,OAAO,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;IAC3G,GAAG,MAAM,GAAG,IAAI,CAAC;IACjB,GAAG;IACH,EAAE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,GAAE;AACF;IACA,CAAC,GAAG;;;IC7pDJ,MAAM,MAAM,GAAG,+CAA+C,CAAC;AAC/D;IACA,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;IAC1D,CAAC,IAAI,EAAE;IACP,EAAE,OAAO,EAAE,IAAI,MAAM;IACrB,GAAG,WAAW;IACd,IAAI,+DAA+D;IACnE,GAAG;IACH,EAAE,MAAM,EAAE;IACV,GAAG,qBAAqB,EAAE;IAC1B,IAAI;IACJ,KAAK,OAAO,EAAE,iCAAiC;IAC/C,KAAK,UAAU,EAAE,IAAI;IACrB,KAAK,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IAC1C,KAAK;IACL,IAAI;IACJ,KAAK,OAAO,EAAE,yBAAyB;IACvC,KAAK,UAAU,EAAE,IAAI;IACrB,KAAK,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IAC1C,KAAK;IACL,IAAI;IACJ,KAAK,OAAO,EAAE,2BAA2B;IACzC,KAAK,UAAU,EAAE,IAAI;IACrB,KAAK,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IAC1C,KAAK;IACL,IAAI;IACJ,GAAG,OAAO,EAAE,aAAa;IACzB,GAAG,WAAW,EAAE,KAAK;IACrB,GAAG;IACH,EAAE;IACF,CAAC,KAAK,EAAE;IACR,EAAE,OAAO,EAAE,IAAI,MAAM;IACrB,GAAG,WAAW;IACd,IAAI,MAAM;IACV,IAAI,+DAA+D;IACnE,GAAG;IACH,EAAE,MAAM,EAAE;IACV,GAAG,WAAW,EAAE,OAAO;IACvB,GAAG,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC;IAClE,GAAG,qBAAqB,EAAE;IAC1B,IAAI,OAAO,EAAE,SAAS;IACtB,IAAI,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IACzC,IAAI;IACJ,GAAG;IACH,EAAE;IACF,CAAC,GAAG,EAAE;IACN,EAAE,OAAO,EAAE,oKAAoK;IAC/K,EAAE,MAAM,EAAE,IAAI;IACd,EAAE,MAAM,EAAE;IACV,GAAG,GAAG,EAAE;IACR,IAAI,OAAO,EAAE,iBAAiB;IAC9B,IAAI,MAAM,EAAE;IACZ,KAAK,WAAW,EAAE,OAAO;IACzB,KAAK,SAAS,EAAE,cAAc;IAC9B,KAAK;IACL,IAAI;IACJ,GAAG,qBAAqB,EAAE;IAC1B,IAAI,OAAO,EAAE,8DAA8D;IAC3E,IAAI,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IACzC,IAAI;IACJ,GAAG,YAAY,EAAE;IACjB,IAAI,OAAO,EAAE,qCAAqC;IAClD,IAAI,MAAM,EAAE;IACZ,KAAK,WAAW,EAAE;IAClB,MAAM,IAAI;IACV,MAAM;IACN,OAAO,OAAO,EAAE,kBAAkB;IAClC,OAAO,UAAU,EAAE,IAAI;IACvB,OAAO;IACP,MAAM;IACN,KAAK,qBAAqB,EAAE;IAC5B,MAAM,OAAO,EAAE,WAAW;IAC1B,MAAM,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IAC3C,MAAM;IACN,KAAK;IACL,IAAI;IACJ,GAAG,WAAW,EAAE,MAAM;IACtB,GAAG,WAAW,EAAE;IAChB,IAAI,OAAO,EAAE,WAAW;IACxB,IAAI,MAAM,EAAE;IACZ,KAAK,SAAS,EAAE,cAAc;IAC9B,KAAK;IACL,IAAI;IACJ,GAAG;IACH,EAAE;IACF,CAAC,qBAAqB,EAAE;IACxB,EAAE,OAAO,EAAE,8DAA8D;IACzE,EAAE,UAAU,EAAE,IAAI;IAClB,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IACvC,EAAE;IACF,CAAC,CAAC,CAAC;AACH;IACA,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAClC;IACA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI;IAC/B,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;IAC5B,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9D,EAAE;IACF,CAAC,CAAC,CAAC;AACH;IACA,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE;IAChE,CAAC,KAAK,EAAE,SAAS,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE;IAC3C,EAAE,MAAM,mBAAmB,GAAG,EAAE,CAAC;IACjC,EAAE,mBAAmB,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG;IAC5C,GAAG,OAAO,EAAE,mCAAmC;IAC/C,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IAChC,GAAG,CAAC;IACJ,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAC;AACxD;IACA,EAAE,MAAM,MAAM,GAAG;IACjB,GAAG,gBAAgB,EAAE;IACrB,IAAI,OAAO,EAAE,2BAA2B;IACxC,IAAI,MAAM,EAAE,mBAAmB;IAC/B,IAAI;IACJ,GAAG,CAAC;IACJ,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG;IAC/B,GAAG,OAAO,EAAE,SAAS;IACrB,GAAG,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IAChC,GAAG,CAAC;AACJ;IACA,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC;IACjB,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG;IACjB,GAAG,OAAO,EAAE,MAAM;IAClB,IAAI,kEAAkE,CAAC,MAAM,CAAC,OAAO;IACrF,KAAK,KAAK;IACV,KAAK,OAAO;IACZ,KAAK;IACL,IAAI,GAAG;IACP,IAAI;IACJ,GAAG,UAAU,EAAE,IAAI;IACnB,GAAG,MAAM,EAAE,IAAI;IACf,GAAG,MAAM;IACT,GAAG,CAAC;AACJ;IACA,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACvD,EAAE;IACF,CAAC,CAAC,CAAC;AACH;IACA,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtD,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCCtEpD,GAAU;;;;+DAAV,GAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAHd,GAAK;;;;;;;;;;;8BAfL,GAAQ;;;;;;;;+BASR,GAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEATT,GAAQ;mEASR,GAAS;;qBAMT,GAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAhEG,MAAM,GAAG,EAAE;SAClB,QAAQ,GAAG,EAAE;SACb,SAAS,GAAG,EAAE;SACd,UAAU,GAAG,EAAE;WACR,KAAK,GAAG,EAAE;;KAErB,OAAO;MACL,KAAK,IAAI,MAAM,QACZ,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAC9B,IAAI,CAAC,IAAI,oBAAI,QAAQ,GAAG,IAAI;MAE/B,KAAK,IAAI,MAAM,SACZ,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAC9B,IAAI,CAAC,IAAI,oBAAI,SAAS,GAAG,IAAI,GAC7B,IAAI,OAAOC,KAAK,CAAC,YAAY;;UAG7B,KAAK;OACN,KAAK,IAAI,MAAM,eACZ,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAC9B,IAAI,CAAC,IAAI,oBAAI,UAAU,GAAG,IAAI,GAC9B,IAAI,OAAOA,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCC0BrB,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BCmB+B,GAAK,IAAC,KAAK;;;;;;;;;;;;;;2CAAzD,GAAK,IAAC,MAAM;;;;;;;;;;;;;;oEAAkC,GAAK,IAAC,KAAK;;;4CAAzD,GAAK,IAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;8BAMxB,GAAK,IAAC,KAAK;;;;;;;;;;;;;;;;;;+CADI,GAAK,IAAC,MAAM;;;;;;;;;;;;sEAC3B,GAAK,IAAC,KAAK;;;gDADI,GAAK,IAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAN5B,GAAM;;;;sCAAX,MAAI;;;;iCAKC,GAAM;;;;oCAAX,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCALC,GAAM;;;;qCAAX,MAAI;;;;;;;;;;;;;;;;4CAAJ,MAAI;;;;gCAKC,GAAM;;;;mCAAX,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;SAzEJ,MAAM;QACP,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI;QAC9B,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;QAC/B,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;;;WAG5B,QAAQ,GAAI,KAAK;MACrB,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC;;;;;;;;;;gCA8DH,QAAQ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BCbtD,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCADN,GAAU;;;;oCAAf,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAAC,GAAU;;;;mCAAf,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;WApDA,UAAU;UACV,IAAI;;eACA,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;OACtB,IAAI,CAAC,IAAI,CAAC,CAAC;;;aAEN,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CCsEqB,MAAM,CAAC,EAAE,GAAG,EAAE,EAAC,CAAC,GAAG,EAAE;;;;;;;;0CAMrB,MAAM,CAAC,EAAE,GAAG,EAAE,EAAC,CAAC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCCzBhC,IAAI,CAAC,eAAe;mCAKpB,IAAI,CAAC,gBAAgB;mCAKrB,IAAI,CAAC,gBAAgB;mCAKrB,IAAI,CAAC,kBAAkB;mCAKvB,IAAI,CAAC,kBAAkB;mCAWvB,IAAI,CAAC,cAAc;mCAMnB,IAAI,CAAC,cAAc;mCAKnB,IAAI,CAAC,cAAc;mCAKnB,IAAI,CAAC,eAAe;mCAKpB,IAAI,CAAC,aAAa;oCAKlB,IAAI,CAAC,wBAAwB;oCAK7B,IAAI,CAAC,iBAAiB;oCAKtB,IAAI,CAAC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCCjD7B,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCCoKrB,GAAM;;;;oCAAX,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAoCgC,MAAM,CAAC,EAAE,EAAE,EAAE;;;;0CAGb,MAAM,CAAC,EAAE,EAAC,EAAE;;;;0CAGZ,MAAM,CAAC,EAAE,EAAC,EAAE;;;;0CAGZ,MAAM,CAAC,EAAE,EAAC,EAAE;;;;0CAGZ,MAAM,CAAC,EAAE,EAAC,EAAE;;;;0CAGZ,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAnDhD,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA9OJ,MAAM,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCCqOH,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAkBd,MAAM,CAAC,GAAG,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAkBb,MAAM,CAAC,GAAG,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAtClB,GAAK;;;;sCAAV,MAAI;;;;;;;;kCAkBD,GAAK;;;;sCAAV,MAAI;;;;gCAkBC,GAAK;;;;oCAAV,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA5EU,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;0CAqBZ,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAmDd,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAhCrB,GAAK;;;;qCAAV,MAAI;;;;;;;;;;;;;;;;8BAAJ,MAAI;;;;;;;;iCAkBD,GAAK;;;;qCAAV,MAAI;;;;;;;;;;;;;;;;4CAAJ,MAAI;;;;+BAkBC,GAAK;;;;mCAAV,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;wCApCF,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAlOR,KAAK,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;WAGT,SAAS,GAAG,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCC6GM,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAmBZ,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCArBzC,GAAI;;;;sCAAT,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAmBC,GAAK;;;;oCAAV,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAvC2B,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAoBxC,GAAI;;;;qCAAT,MAAI;;;;;;;;;;;;;;;;4CAAJ,MAAI;;;;+BAmBC,GAAK;;;;mCAAV,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAjIF,KAAK,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;SAC7B,IAAI,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCCiKV,GAAK;;;;oCAAV,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAL2B,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAKxC,GAAK;;;;mCAAV,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAKwC,GAAM;;;;;;;;;;;;;;wCADd,MAAM,CAAC,GAAG,aAAE,GAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAF7C,GAAa,kBAAC,GAAS,KAAE,EAAE;;;;sCAAhC,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAAC,GAAa,kBAAC,GAAS,KAAE,EAAE;;;;qCAAhC,MAAI;;;;;;;;;;;;;;;;0CAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAjBN,GAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAAT,GAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAjJX,OAAO,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC;SAChB,KAAK,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;SAClB,SAAS,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;WACxB,SAAS,GAAG,KAAK;;WAEtB,aAAa,GAAI,UAAU;UAC3B,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;UACjB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM;UAClC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG;aACjD,UAAU,CAAC,KAAK;;;WAGnB,aAAa,IAAI,UAAU,EAAE,KAAK;UAClC,MAAM;;eACF,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC;OACzB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU;;;aAG/B,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCCqHmB,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAST,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAX5C,GAAO;;;;sCAAZ,MAAI;;;;gCAQC,GAAK;;;;oCAAV,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA5B6B,MAAM,CAAC,GAAG,EAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAoB1C,GAAO;;;;qCAAZ,MAAI;;;;;;;;;;;;;;;;4CAAJ,MAAI;;;;+BAQC,GAAK;;;;mCAAV,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA9IF,KAAK,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;SAC1B,OAAO,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCC6NJ,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAFnB,GAAK;;;;oCAAV,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAvCM,MAAM,CAAC,IAAI,EAAC,GAAG;;;;;;;;;;;;;;;0CAoBb,MAAM,CAAC,EAAE,EAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAmBnB,GAAK;;;;mCAAV,MAAI;;;;;;;;;;;;;;;;4BAAJ,MAAI;;;;;;;;;;;;;;;;;sCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA5NN,KAAK,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCC0CL,MAAM,CAAC,EAAE,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCCGb,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICTvC,SAAS,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,GAAG,GAAG,EAAE,MAAM,GAAGC,QAAM,EAAE,EAAE;IACpE,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IAC9C,IAAI,OAAO;IACX,QAAQ,KAAK;IACb,QAAQ,QAAQ;IAChB,QAAQ,MAAM;IACd,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,KAAK,CAAC;IACN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCCDK,GAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAP,GAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA7CC,OAAO,GAAG,KAAK;;;;;;;iDA0CD,OAAO,GAAG,IAAI;mDAIf,OAAO,GAAG,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BCuB6B,GAAK,IAAC,KAAK;;;;;;;;;;;;;;2CAAzD,GAAK,IAAC,MAAM;;;;;;;;;;;;;;oEAAkC,GAAK,IAAC,KAAK;;;4CAAzD,GAAK,IAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;8BAMxB,GAAK,IAAC,KAAK;;;;;;;;;;;;;;;;;;+CADI,GAAK,IAAC,MAAM;;;;;;;;;;;;sEAC3B,GAAK,IAAC,KAAK;;;gDADI,GAAK,IAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAN5B,GAAM;;;;sCAAX,MAAI;;;;iCAKC,GAAM;;;;oCAAX,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCALC,GAAM;;;;qCAAX,MAAI;;;;;;;;;;;;;;;;4CAAJ,MAAI;;;;gCAKC,GAAM;;;;mCAAX,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAzEJ,MAAM;QACP,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI;QAC9B,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;QAC/B,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK;;;WAG5B,QAAQ,GAAI,KAAK;MACrB,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC;;;;;;;;;;gCA8DH,QAAQ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BCftD,GAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCADN,GAAU;;;;oCAAf,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAAC,GAAU;;;;mCAAf,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WApDA,UAAU;UACV,IAAI;;eACA,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;OACtB,IAAI,CAAC,IAAI,CAAC,CAAC;;;aAEN,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BC2Ea,GAAK;;;;;;;;;;;;wCADK,MAAM,CAAC,EAAE,GAAG,EAAE,EAAC,CAAC,GAAG,EAAE;;;;;;gDAD9B,GAAK,QAAK,CAAC;;;;;;;;;;;;;iDAAX,GAAK,QAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAD7B,GAAM;;;;oCAAX,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAAC,GAAM;;;;mCAAX,MAAI;;;;;;;;;;;;;;;;wCAAJ,MAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA5EJ,MAAM,IAAI,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACgB7B,iBAAe;IACf,EAAE,GAAG,EAAE,IAAI;IACX,EAAE,QAAQ,EAAE,KAAK;IACjB,EAAE,MAAM,EAAE,GAAG;IACb,EAAE,cAAc,EAAEC,OAAK;IACvB,EAAE,cAAc,EAAEC,OAAK;IACvB,EAAE,cAAc,EAAE,KAAK;IACvB,EAAE,cAAc,EAAEC,OAAK;IACvB,EAAE,eAAe,EAAEC,QAAM;IACzB,EAAE,eAAe,EAAEC,QAAM;IACzB,EAAE,gBAAgB,EAAEC,SAAO;IAC3B,EAAE,gBAAgB,EAAEC,SAAO;IAC3B,EAAE,kBAAkB,EAAEC,WAAS;IAC/B,EAAE,kBAAkB,EAAEC,WAAS;IAC/B,EAAE,eAAe,EAAEC,QAAM;IACzB,EAAE,aAAa,EAAEC,MAAI;IACrB,EAAE,iBAAiB,EAAEC,UAAQ;IAC7B,EAAE,iBAAiB,EAAEC,UAAQ;IAC7B,EAAE,wBAAwB,EAAEC,iBAAe;IAC3C,EAAE,mBAAmB,EAAE,UAAU;IACjC,EAAE,yBAAyB,EAAE,eAAe;IAC5C,EAAE,GAAG,EAAE,QAAQ;IACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBCvBK,GAAK,OAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAjBP,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO;OAAI,YAAY,CAAC,OAAO,CAAC,OAAO;OAAI,OAAO;;WAEpF,SAAS;MACb,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK;MACzD,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK;;;WAG/B,MAAM;sBACV,KAAK,GAAG,KAAK,IAAI,OAAO,GAAG,MAAM,GAAG,OAAO;MAC3C,SAAS;;;KAGX,OAAO;MACL,SAAS;;;;;;;;;iCAKY,MAAM;mCAIN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CCaW,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCzC,UAAC,GAAG,GAAG,IAAI,GAAG,CAAC;IACpB,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI;IACtB,CAAC,KAAK,EAAE;IACR,EAAE,IAAI,EAAE,OAAO;IACf,EAAE;IACF,CAAC;;;;;;;;"} \ No newline at end of file diff --git a/public/code/Carousel.css b/public/code/Carousel.css new file mode 100644 index 0000000..0f4acdb --- /dev/null +++ b/public/code/Carousel.css @@ -0,0 +1,66 @@ +content { + border: 1px solid #ddd; + display: flex; + flex-direction: column; + flex: flex-grow; + padding: 1rem; +} + +carousel { + outline: 2px solid green; + position: relative; +} + +carousel figure { + display: none; +} + +carousel figure.active { + display: flex; + position: relative; + flex-direction: column; + outline: 1px solid red; +} + +carousel figure img { + width: 100%; +} + +carousel figure figcaption { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + text-align: center; + font-size: 2em; + background: var(--color-bg-secondary); + opacity: 0%; +} + +carousel figure figcaption:hover { + opacity: 90%; +} + +carousel next,prev { + position: absolute; + bottom: 0; + opacity: 0%; + height: 100%; + display: flex; + flex-direction: column; + align-content: center; + justify-content: center; +} + +carousel next { + right: 0; +} + +carousel prev { + left: 0; +} + +carousel next:hover,prev:hover { + opacity: 60%; + background-color: var(--color-bg); +} diff --git a/public/code/Carousel.html b/public/code/Carousel.html new file mode 100644 index 0000000..4dfdf59 --- /dev/null +++ b/public/code/Carousel.html @@ -0,0 +1,14 @@ + +
+ Stock photo +
Image 1
+
+ + +
+ Stock photo +
Image 2
+
+ + +
diff --git a/public/test.css b/public/test.css new file mode 100644 index 0000000..1c9342e --- /dev/null +++ b/public/test.css @@ -0,0 +1,16 @@ +button { + padding: 1rem; + background-color: blue; + color: white; + font-size: 2rem; +} + + +button.main { + background-color: orange; +} + +#again { + background-color: yellow; +} + diff --git a/public/test.html b/public/test.html new file mode 100644 index 0000000..ea67abd --- /dev/null +++ b/public/test.html @@ -0,0 +1,25 @@ + + + Test of Cascade + + + + + + +

HI!

+ + + + + + diff --git a/src/App.svelte b/src/App.svelte index 08f8453..199f7b9 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -31,6 +31,7 @@
diff --git a/src/FAQ.svelte b/src/FAQ.svelte new file mode 100644 index 0000000..32fad54 --- /dev/null +++ b/src/FAQ.svelte @@ -0,0 +1,46 @@ + + +
+

FAQ

+
+ +

Why did you do this?

+ +

It started as an attempt to relearn modern CSS for myself so I can teach others. As I did this I realized that most of the things I learned have been completely replaced with flexbox and grids, and if I just use those then CSS becomes much easier to understand. Specificity works as expected. When I change a component with class or id it actually changes. The layout flows correctly and is easier to create. Nearly everything works better and is easier to understand. +

+ +

This website became a demonstration to others that layout doesn't need div.class structure, subverting ul/li tags, and other CSS hacks. You can use simple truly semantic HTML and simple CSS to accomplish 90% of what you're doing today with more reliable results faster. +

+ +

Why is this site in black and white?

+

I used an entirely monochrome simplified design because I'm not a designer, and I want people to focus on the visual structure of each demo, not whether my use of Cornflower Blue was appropriate for a button. +

+ +

I'm also an experienced oil painter and a fundamental teaching in realist art is that color does not matter for visual comprehension. What matters most is the "drawing", or monochrome aspects of visual experience. If you can't make something work in monochrome then no amount of color will help. Make it visually understandable in monochrome and any color scheme you choose should work (barring a few rules about color perception's relationship to monochrome values). +

+ +

What's wrong with classes?

+ +

There's nothing wrong with classes in CSS. How they're used in recent CSS frameworks subverts the normal specificity rules making CSS unnecessarily difficult. The original specificity rules put the base design of a component at the tag level, then a class can be used to modify and extend the design, and an id can make this even more specific. In today's use of div.class heavy markup you lose this ability to alter the design as needed where its used, and instead you have to resort to !important and specificity hacking to change how something looks, or add more div with more class.

+ +

The other problem with div.class is it's more difficult to debug problems with the layout. There's the obvious problem of debugging failures in layout through a forest of divs, but you're also relying on specificity that can come from anywhere in the cascade. It's much more difficult to find exactly what bit of CSS is overriding your local decisions. If you've ever had to open the inspector in your browser to troll through CSS locations looking for the culprit then that's why. If the base design decisions are at the tag level, then your local class and id specifics will work as expected. You can also replace many uses of class as design modifiers with scoped CSS variables and reduce the use of div.class even further.

+ +

Finally, using div.class heavy layout systems pollutes your markup with structure that's difficult to analyze and maintain. When you focus on using truly semantic named tags and follow specificity as intended then your HTML is lighter and easier to understand because it isn't full of div.grid.col-1.col-mx-auto class rules that really have nothing to do with the actual meaning of that particular visual element. With flexbox and CSS grids you don't need any layout divs, and can keep the HTML clean and semantic. This also ends up being more flexible with less or the same effort as using a pre-made grid system full of divs.

+ +

Should we ban div.class?

+ +

Hell no. The current problem of too much class based CSS is because of trends in recent years calling for everyone to irrationally ban some practice. Remember when everyone decided tables were evil? So then we banned tables and grids completely? Then nobody could do a layout without crazy tricks and JavaScript? Nobody wants a repeat of the anti-tables "semantic markup" war, so please don't ban div.class.

+ +

All this website does is demonstrate that you don't need so much div.class. You can scrap a lot of what you're using now to do layout and go with clean HTML with flatter structure, then judiciously use div.class as needed. Treat div.class like salt. Right now you're pouring a whole box of it on your HTML when a little bit makes it taste better.

+ +

Do these demos work on phones?

+

They could but I haven't taken the time to make them adapt. That may come in a later release. Try it anyway +as you may be surprised how well the layouts still work on smaller screens.

+ +

Can I suggest a challenge?

+

Yes please. If you find an example of a layout that you think is impossible with flexbox and CSS grids then tell me on Twitter at @lzsthw and I'll attempt a replica. My only requirement is that you also have to tell me what trick the challenge is using. This is an exercise in replicating layouts, not reverse engineering devious hidden CSS tricks. Also keep in mind that I am not invested in "winning" and only curious about the limits of flexbox and CSS grids. If you find something I can't do, that means I found a useful limit to avoid. It doesn't mean that we throw out all of flexbox and CSS grids so you can go back to the float-clear-div-class 1990s. +

diff --git a/src/Home.svelte b/src/Home.svelte index f0d11ac..86d4260 100644 --- a/src/Home.svelte +++ b/src/Home.svelte @@ -26,14 +26,21 @@ padding-right: 4rem; } - h1#faq { - font-size: 3em; + quote { + box-shadow: 4px 4px 4px 4px var(--color-shadow); + padding: 1em; + font-style: italic; + background-color: var(--color-bg-secondary); + } + + pre code { + font-size: 0.8em; } -

fsck CSS

-

An experiment in cleaning up CSS and HTML with modern tools like flexbox and grids.

+

fsck CSS

+

An experiment in cleaning up CSS and HTML with modern tools like flexbox and grids.


@@ -43,7 +50,7 @@

Remove Classes

Using a classless style like MVP.css, you - bring back CSS specificity to its original intent.

+ bring back CSS specificity to its original intent.