Merge branch 'day-20-factory' of https://github.com/someoneWasTaken94/Advent-Incremental-1 into day-20-factory

This commit is contained in:
someoneWasTaken94 2022-12-23 16:35:21 +00:00
commit 5cf9f4571f
31 changed files with 2917 additions and 250 deletions

View file

@ -68,6 +68,7 @@
/> />
<div v-if="day >= 4" class="scene-bubble left" style="left: 64%; bottom: 37%"> <div v-if="day >= 4" class="scene-bubble left" style="left: 64%; bottom: 37%">
<img v-if="day >= 17" :src="toys" class="scene-item" /> <img v-if="day >= 17" :src="toys" class="scene-item" />
<img v-if="day >= 18" :src="advFactory" class="scene-item" />
</div> </div>
</div> </div>
</template> </template>
@ -91,6 +92,7 @@ import wrappingPaper from "./symbols/wrappingPaper.png";
import ribbons from "./symbols/ribbons.png"; import ribbons from "./symbols/ribbons.png";
import toys from "./symbols/truck.png"; import toys from "./symbols/truck.png";
import factory from "./symbols/gears.png"; import factory from "./symbols/gears.png";
import advFactory from "./symbols/teddyBear.png";
defineProps<{ defineProps<{
day: number; day: number;

View file

@ -26,7 +26,7 @@ onMounted(() => {
position: absolute; position: absolute;
top: 0; top: 0;
bottom: 0; bottom: 0;
left: 148px; left: 158px;
right: 0; right: 0;
touch-action: none; touch-action: none;
} }

View file

@ -16,7 +16,7 @@ defineProps<{
</script> </script>
<style scoped> <style scoped>
.toy { .toy {
width: 80px; width: 90px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
margin: 10px !important; margin: 10px !important;

View file

@ -36,6 +36,7 @@ import oil from "./oil";
import paper from "./paper"; import paper from "./paper";
import trees from "./trees"; import trees from "./trees";
import toys from "./toys"; import toys from "./toys";
import factory from "./factory";
interface Dye { interface Dye {
name: string; name: string;
@ -56,7 +57,7 @@ type DyeUpg =
| "blueDyeUpg2" | "blueDyeUpg2"
| "coalUpg"; | "coalUpg";
export type enumColor = "red" | "green" | "blue" | "yellow" | "purple" | "orange" | "black"; export type enumColor = "red" | "green" | "blue" | "yellow" | "purple" | "orange" | "black" | "white";
const id = "dyes"; const id = "dyes";
const day = 11; const day = 11;
@ -214,6 +215,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
case "yellow": case "yellow":
case "blue": case "blue":
case "black": case "black":
case "white":
dyeBook = paper.books.primaryDyeBook; dyeBook = paper.books.primaryDyeBook;
break; break;
case "orange": case "orange":
@ -520,6 +522,31 @@ const layer = createLayer(id, function (this: BaseLayer) {
dyesToReset: [], dyesToReset: [],
visibility: () => showIf(toys.milestones.milestone2.earned.value) visibility: () => showIf(toys.milestones.milestone2.earned.value)
}), }),
white: createDye({
name: "White Dye",
color: "white",
key: "q",
costs: () => [
{
base: "1e60",
root: 5,
res: trees.logs
},
{
base: computed(() => (upgrades.yellowDyeUpg2.bought.value ? "1e17" : "2e17")),
root: 2,
res: oil.oil
}
],
listedBoosts: [
{
visible: true,
desc: computed(() => `*${format(boosts.white1.value)} plastic gain.`)
}
],
dyesToReset: [],
visibility: () => showIf(factory.upgrades[2][2].bought.value)
}),
orange: createDye({ orange: createDye({
name: "Orange Dye", name: "Orange Dye",
color: "orange", color: "orange",
@ -702,6 +729,11 @@ const layer = createLayer(id, function (this: BaseLayer) {
Decimal.pow(2, Decimal.add(dyes.black.amount.value, 1).log2().sqrt()) Decimal.pow(2, Decimal.add(dyes.black.amount.value, 1).log2().sqrt())
.pow(upgrades.coalUpg.bought.value ? 1.2 : 1) .pow(upgrades.coalUpg.bought.value ? 1.2 : 1)
.pow(management.elfTraining.clothElfTraining.milestones[3].earned.value ? 1.1 : 1) .pow(management.elfTraining.clothElfTraining.milestones[3].earned.value ? 1.1 : 1)
),
white1: computed(() =>
Decimal.pow(2, Decimal.add(dyes.white.amount.value, 1).log2().sqrt())
.pow(upgrades.coalUpg.bought.value ? 1.2 : 1)
.pow(management.elfTraining.clothElfTraining.milestones[3].earned.value ? 1.1 : 1)
) )
}; };
@ -726,6 +758,11 @@ const layer = createLayer(id, function (this: BaseLayer) {
modifier: dyes.black.toGenerate, modifier: dyes.black.toGenerate,
base: 0 base: 0
}, },
{
title: "White Dye Creation",
modifier: dyes.white.toGenerate,
base: 0
},
{ {
title: "Orange Dye Creation", title: "Orange Dye Creation",
modifier: dyes.orange.toGenerate, modifier: dyes.orange.toGenerate,
@ -956,8 +993,8 @@ const layer = createLayer(id, function (this: BaseLayer) {
</> </>
) : null} ) : null}
<div style="width: 620px"> <div style="width: 620px">
{renderRow(dyes.black.display)} {renderRow(dyes.black.display, dyes.white.display)}
{renderRow(dyes.black.buyable)} {renderRow(dyes.black.buyable, dyes.white.buyable)}
<Spacer /> <Spacer />
{renderRow(dyes.red.display, dyes.yellow.display, dyes.blue.display)} {renderRow(dyes.red.display, dyes.yellow.display, dyes.blue.display)}
{renderRow(dyes.red.buyable, dyes.yellow.buyable, dyes.blue.buyable)} {renderRow(dyes.red.buyable, dyes.yellow.buyable, dyes.blue.buyable)}

View file

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="50"
height="50"
viewBox="0 0 13.229166 13.229167"
version="1.1"
id="svg5"
sodipodi:docname="advent.svg"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
inkscape:export-filename="advent/stuffingmaker.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.9225905"
inkscape:cx="54.873881"
inkscape:cy="-1.0402631"
inkscape:window-width="1309"
inkscape:window-height="804"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="path619-0"
style="fill:#ff0000;fill-opacity:1;stroke:#010000;stroke-width:0.696689;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 6.8642348,0.96395118 A 5.6167291,5.6167291 0 0 0 1.2475248,6.5806622 5.6167291,5.6167291 0 0 0 6.8642348,12.197372 5.6167291,5.6167291 0 0 0 12.480946,6.5806622 5.6167291,5.6167291 0 0 0 6.8642348,0.96395118 Z m 2.264577,1.36037902 a 1.9913912,1.9913912 0 0 1 1.9914142,1.991413 1.9913912,1.9913912 0 0 1 -1.9914142,1.991413 1.9913912,1.9913912 0 0 1 -1.991413,-1.991413 1.9913912,1.9913912 0 0 1 1.991413,-1.991413 z m -4.484251,0.04558 a 1.9913912,1.9913912 0 0 1 1.991413,1.991413 1.9913912,1.9913912 0 0 1 -1.991413,1.991073 1.9913912,1.9913912 0 0 1 -1.991414,-1.991073 1.9913912,1.9913912 0 0 1 1.991414,-1.991413 z m 4.484251,4.212447 a 1.9913912,1.9913912 0 0 1 1.9914142,1.991413 1.9913912,1.9913912 0 0 1 -1.9914142,1.9914128 1.9913912,1.9913912 0 0 1 -1.991413,-1.9914128 1.9913912,1.9913912 0 0 1 1.991413,-1.991413 z m -4.439008,0.181317 a 1.9913912,1.9913912 0 0 1 1.991414,1.991073 1.9913912,1.9913912 0 0 1 -1.991414,1.9914128 1.9913912,1.9913912 0 0 1 -1.991413,-1.9914128 1.9913912,1.9913912 0 0 1 1.991413,-1.991073 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="50"
height="50"
viewBox="0 0 13.229166 13.229167"
version="1.1"
id="svg5"
sodipodi:docname="advent.svg"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
inkscape:export-filename="advent/button.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.9225905"
inkscape:cx="54.873881"
inkscape:cy="-1.0402631"
inkscape:window-width="1309"
inkscape:window-height="804"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:#e6e6e6;fill-opacity:1;stroke:#838390;stroke-width:0.764057;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect28545-6"
width="12.46511"
height="12.46511"
x="0.38202921"
y="0.38202849"
rx="1.246511" />
<path
id="path619-0"
style="fill:#ff0000;fill-opacity:1;stroke:#010000;stroke-width:0.696689;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 6.8642348,0.96395118 A 5.6167291,5.6167291 0 0 0 1.2475248,6.5806622 5.6167291,5.6167291 0 0 0 6.8642348,12.197372 5.6167291,5.6167291 0 0 0 12.480946,6.5806622 5.6167291,5.6167291 0 0 0 6.8642348,0.96395118 Z m 2.264577,1.36037902 a 1.9913912,1.9913912 0 0 1 1.9914142,1.991413 1.9913912,1.9913912 0 0 1 -1.9914142,1.991413 1.9913912,1.9913912 0 0 1 -1.991413,-1.991413 1.9913912,1.9913912 0 0 1 1.991413,-1.991413 z m -4.484251,0.04558 a 1.9913912,1.9913912 0 0 1 1.991413,1.991413 1.9913912,1.9913912 0 0 1 -1.991413,1.991073 1.9913912,1.9913912 0 0 1 -1.991414,-1.991073 1.9913912,1.9913912 0 0 1 1.991414,-1.991413 z m 4.484251,4.212447 a 1.9913912,1.9913912 0 0 1 1.9914142,1.991413 1.9913912,1.9913912 0 0 1 -1.9914142,1.9914128 1.9913912,1.9913912 0 0 1 -1.991413,-1.9914128 1.9913912,1.9913912 0 0 1 1.991413,-1.991413 z m -4.439008,0.181317 a 1.9913912,1.9913912 0 0 1 1.991414,1.991073 1.9913912,1.9913912 0 0 1 -1.991414,1.9914128 1.9913912,1.9913912 0 0 1 -1.991413,-1.9914128 1.9913912,1.9913912 0 0 1 1.991413,-1.991073 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1,300 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="50"
height="50"
viewBox="0 0 13.229166 13.229167"
version="1.1"
id="svg5"
sodipodi:docname="advent.svg"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
inkscape:export-filename="advent/circuitmaker.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.9225905"
inkscape:cx="54.873881"
inkscape:cy="-1.0402631"
inkscape:window-width="1309"
inkscape:window-height="804"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g14758-2"
transform="matrix(0.63507814,0,0,0.63507814,66.697487,21.4137)">
<rect
style="fill:#008100;fill-opacity:1;stroke:#015800;stroke-width:1.05833;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect2937-2"
width="16.927031"
height="16.927031"
x="-103.07599"
y="-31.789791"
rx="0.52916664"
ry="0.52916664" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-7"
width="0.49474049"
height="5.2566171"
x="-94.866463"
y="-30.859426"
rx="0.26458338" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-1"
width="0.49474052"
height="4.8237195"
x="-93.938828"
y="-30.333771"
rx="0.26458341" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-52"
width="0.49474069"
height="3.2776561"
x="-93.196716"
y="-28.694942"
rx="0.2645835" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-5-1"
width="0.49474069"
height="3.2776561"
x="-96.350685"
y="-28.725863"
rx="0.2645835" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-1"
width="0.49474069"
height="3.2776561"
x="-88.001945"
y="-28.602179"
rx="0.2645835" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-8-0"
width="0.49474034"
height="6.0605702"
x="-87.878258"
y="-22.479765"
rx="0.26458332" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-8-2-1"
width="0.49474058"
height="3.5868685"
x="-93.444092"
y="-20.593569"
rx="0.26458347" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-8-2-6-8"
width="0.49474058"
height="3.5868685"
x="-97.58754"
y="-19.85146"
rx="0.26458347" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-8-2-8-7"
width="0.49474058"
height="3.5868685"
x="-99.87571"
y="-22.943584"
rx="0.26458347" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-8-2-9-6"
width="0.49473983"
height="11.193501"
x="-101.29809"
y="-27.581778"
rx="0.26458308" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-8-2-9-8-0"
width="0.49474058"
height="3.5250261"
x="-100.30862"
y="-27.705462"
rx="0.26458347" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-0"
width="0.49472937"
height="3.5251164"
x="-32.42971"
y="91.079651"
rx="0.26457745"
transform="matrix(0.00743825,0.99997234,-0.99990788,0.01357339,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-9"
width="0.49472395"
height="2.7212634"
x="-32.052433"
y="91.080261"
rx="0.26457453"
transform="matrix(0.00574177,0.99998352,-0.99984541,0.01758294,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-2-56"
width="0.49472889"
height="3.4632816"
x="-25.2423"
y="88.508125"
rx="0.26457718"
transform="matrix(0.00730776,0.9999733,-0.99990456,0.01381574,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-2-5-2"
width="0.49472323"
height="2.5975995"
x="-21.788242"
y="97.115021"
rx="0.26457417"
transform="matrix(0.00548077,0.99998498,-0.99983034,0.01842001,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-2-4-8"
width="0.49472889"
height="3.4632816"
x="-25.094913"
y="95.745461"
rx="0.26457718"
transform="matrix(0.00730776,0.9999733,-0.99990456,0.01381574,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-2-0-5"
width="0.49472889"
height="3.4632816"
x="-18.011745"
y="97.838226"
rx="0.26457718"
transform="matrix(0.00730776,0.9999733,-0.99990456,0.01381574,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-8-9"
width="0.49474952"
height="5.5657978"
x="-29.408934"
y="87.229904"
rx="0.26458821"
transform="matrix(0.01174441,0.99993103,-0.99996305,0.00859675,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-8-4-4"
width="0.49473175"
height="3.8343098"
x="-29.974941"
y="95.622993"
rx="0.2645787"
transform="matrix(0.00809075,0.99996727,-0.99992214,0.01247885,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-8-4-5-3"
width="0.49472928"
height="3.5251245"
x="-17.903791"
y="87.074791"
rx="0.26457739"
transform="matrix(0.00743827,0.99997234,-0.99990788,0.01357336,0,0)" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:#b08200;stroke-width:0.41395;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path13928-9"
cx="-102.38033"
cy="-31.137722"
r="0.4595851" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:#b08200;stroke-width:0.41395;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path13928-2-0"
cx="-86.950623"
cy="-31.044958"
r="0.4595851" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:#b08200;stroke-width:0.41395;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path13928-2-2-5"
cx="-86.826935"
cy="-15.522479"
r="0.4595851" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:#b08200;stroke-width:0.41395;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path13928-2-2-6-6"
cx="-102.41125"
cy="-15.584321"
r="0.4595851" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#010000;stroke-width:0.606458;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect7151-6-3"
width="2.4308338"
height="2.6782038"
x="-88.90815"
y="-25.024797"
rx="0.14444345" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#010000;stroke-width:0.484197;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect7151-6-7-6"
width="2.5530944"
height="1.6254561"
x="-91.133766"
y="-30.93005"
rx="0.15170835" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#010000;stroke-width:1.05833;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect7151-3"
width="4.4526634"
height="4.4526634"
x="-96.721748"
y="-25.47913"
rx="0.26458332" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#010000;stroke-width:0.399144;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect7151-6-7-7-0"
width="1.6486663"
height="1.7105087"
x="-101.38032"
y="-29.488354"
rx="0.097965993" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#010000;stroke-width:0.399144;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect7151-6-7-7-7-8"
width="1.6486663"
height="1.7105087"
x="-100.32899"
y="-24.417265"
rx="0.097965993" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#010000;stroke-width:0.669161;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect7151-6-5-4"
width="7.006321"
height="1.1312789"
x="-98.184097"
y="-17.139441"
rx="0.41632515" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,308 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="50"
height="50"
viewBox="0 0 13.229166 13.229167"
version="1.1"
id="svg5"
sodipodi:docname="advent.svg"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
inkscape:export-filename="advent/consolemaker.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.9225905"
inkscape:cx="54.873881"
inkscape:cy="-1.0402631"
inkscape:window-width="1309"
inkscape:window-height="804"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:#e6e6e6;fill-opacity:1;stroke:#838390;stroke-width:0.764057;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect28545-6"
width="12.46511"
height="12.46511"
x="0.38202849"
y="0.38202849"
rx="1.246511" />
<g
id="g14758-2"
transform="matrix(0.63507814,0,0,0.63507814,66.67092,21.438206)">
<rect
style="fill:#008100;fill-opacity:1;stroke:#015800;stroke-width:1.05833;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect2937-2"
width="16.927031"
height="16.927031"
x="-103.07599"
y="-31.789791"
rx="0.52916664"
ry="0.52916664" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-7"
width="0.49474049"
height="5.2566171"
x="-94.866463"
y="-30.859426"
rx="0.26458338" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-1"
width="0.49474052"
height="4.8237195"
x="-93.938828"
y="-30.333771"
rx="0.26458341" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-52"
width="0.49474069"
height="3.2776561"
x="-93.196716"
y="-28.694942"
rx="0.2645835" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-5-1"
width="0.49474069"
height="3.2776561"
x="-96.350685"
y="-28.725863"
rx="0.2645835" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-1"
width="0.49474069"
height="3.2776561"
x="-88.001945"
y="-28.602179"
rx="0.2645835" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-8-0"
width="0.49474034"
height="6.0605702"
x="-87.878258"
y="-22.479765"
rx="0.26458332" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-8-2-1"
width="0.49474058"
height="3.5868685"
x="-93.444092"
y="-20.593569"
rx="0.26458347" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-8-2-6-8"
width="0.49474058"
height="3.5868685"
x="-97.58754"
y="-19.85146"
rx="0.26458347" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-8-2-8-7"
width="0.49474058"
height="3.5868685"
x="-99.87571"
y="-22.943584"
rx="0.26458347" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-8-2-9-6"
width="0.49473983"
height="11.193501"
x="-101.29809"
y="-27.581778"
rx="0.26458308" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-1-7-7-8-2-9-8-0"
width="0.49474058"
height="3.5250261"
x="-100.30862"
y="-27.705462"
rx="0.26458347" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-0"
width="0.49472937"
height="3.5251164"
x="-32.42971"
y="91.079651"
rx="0.26457745"
transform="matrix(0.00743825,0.99997234,-0.99990788,0.01357339,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-9"
width="0.49472395"
height="2.7212634"
x="-32.052433"
y="91.080261"
rx="0.26457453"
transform="matrix(0.00574177,0.99998352,-0.99984541,0.01758294,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-2-56"
width="0.49472889"
height="3.4632816"
x="-25.2423"
y="88.508125"
rx="0.26457718"
transform="matrix(0.00730776,0.9999733,-0.99990456,0.01381574,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-2-5-2"
width="0.49472323"
height="2.5975995"
x="-21.788242"
y="97.115021"
rx="0.26457417"
transform="matrix(0.00548077,0.99998498,-0.99983034,0.01842001,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-2-4-8"
width="0.49472889"
height="3.4632816"
x="-25.094913"
y="95.745461"
rx="0.26457718"
transform="matrix(0.00730776,0.9999733,-0.99990456,0.01381574,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-2-0-5"
width="0.49472889"
height="3.4632816"
x="-18.011745"
y="97.838226"
rx="0.26457718"
transform="matrix(0.00730776,0.9999733,-0.99990456,0.01381574,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-8-9"
width="0.49474952"
height="5.5657978"
x="-29.408934"
y="87.229904"
rx="0.26458821"
transform="matrix(0.01174441,0.99993103,-0.99996305,0.00859675,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-8-4-4"
width="0.49473175"
height="3.8343098"
x="-29.974941"
y="95.622993"
rx="0.2645787"
transform="matrix(0.00809075,0.99996727,-0.99992214,0.01247885,0,0)" />
<rect
style="fill:#ab8011;fill-opacity:1;stroke:#010000;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect9920-8-4-8-4-5-3"
width="0.49472928"
height="3.5251245"
x="-17.903791"
y="87.074791"
rx="0.26457739"
transform="matrix(0.00743827,0.99997234,-0.99990788,0.01357336,0,0)" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:#b08200;stroke-width:0.41395;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path13928-9"
cx="-102.38033"
cy="-31.137722"
r="0.4595851" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:#b08200;stroke-width:0.41395;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path13928-2-0"
cx="-86.950623"
cy="-31.044958"
r="0.4595851" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:#b08200;stroke-width:0.41395;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path13928-2-2-5"
cx="-86.826935"
cy="-15.522479"
r="0.4595851" />
<circle
style="fill:#ffffff;fill-opacity:1;stroke:#b08200;stroke-width:0.41395;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path13928-2-2-6-6"
cx="-102.41125"
cy="-15.584321"
r="0.4595851" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#010000;stroke-width:0.606458;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect7151-6-3"
width="2.4308338"
height="2.6782038"
x="-88.90815"
y="-25.024797"
rx="0.14444345" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#010000;stroke-width:0.484197;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect7151-6-7-6"
width="2.5530944"
height="1.6254561"
x="-91.133766"
y="-30.93005"
rx="0.15170835" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#010000;stroke-width:1.05833;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect7151-3"
width="4.4526634"
height="4.4526634"
x="-96.721748"
y="-25.47913"
rx="0.26458332" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#010000;stroke-width:0.399144;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect7151-6-7-7-0"
width="1.6486663"
height="1.7105087"
x="-101.38032"
y="-29.488354"
rx="0.097965993" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#010000;stroke-width:0.399144;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect7151-6-7-7-7-8"
width="1.6486663"
height="1.7105087"
x="-100.32899"
y="-24.417265"
rx="0.097965993" />
<rect
style="fill:#000000;fill-opacity:1;stroke:#010000;stroke-width:0.669161;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect7151-6-5-4"
width="7.006321"
height="1.1312789"
x="-98.184097"
y="-17.139441"
rx="0.41632515" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="50"
height="50"
viewBox="0 0 13.229166 13.229167"
version="1.1"
id="svg5"
sodipodi:docname="advent.svg"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
inkscape:export-filename="advent/buttonmaker.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.9225905"
inkscape:cx="54.873881"
inkscape:cy="-1.0402631"
inkscape:window-width="1309"
inkscape:window-height="804"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient22104">
<stop
style="stop-color:#707372;stop-opacity:1;"
offset="0"
id="stop22100" />
<stop
style="stop-color:#1b1819;stop-opacity:1;"
offset="1"
id="stop22102" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient22104"
id="radialGradient22106-3"
cx="36.744789"
cy="66.12191"
fx="36.744789"
fy="66.12191"
r="2.0348806"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-4.1611276,5.2592029)" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g23031-7"
transform="matrix(0.52986006,0,0,0.52986006,-7.0953885,-32.550915)">
<path
id="path19177-3"
style="fill:#000000;fill-opacity:1;stroke:#b08200;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="m 32.41766,67.193831 c -1.234059,5.77e-4 -2.402119,0.557366 -3.179651,1.51567 -0.03735,-0.0033 -0.07544,-0.0057 -0.113689,-0.0057 h -6.150012 c -0.778172,-0.94737 -1.939704,-1.496472 -3.165698,-1.49655 -2.009066,0.0032 -3.719398,1.462739 -4.038513,3.446302 l -0.01757,-0.0031 -0.343796,6.620655 c -0.0737,0.21366 -0.11159,0.438029 -0.112138,0.664042 -2.23e-4,1.133218 0.918337,2.052009 2.051555,2.052071 0.767351,-4.59e-4 1.470305,-0.429089 1.822111,-1.111043 l 0.01033,0.0083 2.621176,-4.008411 c 0.425287,-0.23589 0.80518,-0.545613 1.121895,-0.914673 h 6.200655 c 0.06064,0 0.120527,-0.0046 0.178801,-0.01292 0.221351,0.259733 0.474285,0.490794 0.752926,0.687813 0,0 2.829902,4.248451 2.80603,4.242635 l 0.0067,-0.0047 c 0.333779,0.729841 1.062458,1.198062 1.865002,1.198377 1.133017,-6.2e-5 2.051493,-0.918538 2.051555,-2.051555 -0.002,-0.06393 -0.007,-0.127736 -0.01499,-0.191202 L 36.50989,71.373905 c 0.0018,-0.02772 0.0034,-0.05545 0.0047,-0.0832 -9.2e-5,-2.262621 -1.834286,-4.096815 -4.096907,-4.096908 z"
sodipodi:nodetypes="ccscccccccccccsccccccccccc" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:#b08200;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path19753-2"
cx="19.826353"
cy="69.163277"
r="1.1276354" />
<circle
style="fill:#ffff00;fill-opacity:1;stroke:#b08200;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path19753-5-5"
cx="21.951302"
cy="71.492081"
r="1.1276354" />
<circle
style="fill:#0073ff;fill-opacity:1;stroke:#b08200;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path19753-5-9-6"
cx="17.450777"
cy="71.380142"
r="1.1276354" />
<circle
style="fill:#00ff00;fill-opacity:1;stroke:#b08200;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path19753-5-9-0-3"
cx="19.771206"
cy="73.597"
r="1.1276354" />
<circle
style="fill:url(#radialGradient22106-3);fill-opacity:1;stroke:#838283;stroke-width:0.264583;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path20051-4"
cx="32.58366"
cy="71.381111"
r="2.0348802" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

View file

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="50"
height="50"
viewBox="0 0 13.229166 13.229167"
version="1.1"
id="svg5"
sodipodi:docname="advent.svg"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
inkscape:export-filename="advent/console.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.9225905"
inkscape:cx="54.873881"
inkscape:cy="-1.0402631"
inkscape:window-width="1309"
inkscape:window-height="804"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<defs
id="defs2">
<linearGradient
inkscape:collect="always"
id="linearGradient22104">
<stop
style="stop-color:#707372;stop-opacity:1;"
offset="0"
id="stop22100" />
<stop
style="stop-color:#1b1819;stop-opacity:1;"
offset="1"
id="stop22102" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient22104"
id="radialGradient22106-3"
cx="36.744789"
cy="66.12191"
fx="36.744789"
fy="66.12191"
r="2.0348806"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-4.1611276,5.2592029)" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:#e6e6e6;fill-opacity:1;stroke:#838390;stroke-width:0.764057;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect28545-6"
width="12.46511"
height="12.46511"
x="0.38202849"
y="0.38202849"
rx="1.246511" />
<g
id="g23031-7"
transform="matrix(0.52986006,0,0,0.52986006,-7.0953885,-32.550915)">
<path
id="path19177-3"
style="fill:#000000;fill-opacity:1;stroke:#b08200;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="m 32.41766,67.193831 c -1.234059,5.77e-4 -2.402119,0.557366 -3.179651,1.51567 -0.03735,-0.0033 -0.07544,-0.0057 -0.113689,-0.0057 h -6.150012 c -0.778172,-0.94737 -1.939704,-1.496472 -3.165698,-1.49655 -2.009066,0.0032 -3.719398,1.462739 -4.038513,3.446302 l -0.01757,-0.0031 -0.343796,6.620655 c -0.0737,0.21366 -0.11159,0.438029 -0.112138,0.664042 -2.23e-4,1.133218 0.918337,2.052009 2.051555,2.052071 0.767351,-4.59e-4 1.470305,-0.429089 1.822111,-1.111043 l 0.01033,0.0083 2.621176,-4.008411 c 0.425287,-0.23589 0.80518,-0.545613 1.121895,-0.914673 h 6.200655 c 0.06064,0 0.120527,-0.0046 0.178801,-0.01292 0.221351,0.259733 0.474285,0.490794 0.752926,0.687813 0,0 2.829902,4.248451 2.80603,4.242635 l 0.0067,-0.0047 c 0.333779,0.729841 1.062458,1.198062 1.865002,1.198377 1.133017,-6.2e-5 2.051493,-0.918538 2.051555,-2.051555 -0.002,-0.06393 -0.007,-0.127736 -0.01499,-0.191202 L 36.50989,71.373905 c 0.0018,-0.02772 0.0034,-0.05545 0.0047,-0.0832 -9.2e-5,-2.262621 -1.834286,-4.096815 -4.096907,-4.096908 z"
sodipodi:nodetypes="ccscccccccccccsccccccccccc" />
<circle
style="fill:#ff0000;fill-opacity:1;stroke:#b08200;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path19753-2"
cx="19.826353"
cy="69.163277"
r="1.1276354" />
<circle
style="fill:#ffff00;fill-opacity:1;stroke:#b08200;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path19753-5-5"
cx="21.951302"
cy="71.492081"
r="1.1276354" />
<circle
style="fill:#0073ff;fill-opacity:1;stroke:#b08200;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path19753-5-9-6"
cx="17.450777"
cy="71.380142"
r="1.1276354" />
<circle
style="fill:#00ff00;fill-opacity:1;stroke:#b08200;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path19753-5-9-0-3"
cx="19.771206"
cy="73.597"
r="1.1276354" />
<circle
style="fill:url(#radialGradient22106-3);fill-opacity:1;stroke:#838283;stroke-width:0.264583;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="path20051-4"
cx="32.58366"
cy="71.381111"
r="2.0348802" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.3 KiB

View file

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="50"
height="50"
viewBox="0 0 13.229166 13.229167"
version="1.1"
id="svg5"
sodipodi:docname="advent.svg"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
inkscape:export-filename="advent/ribbonmaker.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.9225905"
inkscape:cx="54.873881"
inkscape:cy="-1.0402631"
inkscape:window-width="1309"
inkscape:window-height="804"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" /><defs
id="defs2" /><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"><rect
style="fill:#e80000;fill-opacity:1;stroke:#a96625;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect31830-6"
width="8.1008177"
height="8.1008177"
x="2.6243083"
y="4.4571147" /><path
id="rect31884-0"
style="fill:#ffff00;fill-opacity:1;stroke:#a96625;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 4.57173,0.395005 C 3.56337,0.387105 2.715225,1.17169 2.655568,2.189727 2.601548,3.117815 3.224966,3.949533 4.13093,4.158082 c 0,0 0.911853,0.09505 1.879472,0.188103 l -0.02584,0.04909 h -0.0863 v 3.15743 l -3.31711,0.02015 0.0098,1.675867 3.307292,-0.02015 v 3.38739 H 7.57411 V 9.218753 l 3.237012,-0.01964 -0.0098,-1.675866 -3.227194,0.01964 V 4.485709 c 0.09816,0.0076 0.191391,0.01476 0.272852,0.02015 L 7.78755,4.392171 C 8.738745,4.308221 9.624241,4.222286 9.625164,4.21492 10.532311,4.011573 11.160585,3.183216 11.111895,2.254833 11.056345,1.20362 10.1591,0.396373 9.107883,0.451843 8.359868,0.491803 7.704586,0.966554 7.43305,1.664689 L 6.893031,2.682714 6.337509,1.620247 C 6.069983,0.920565 5.417685,0.44235 4.669911,0.398099 c -0.03284,-0.0019 -0.06566,-0.0028 -0.09819,-0.0031 z M 4.71539,1.4275 c 0.01754,1.3e-4 0.03551,5.21e-4 0.05323,0.0016 0.403484,0.02381 0.755726,0.28191 0.900203,0.659391 l 0.764295,1.46141 -0.04548,0.08578 C 5.760971,3.568571 4.490341,3.464245 4.478193,3.45843 3.989181,3.345785 3.652481,2.896405 3.68186,2.395446 3.71426,1.846385 4.171524,1.42351 4.715388,1.427547 Z m 4.340304,0.05323 c 0.543878,-9.16e-4 0.999105,0.424863 1.028361,0.974101 0.0265,0.501119 -0.312368,0.948496 -0.802018,1.058333 0,0 -1.228253,0.09807 -1.869654,0.162264 L 7.347793,3.551922 8.099168,2.136504 C 8.245809,1.759859 8.599376,1.503781 9.002989,1.482281 c 0.01772,-9.28e-4 0.03516,-0.0015 0.05271,-0.0016 z" /></g></svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="50"
height="50"
viewBox="0 0 13.229166 13.229167"
version="1.1"
id="svg5"
sodipodi:docname="advent.svg"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
inkscape:export-filename="advent/present.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.9225905"
inkscape:cx="54.873881"
inkscape:cy="-1.0402631"
inkscape:window-width="1309"
inkscape:window-height="804"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" /><defs
id="defs2" /><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"><rect
style="fill:#e6e6e6;fill-opacity:1;stroke:#838390;stroke-width:0.764057;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect28545-6"
width="12.46511"
height="12.46511"
x="0.38202849"
y="0.38202882"
rx="1.246511" /><g
id="g33200"
transform="matrix(0.92978329,0,0,0.92978329,0.26683804,0.5413202)"><rect
style="fill:#e80000;fill-opacity:1;stroke:#a96625;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect31830-6"
width="8.1008177"
height="8.1008177"
x="2.6243083"
y="4.4571147" /><path
id="rect31884-0"
style="fill:#ffff00;fill-opacity:1;stroke:#a96625;stroke-width:0;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 4.57173,0.395005 C 3.56337,0.387105 2.715225,1.17169 2.655568,2.189727 2.601548,3.117815 3.224966,3.949533 4.13093,4.158082 c 0,0 0.911853,0.09505 1.879472,0.188103 l -0.02584,0.04909 h -0.0863 v 3.15743 l -3.31711,0.02015 0.0098,1.675867 3.307292,-0.02015 v 3.38739 H 7.57411 V 9.218753 l 3.237012,-0.01964 -0.0098,-1.675866 -3.227194,0.01964 V 4.485709 c 0.09816,0.0076 0.191391,0.01476 0.272852,0.02015 L 7.78755,4.392171 C 8.738745,4.308221 9.624241,4.222286 9.625164,4.21492 10.532311,4.011573 11.160585,3.183216 11.111895,2.254833 11.056345,1.20362 10.1591,0.396373 9.107883,0.451843 8.359868,0.491803 7.704586,0.966554 7.43305,1.664689 L 6.893031,2.682714 6.337509,1.620247 C 6.069983,0.920565 5.417685,0.44235 4.669911,0.398099 c -0.03284,-0.0019 -0.06566,-0.0028 -0.09819,-0.0031 z M 4.71539,1.4275 c 0.01754,1.3e-4 0.03551,5.21e-4 0.05323,0.0016 0.403484,0.02381 0.755726,0.28191 0.900203,0.659391 l 0.764295,1.46141 -0.04548,0.08578 C 5.760971,3.568571 4.490341,3.464245 4.478193,3.45843 3.989181,3.345785 3.652481,2.896405 3.68186,2.395446 3.71426,1.846385 4.171524,1.42351 4.715388,1.427547 Z m 4.340304,0.05323 c 0.543878,-9.16e-4 0.999105,0.424863 1.028361,0.974101 0.0265,0.501119 -0.312368,0.948496 -0.802018,1.058333 0,0 -1.228253,0.09807 -1.869654,0.162264 L 7.347793,3.551922 8.099168,2.136504 C 8.245809,1.759859 8.599376,1.503781 9.002989,1.482281 c 0.01772,-9.28e-4 0.03516,-0.0015 0.05271,-0.0016 z" /></g></g></svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View file

@ -0,0 +1,412 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="50"
height="50"
viewBox="0 0 13.229166 13.229167"
version="1.1"
id="svg5"
sodipodi:docname="advent.svg"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
inkscape:export-filename="advent/circuitmaker.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.9225905"
inkscape:cx="54.873881"
inkscape:cy="-1.0402631"
inkscape:window-width="1309"
inkscape:window-height="804"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" /><defs
id="defs2" /><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"><rect
style="fill:#e6e6e6;fill-opacity:1;stroke:#838390;stroke-width:0.764057;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect28545-6"
width="12.46511"
height="12.46511"
x="0.38202849"
y="0.38202849"
rx="1.246511" /><image
width="12.635027"
height="12.635027"
preserveAspectRatio="none"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABHNCSVQICAgIfAhkiAAAIABJREFU
eJzsvXl8HFeZ7/09VdWbltZmybYs77Fjy7Gz2YlDQjZCIEBYAyHkMgwOgTg3Q8IdtmHeyyxwmWEG
LskMNzZLwrCGJQmLIUAmCwmYOLGy2I63ON5l2bJkyVpa6q3qvH+cbqmXqu7qRVI76PdxW91VdapO
VZ3feZ7zPM95jmAa06gwCIGY6jokUTEVmcY0oLLIAaBNdQWmMY1KxjRBpjGNHJgmyDSmkQPTBJnG
NHJgmiDTmEYOVJTFYBp/2ag0CxZMS5BpTCMnpgkyjWnkwDRBpjGNHJgmyDSmkQPTBJnGNHJgmiDT
mEYOTBNkGtPIgWmCTGMaOVBxjpkzCeV2bEmJLOf5zkRUmrOwoipTqaiEl/aXQp5KeNapqKjKVAoq
7SVl4rVMlkp79hVVmalCpb2UQvFaIkylvYuKqsxkotJeRLlwppOl0t5LRVVmMlBpL2AicSaSpdLe
T0VVZiJRaQ9+MnEmEaXS3lNFVWYiUGkPfCpxphClkt5ZxVSknKikB1yJqHSiVNL7q5iKlAuV9HAr
HZVKlEp6hxVTkVJRSQ/1TEMlEqVS3mdFVKIUVMqDPNNRaSSplPdaEZUoBpXyAF9rqBSiVMr7rYhK
FIpKeXivVUyTJKUOU12BQlEJD+0vBVNNlEp411NeAbdIfVhSYhVRfnruSxH4SyfJmUCQsr6gaaIU
h6kiylQTpFIbi0z5lPfERUifaUx9Q50qVNpNT1ovNS1JisNUSJKpJGelEGTK9NxpohSOySbJXzJB
inrQC5+uc33swcsH8h4zTZLC8ZdCEmMqLpqA6wecJMS7NsPPL52AikisaZIUBiEQk0kSKZFTQZKp
YKWrh2onJWpGYeEJ2LHQ3YXcSI9UTJOkOEwWUaaCIJMtQfI+yFzq0//Q3kN9vc4Oflp0BRY+XedI
HCmxEGhTrXeeaZgsaTIVUmSyesy8JtuhQ328/bu5xxZr4yu5aeCykiuTcwwjsaZNwZWLyR77TAZB
8t7Q0KE+AC47707HY+7r/zQX1F7GSGNtWSqVb6A/TZLCMJk9+2SSZKIJkldqJMkhN32P9d6PZh1z
69GL2PbHu1hz7npoW0z1OVdy/ZbyVO7ftn0+5/5pkhSG16IzcSIJkpccqRDX/xXEInx8yzwA7nxp
Gdubd/I3l/4EcXO6ZNk1P//F3QzQ5Uubs+qRdcw0SQrCZJFksqTIRBHEsfIHbr3GuVEGG/jIFT/k
5mPnc8vbfwuBqqxD+l/8NftnF1epTLVKnKdsxqmSzA7TJCkMryWSTARBHCs99Mpxmt/3v3OXntnG
Z5bc67j7b1t/UHTFMvFcxz1pv6dJUj68VkhSboI4k+NQH3h9sGQl7OxI35n5e8as8e8Hdo193TBw
Nx2RZ8tSUYDnl8DW+29SPwb7x+vpgGmSFIbXAknKSZDc5ADkji1w+BWkFR9v+HtehAVL0wukEmZR
+9jXd3VmHFcG3HLNFlYdWch5fRewYeBu4j/5DwY3PeJ4/DRJKhMTRZIJN/MufLqO//nS1QCIlWth
/lI4uh+56XvqgGXnI5/alF5oxWrbc81a8RZaTue/ZqEedABLgw0D9/Di2lbEyrXTJCkTznTzb7kq
b1uxoUN9/K8X3kj30KtcvAcMbxW3X/1zRRKURBFNs6F1PvKZRyFQDYf3gmYoq5YNVh1xjjN5/cvw
x3PsCeImwPG+lgdY41+rfuzsgJlt1K5utz9YQxcVMnf7TMCZGtw4YQQ58euHqT7nyvwFd2xR6tbR
A4g7vqhI09IGM9vSjhErEw236zAHnr2f31/dAED7nw9xxcIPwbLzx8hTDEGWdsKDrztou692QaPt
9unYLfc4UwlSjlgs2xv/7ulvcDtX2pfYtwNmzEI++Qs49AqEQ3DhFdDfo/Z7fdDdiTzZiVi5dpwc
AK3zWfSuf+K2HVsQi9rhuiAAWzvugZbib+Lqw83wusQNpRISGNz0CMHr35JVZrKigKXEBwQSnyBQ
C9Sk/K1K7PMDXsCDerdeoA2IAAeBeOITS3yiQDjxGUl8hoHBxKdfCMLluIczNfp3QoIVFz5dx0a2
sObwg6yZf0P2AV4fNDQri1bvCbj6nYjzLkW+tBmxZCVUq0YvUqRIJtJIExrk3oG7SyLIz1b2cLvT
tTw+x3KFkkRKAkA90AqcBcwHZgEzgAagDqhmvNH7UA3dAPTER6DGjyLlA+41AmnzXQJWyl8TMKUc
I1IEGAVCwADQC3SnfE4Ax4AjQtBvd9HJJkk5UA4xlHXDSXWmZhT+fLa92kLXYeSurdDQjPzhPWh3
fBEWtSMf/hbiupvVWGTZ+c5XNU1Cz/yc763s5LmOe3h+idpc7PgDYPs8+7retu1KVsUW85kbfm67
P5UgCQK0AhcD5wCLUARoRBGjGtXoPajG/lpQ0yQJQqEk0yhKEvWhiHMQ2Jv47AS6JqtipUqRUiVI
zt5gOKD8DGvWPQDAsZ2bmMNsti4Is6b1MsRgHyxZBZ37kb0nEDNmI959qyqcixyHX+HDr75JkWIA
WFLiXSTwo45P8IHVX0vbtjX0J/7ccJg/c5gnHvwHrr7hn7LKJaxaf0QRoxHV83t5bTR+NxCotmSg
yF8DNAMLUw/QNIGhawS8OtV+I2aacnffcOT30bi1GXgOOD4Fdc+JUiWIo/RIxer4ctbUv4ENw18f
27ZdewyGByHYCK0quEru2IKoDqb5Puywrvv9jg7DUiQIwG0nr+b21feN/b73odfT8bpZdMSUb2Zu
Dzz9nsLNyC6QnBJgeXTN0DSBrgkMXWAkGpbX0PDoGh5Dw+fR8ehi7LehC7yGjiZA1wSaUK+2bziC
rms01XixJMRNC9OSxE1JzLSIW5JIzCQas4iZFtG4RSxuETUt4nG1P1nGtBJzASyQSGSZlCUhkB5d
s4C+uCn3WlI+B/wZeALs1bUCz190Oy9Fgrh+PB3GbjqGd4/9vu3E5XDRYnWSP/0WkSBIclyx1Wns
Atz9u2voaN9fdKXzYWPLE7zjoS8w5z0qJGa991Y2VvXRMaAIcrS5sPMle05NU43Z50n0oD4PwSoP
dVUeGmt81Fd7RbDKI4IBQwtWeakNeAgGPBh6+rv1GDqxuOn4OxP59tvBMHTiKWVMSxKNWwyNxhgY
iTE0GuN0KMqpoQinQ1EGR2IMhWMMjcYZicQJR01FsASx8hFJSkQ0bukoqdMMXCYEnwARklIeA7YB
jwGPoMY5k4ZSJIjtbbvprdfX3MH6xr+137mzg1W17+XmY+cTbL8cgJ5d/83BkV0cbYaT9c7ndXIQ
FiJBkpjdB931yoHo9lo+j4bfo1Mb8NAc9NPaGGB2QxUtdT5m1geYVR/IavBJpDZkj6EDuG7YuUhQ
DEHywdDVQ4mb9v5SKWEoHKN3MMKR3hBdp0Y4fnqUU4MRTo9ECYXjRGKKQAUIIQtlIOhEqbO/An7j
tnCxUqRYguS8r4J8Dvt2KGtWAgd+/g+888LvFVWpUtWrUq/1jfVrmVE7bvEqpXFORMNORaaUyPyd
dbyuZRHCbpsbhKMm3QNhdh09zf4Tw3T1jdA3HGUoHCMSM92qbjEh6PF59G1Syh9GYtYP8xUohiRT
QhCA246s5fbLHsg+8Y+/zrsXfpU3isvZOOvpgio1mQRxut5Dn74CGG/gqdIgdVummpQ8JrVsOeDU
8JPbCyUKpBOjWJLYoW84yu7OAXYc7udIT4jugTDD4RhxMzdjdE0wI+iPnw5FvxKJmf+MsqLZolCS
TBlBAO6r+gZrZlwLnfuhbfHY9p7nHuQNsz5VcKUqiSBgT5LU7YXATcNNHgfkbfyZBMk6VteJm/bX
Kycp8mF35wDbDvXz8pHTdPWNMByOY1r2zU8AXo8+GImZ3wQcG1AhJJkQgoD7hvmuvbOY6W3j6uYb
WNZ+Iwd2PsynB/6WV5x9hLYo5/jDDerCHl66tjdreypBMlGqZOgdjHD0VIi+4Rg9A6Mc6xuhf1jp
9MOJQXIso+F6DY1qv0FdlZdqv0FzrY9ZDQFmBP00B33Ma6kh6DfGCCIZbxS5SOKEiSZPx/5TbNnb
y+7OAU4NRbLuNwGpCXHAkvILwHftDnBLkgkjCExs752JSpIe5Rg0D4fj7Dk2wGPbjrP11VOAUiVm
1QdoqfMrC1i1d6zh67qGkbCUCaFyF5mWxGtoDI7EiJsWw+GY0vVHYwyMROk+PUr36fFIkstXzOSa
Va0smV2D19AcCZKLBJMpXfYdH+SRF7rYeeQ0fcORrLGLgIiEnwM32ZV3Q5IJJQhMPElyhbZXAkEK
lRoHu4f50kMv0zccYV5zNRcsamJJa5Aav6c8FXdA33CEvccG2Hawn+P9Iyxvq+OOt5xNW1NNGkkq
hRypkBIefvYIj207Ts9gOJMoEngSuBbl6U9DPpIUQxBb5+BkNdRC5nqcaQT5dUcn33liP++7dAEr
5jWUr7JF4M97TvL7F4/x+fet4twF7uriRJDJJM6Pnj7Io9uOMzQay9z1G+BtdmVykaRsoRC5GmMx
E5jszlGO80w2YokBsBt854n9fPxty6ecHACvW9bCB69czLcfe9XxmKQ/JAknErghh544l67nbpK6
lnv/By5fyBc/cB4LW2oyd10L3GFXJlcAZVljhSaCJMUSY7KlRyoyJYYr65Ouc+OlC7j3t3vo7A0B
UBOYWLUqF14+3Mf3/7CfD7x+geMxTtLCCXb7koQwU86ViySmlZ9sbU1V/PuHLmRpazB1s0cIshOv
JSAl0o4oZVOxUpGvAbltvKVIjKk075aCvV2DfO4HLwJwdmuQi5c2s3h2ME+p0hG3JK8cG2Drvh4O
dA9TX+3l8+9bxfzmascypapObsrrupZGnkIwEonz0Q1bGI2qDkoIMSSlPAc4kqtcqso1IfNB3vSj
On7/AefGffDygbwN+ExUp8qBs1uDPPTpK+gZDLPtUD+PvnSc7/1BxZ4FAx5mNwRorvMTrPLSVOuj
2m/gNTR8HgO/V8fISL0dtyThaJxw1CIWNxkcjdE/HElYscIc7x9lJBIHYMXcet5x0VxWzW8gWJVf
euUbbyS/OxEhdV8qEVK/Z0qWQshS5TPQU56HJvCaEm++cklJIgSibARZ7buYmzvPZd7RUZa885/h
kPNUVRgnQDE9fcb8i6wnNpHS4+3d7dzDM0WXzxfHlERz0M81q2ZzzSqVJS8at+jqG+FIT4hTw1E6
e0Mc7B5iOByndzA81ks6IRjw0FDjHYsTWzo7yMVLZrCwpYZZDYG0hlTo/dh51VPJ4aZs8upJEtiR
oVBJcs9v9hAKx1M3dQMH3JaXElkWgry9u50vrvkxzAQuHN8+9JtHqX3rtTnL2hHFSXpM5Rzw9eKv
WN18HVdfnj311i3cksOu5/UaGmfNDrIge/A5xVBN20lauCVJJlEyUaj0+Nqm3Tyztyd1PCBNSz4I
hWWkKYwgAmE33v/iGpugyj0vcsI8Ptbw86lM+STKRJLjmhfhMYf5WYuPw+fOTcl2YoN844/UBpLa
iDIJk08nnwofA2R71A091SonbevtFNiYeqwdeeIZqlWSGG7JseNwP/c/vp+jvaG0pioEO6Xks65O
klrvQgu4hmnycOgnapIp+X0lSRQy9ihXfqqzas/nMV603XftsjvHyREaLOr8do3HTprkakDliqQt
BklyJImS+htEym/nOjlJknz3kFS3kt+dcOjkMN9/6iC7O08TiaUfpwXECWtU3oyaDlwQykOQ7k6V
pic16HDFajYe2Zx2mFtpUgoKHX9447C++dN09HycjuaetH0X7oOLWxtUGoU8KKTBpjaUzJ7VqSfO
1O/LgWJirfKVTSV06j1lSs1CnlcuYvxx10ke236cfceHiMSy6iOBF61ReRPwiquLZaAwgjg4VORL
mxHzl6ZNld32q8/CefanKYYoE5Vi55amOxGL1rJm4AN0DIwns74v+kXWvOHm8QNNk9oVCxzPk6uH
zxUe7rax20kat43MSQrFTdOmPnpiu54hKQCRO6p4/B7THaOZUjH92MIkoWlJ/rynh2f29rC3a5DB
kRiW/QSSIeCHwO2UsMx4eSRI6/ysJAvfnPdc3mKFEmXCUn52HWa9fgMbUARZH7uRNWfdnH5MOGRb
9Jd/d1VWD5kpCVIbQ+abSpo4M7c7jVNSy9lJIrtz2JVPP26cDJl/M787bRsjlqGPNUdVRz2LiG7r
lcTerkGe29fLnmODHDs1QigSx3IIeTd0IS3Jc5YlPwn8Ke/J86AsBJFf+BjiXx9A9veA18fXB7/G
H+c6pPuxQblUr6LNu4k58bc9cykb52ymacjGllJt76wr5EU7HWNn/5cpZZykjJNJNXMMk3mOco5d
khJljFhxc0yCpBMvu8Oww3A4zq7OAbYfG+JgX5iTfaMMDYRcx7MFq7wf7RuKfLvY+8lEWQii/XQb
MG6iWxv6G37Q9UFGnfOt2WIyxiipmNsD6+fdNfb79uBdbGQz/bq9tLDDAzsPcWFTI/OaavB7ih84
5zJjZjrS8jneknDS91OJ5ByZmz3GcDv70E4K2aF/OMrergH2HBvkSE+Ik4NhBkbjRKNW0WOj/qHI
ffmPco8JsWKtqb6MX0c28LPu77JxXuELCrrxiZQDb6u/cfxHfw+sWM0/P/Fmjl+4KOtYJ6fng48c
5mH9CAG/h/qGRmq9Fs1+mNdUzcKZNcybUU2wyoMnz1jDjhyZHmVd1xDYq1vgPhQ9m0iJWYjJMYfL
4Eo3MWahSJyuvlG6+kY43BOiq2+EkwNhBkZijEZNYnHLaQyRBU3TqK6qZn5LC5dd/gY2/tc3s46R
JYw37FCWWKyh3z0OpokMhxAXZvgEOvfzX33/jwesn3Pc2bGeF+WK70pidh/UjqQkj+g6rMYZi9rZ
Gt6S5ffIFRXgBC2R18praAQ8BtV+gxq/QV2Vh4YaH401XpqDfprrfDRU+6jy6QS8BkJkS5TM37mk
QipyOSdtxy02UiFzmwROD0fpD0U5nfgMhKL0DkXoHYowEIoyHI4zGjWJxExiprv0P5nQdZ2A18vM
Wa2sOLudN17xBt72prcQ6HqZO3o+woMfzl7sSIBWTpKUhyCH+lSO3dSVoTJwYOfDvLPWIdVPgSjn
7MH3d53L59b+Iu9xxRAkH0TiP02oJHF6Ykagkcif5fPoY6mE/F4dn0fHn/Lb71Efn1cn4NUxEhJm
7FxGUuJIhCAxPVUQiZnETYuYqZLARU2L0UiMcMwkHDUZjZoqv1XcYiQSZyQeJxw3icYtInGlllkm
SFMiLVQYbIlNUhMCn89HMBCgbcYMlp93EVdeejlXv/5KmpuakZu+x8G6YX5/bpQNCWujXTvQNeEx
LRnP2lEkyjNIf+ZRxCW5Q0oWrXg33+g4xMda/rOka5VL5WoahFNB+HHrNj6X2CZ/eT/iHeuy7seJ
HP/46f/N89te5ODhg5zsPclwaJhINIrpUn+Wif9MKccSEYxmT3pzhkj7k/J7fEdqD5jZiGXKhnJl
ScwHIQQew0MgEKChvoE5s1o569QRVr//Vq580/UskFGYPR/0RNNMqH+/bHuVzzd9X6WazYFyJ8cu
LAWKys6dJauz1vXrPQGDfcgDuxBti5Gd+xHX3AA7O/jS0Bf5ceu2oitcLunxwkPv4dZL/pvnWwe5
6tRi7jn/MbUjNAgD/erFJLLL2xEk9Z6TyyUcOnKIT/z2vbxw+hjRQxbxYxZmv4UVksgIyKhEmown
GX0tQgOhAYagVvNQ3zCTpsYmZrbMZMHc+SxfuozV513IwuFeahctV07mQNW4Dy0aUdn/MyCf3sS5
Cz6ets2hsyzrilYFS5DWs2ad0/XqiZdTt9UuaEwnSe9xME0Ohnbx+9mdMBsYuJsFR/fwuQX/wL59
7x7Lxj5VMD7xFe7fsYV1h/6aJxfsZ133+/n/et/HQqtVHbD9WcQVb1O5g3MhGhlLmTr/2Cvsv66X
OrJfsBWSxLss4ictzF6J2SeJd1vE+yysQalIFE6QKAYyDlgSLJDJLmmyiJWymIJILrSgC0Ri8QXh
E2g+EFUCrVqg1wq0BoHRrGHM1PC0aRizNLSg4Kaehfxd9WfHntHur7yd5de9FfnYZrjoKkUGXYfR
EUWUTHIc2AWL2hEXXsHF+9p4trFzEh7AOAqWILWNtS2Dp4ZOZO4b/OmD4PWxYfjreS1XH34UvpNb
I7NFOcce20ceVs7NRGZ5BtU4aiy7fAJO6tXQ/h7krq3p65QAf/XkQl5abFvEPSwwT0vMAQtrSKrP
CMgRiRVOkGkUrHBCMkWSpJIQR0kpiwShZKKVoxq3BhggDNXghRfwJBq8TyCqQKsSaDWJhp/81Am1
PSBKmod6n/z3tLzL8plHoSaonmN/j1o3xgFbj2/ilti4FJkMCVK4igXg4NEe2r6fVacvyHuemlG1
NEKhKCdBvty7jusuyLNmO/YEGdz0SBYxkrh438KC/T9/KbBdLyYhIQCl3jo4ZJP4yp9v4HttzwOT
Q5CC+wIBaLXCtlutXbWY2c7LjI+hXOQoBT/tv1/lBU6B/PHXkS+NB1jKZx61LSsye7nRETBNBn/y
b9PkyIH3/tFmY+pSF9VBtnbcw4a+r7LtN3+vth3YNb5kOPC3tZ+c2EpmoChhKYel42LMb7VftmNC
UMrMweeXwIaWx9O2ifffgTjvUggNIr/zbwRver9tWZlcS7FzP/KbX1C6s64TvPHTbBt4gMefvZXb
Tl/Hbb/VufEpWB+4jfu67uDi03OLru9rAT97ff5j7h24mw3DX+eDK3/El7a8ExkaVAP3BJwk90Sh
aG3SKbL27//lzJlLvjXsMFaqDqol4GwwdKgPMf9s9aNtMeKj6WqaWLmW5otu4PZV93L7x17l7z94
kPXNn6FjKTxbf7Sc1T/jMByAxzd/3n5nfw/f3/TONOPNj1u3cW7dTWwdfnpMmstNxWX+LxYlhY87
kaTc6tBEhZt0RJ5lXbeSElvDW9gwcDfHHvqCWpr6PbfaFzJNMOOJvybssZlolVgHPgm5Yws/7fp6
9nF/gdir2UwJN01OPPND/v1ce/P/LS13c8ui+9Xa9ZOMggfpmducQtAnOpviRCZmuO/Ah7n6r++2
3Zfl83HC6AiEBtl66CfcO3D3lJu1Kwl2i6XmWlYvidW+i7nf/DKr4lcCFeYHSZJDCjQs4knpIQSa
HUncpPZxg8lO/7Pas5o1V34eyCbI4P/5B1fnSHvZLZS0PPWZBjfvq5Z0G88TD/4DHS35B68dkWf5
ymNXwjXF1q5wFK5iWcQhXXKUU9W6cB9cnycAeCKlxxqf8yBQ3Hwnv/jJO3OWd9MTFoN1u0p1rkws
SkkNe/UN/zRWPt95vjeJ5IACxJFTmIkbuGnQq30Xc9+WaxHvWAcovT14vX2KnYkkyIX74MFb7F/Q
tm98lncu38DNx87ncs9lrH3Vy8br4qzeJ6jvPMW/XPLKhJBjte9i7p/54zQfQCVhoqV88n1rVvqa
kRXlKBxTsSaSJNp53G9+eWyQa+ekm4w1R+we/NChPjYM3D0WSTpZSF2qrufl3/HGmvWOC4tOBSZT
BXaZ4nZqHYUTiQ7rJW4d+AhmNMoHPvZXtscs6J7kSqVgtTift3e3o01Seqo39SxNW8ex+Zw389/D
Gybn4nkwFdn2p+KakyZBAILv8tJ4RwCRJ+3r3Qc+xsc+9V+c6DmZtW/oleOs23UlHY1Z4WBlgZP0
AGDfDu7t/TIb52zOOmYisD3yq7QVgJPYevAn3KIXnAOtbHDTSCPtzkmvM+Hb5X6KswtMrYoFpZGk
/q991N3kU0FvDpj5QIwtG0ayticb6tbwFm45abuqVsmwe/n/tu3zrN4n2DD3mbKPMVb7Lua+A2rc
9bPAk7wa3j02HWDbkXsRl11nW27VkYVlrYdbuO3BCyFIJkokzNQGK0Lp6Xf8qwwa7/DjXaghfOlV
kDE48bchwi9lTwpL9UFMBEkmayFQbxzW7VmKuPQ61tfdlbV/8OUnuKv2bu733zs2JyUV8sdf59zX
fZWVB+Gu6rtYs/pO6O5kz6nNLGu/kdDLf+D+gQ18a27+1EuFoFD1phSSJFEEWaaeIJA7q7rbB+lb
plP/IR9Vl47rXJE9Jqc+GSIymD7xYahjV9aU3qRV58an4Nrld9GxRPLonnvYP7uAm0rBZDgk0yZn
5YF8abOKDbPBvfs+ye2Lvjw24y4N+3bAkpVs7biHO+ruLksAZa53Gmmvtm3I5SBIEm6IIiAqsZmM
UwImZJC+8Om6sU8uRPaY9HxplNPfjxDZq6aaNny7NoscgCJHRvRt9YrLAPjJFbDde5D1dXfx89Wv
cuG+wus8WYO/e5q/Qc/2R4j//BsqVasTdnY4kgPg9iVfsSWH3LEFzDhf+fMNdOv9fH3uAzal3SPf
wLicJBiDTbcdaa/Oey0JXso8paysBCmmB7aGJP3fCjPyWYtjbx5l53PHs44Z2q+iZ6VNdsPz9sN9
A3/HLasSnm9d56LVdxZR+2yUW3rcduxS1nn+njfU/08uuPBfubfrn50PXrE6/XdKyLcj9ryIWLmW
dQ1f5nttz/O5pu/CC08VXd98nYYrctT5wVfgxNVaf2nXLCNJik7a4BRiYgc3qtfpU9mD8iTkrq2I
9jVZoc63HVzD+qtsMjgOF5eFfaKxcc5miKT8nvU0t7uYJASkz5tIIjSo5v8n/Eby+afpCOynQ4wb
Er7MxqLqWhZyAAyEEQ1VyIj7RCOizo8cDDvuT147j9olKcN4pOwqVrmXgx461Ic4a5WKoCUj3Lk3
W9oArPc5rtVoi6lc7m3b419yd2B3+lxsuWML8olfKHIkVbWaWm4Rn0o7LlrEOqDlIodvVwhrro5l
jbq7sBDgMxCN1eBixSsX9ShZkkxIuHsuvPehs9SA2wWGnt2uvgSqlIphmohF7dDdqTKJXHODfcEc
+bncYjI89gA/mGO/Lgl7Xhwbc8mfbUQ+/Wu1fWcH8rknYHgQcX3CmZoMs7DLAAAgAElEQVRYcuJf
Zv4q6zSHZhZWn3zjDadG6bRdxCRiyGU7lRIiceSpkEpY4QIuxiYlkWTSPenydA+rRi5xNYgfM3Ee
fgUWtate88AumNmGWLkW+cOUsI+UXFRyh/t0p1O9WOjvm1/h3mf+x/iG7k7kL++HZeePj7naVCpU
+dJmZGgQMbNtPG9XdydbB59iXff7S0qnBLmfxei7iuswxAkr96JnNkq+PO1S4qRgokgyIQTJ9aDd
zosYemqL6kH37UAO9sGBXYjqICxYqibOdB1WB/YmPOopFp1S46UmS3oksXHOZj774ELkw99S5E8E
bIqVa9UzeORH0N2JCDao+fApU1CZ2caa4BXQ6XptSlvktVQ5tZQStXw5y8ZMPRzJ3uYCE0GSgghi
m7VuotYOnL9UhVksWamkRSyC/N5X4aFvIbc8Cq3zERddjfz9T9KKbQ1vcZ0we6qlRyrmX/Lh9JRD
nfuRj/xQdQ7vuRUCVVjf/IJ6LvOXZs2u++axj7LS/YoTacgpOd5bh9VugAD5+iZkiwYekE0a1lk6
co6OtURH1hTBFB2sORpiUVNxFbdBuUlS8F2Vc1ah04sZ+t3jWQvy0N0JM2Yjn3scnvwFXPVOREMz
MhaB7k5+2bSd44saC5Iekz1T0Q7tR+AHdT/AWJnweXR3Qk1Q/U1arroOK3VT17E+exPav6b4Ngb7
IdgAgHzkh3y07RsFzX3PRY7wG2sRJy3VrCzGVCXZqvpE0ZXYIMBapBPYZG89dGy0foG51oOxzUD2
O1sxi0EOC1dBbb4svb/3LN1hsTVnOL2YJ7783mxyjI5AoFqpGZdcC9f/FeLCK5Q+vnItHZe18fmm
75dMjqnAPzb+6zg5QI2lPL40s648fgi5ayugJm2lIUEOAPGWm/nWqqe578V3lFyv0XfXIU5Jtexl
nPFxhAHSL8bJASBB228y+s7c5mrRVg/GeJOTXkCj7OSAnJKkIClSFoLE9pvb7bYX0whXe1Znb/T6
VENIrAQlVq4Fr2/ML7LGv5b1daU7BydbeqzbezbL2m9M39g6Pyv9pgg2woubIdEh5MOad9zNm3qW
5j3O6f1E2qvHpUYGpFcgQtK2H85rrRqJQjzlpB7h2J+L5QWa32xQDi9/2cYPWrWod3uso2q1v8c2
vDs5KJW/vD99uz5uAllfdxef6ncw+7q8/mTj0qa35T1G7tiC3LddRfUmDROpGE30vgd2pYWuvEO+
Med5c5IDwJS2plahaYjZQbRz5yCaa8bTmgLSk1t7kX3pkkI2CaTPvglmjUvq/FDlzXn+AuBaipRl
DDJ21RwBjEk4kuPZ7ciTnbl7SNPMzoebkc/1Xc8uzBmsOFkRu/mQL2hR7tiCaFusktjteTHd57Oz
A1asVubs7k7lG1rUrtQzXR/LkO70LNzEVsk2HXHMHPdHJ5uUAGupgXbQVKGByfpWC2SzRuCR7HFI
5NxqrFk6cqYGNQLpAwyBnO9Ba52BfK4bohIRtWBEIk5aGCuWYm3anXYe0VaP7EzPWSjmNiCP9jve
DziOR1y1/YJDTaRE5iJJJlKzm+TsuWe2IWbkaNn9PerFDw/CYD/y8F7bhMf1w7kq77bWE4elnXBT
1c28p+4DOY8beuF3BFf+o7q3ZCbHJFasZsOJL7Gh7lvja7gfUX9ue3kpM1ov4L36O/ioZx2fIUPq
5kCqSiK0AEj1MGWtQCQDSCVoh03M8wy0QyZiSCIbBLJKoB00bSN7fdtCRGLVcDR97RPZEkNeOYL+
q2y/h4xnT4iTx7Lbj1gxy5kgqcQuEmU10Ra7jvngtxNrzdmFbifR0KwsOccPQ7CBW4JfUj1m6mB2
x5acfpaDVzgT1E1GjVKx2ncxP6t9gBWHYEPTo+y75/22Ts2v/PkGai9489hvW6kaqLK9xsZzXuGL
jT/m3LqbqP/Npqz9eVUrgKAfbe6MsZ9yXsZ7CSfGIFGJDAgYkGj7TQpZ+weAGFh99vWRR2wavc0q
P6LaPpZGtNRC0K/+2sMVdSZkEc9M5Gp0+RKxbQ2r8O011Sq0XVyqZti1P76DXwc/wNtuGPeDrOv/
6/EeNRMFTPFK1rfcalfvkWc5d+ZNcAEwABveBXAT1//CT9tVHwNg64lNdLQd4JPNq3KeS27+LZyT
+3of+1AP7Udg17zcx2WSg7gFIzHEzFpk9xDWAh3t5fRgQ/3ZGAAjPokvBnoxPXVMIswiChoaoi4A
9QFEWz1ifgOyfxSGwuPN3qfDySGY5XWcr+LqUsUUyqVmFRLl+8ST4wkIXtj9XVqtZmatGE/1k5w1
+NTgN1VjSEwEAvjxlRA1niM5zJXPPcHzC5w9sAevLFwypBK7HGRxiovadEEYkibqROb7racfZ03g
etvj5dOb+F3zK66umUqOfNJRzKlDLJ6hPNmzggi/B5qqkC3DpIUhJ2AJ6A0KZvVL9CLmmIoYBXVc
Y4hbKl7rVAh59DTycLa0kUdPI5Y0Q46oYFxE/E6KBHHCLfpn4Ugi+UCiE7t180UY51yC3PEsG+dt
YfVAGw0rExaZBDm2hrcQNeDKbYBxGFrnc8v8b9q9Q6A8VqtykyUfNmg/ZA32BBFrr+VQmXJWpEoP
eWwAeWII0ViFCHiQu7uRp0eRV9mrc5qEeT3uJIBvVyjb7BqTMFhaihg55Nwpyn09jvvcYkII4kaK
ODWyb819Dgaeg0TPt77mjqwVdP/ulZugHpZf8GHkqeN8tPeDdBSROf2hT6slq9/zb4VNKsok3EQQ
piPyLOuev4j79K9lzSyUe190ViVLhWkhe4ZhRvV40GCBk1jdqDRibj3y6Gm0IzbNxNDS/SU5IF86
lveYUuaNTKkEyYfVo4tY03J1mpXq8M5fcDLhcZG7Ojj37O/kPIeT9EiSI/N7oWSxu0a5CNPR3MMt
vv/k/v6lyoKXiG4WTbOVd7uEOkLG2EMH2WJgzRfIRg2Cw8gL/coMW3+a2LoARCQigjLF9lhoh01E
b55oXQfIo8pcK/rSC2tXnIX11KvqhwsrlOzJYbb06BAr1HKQjqIJks/cK/yiWoalI3WtEYlWldta
fKf51yomqaEZTJOtL36dewfuhlpYeRA2nr0jZ3kncvzsU5c7lilWqri5bjHE6Yg8y1NPfILLm9+J
mKl8Ifce+OyYhC0bTNBiPsSW5CtLqC5aJ+Ynq/Hcbx+CHvUaeGImoth1pDOKjZEDwC9gtAQ7bYnk
gImUIBF5Y67dQ5ui1N3oLLvv676Tc899H5zsZN2O19NR15mWKX1HCWmh1n/jWd56YRtvX5OdUieJ
UqWKHYqdbfk3l27mtyfeyhxg668/xcZV7ue7FIT6APRm9GkWMOLcSL1R96LMdhySA9ZsDe1ACY3c
o+PbVtr065Ln7DpE9/5I18R7TUvmcGw4N4obn4LGt9+J3NVRdBbDvBYbAc1BPxcubuTta+bSUuec
KCAT5SJMJSB67RzEzFrQBbTUQvcQxExlHTqlyBL7SADPtwufxFRSKiANzEu96H+MFnxdAHQN344h
t0c7a0LFXT3lBOm5sjTgUeAqt+fOJEmxK+CmwokcQtj6mvB5dFobA5y3oIHLV8xk3gz3vdyZTpY0
73n7LOSubPNY/N0+jIcLn8SUa3CclygeiL81gPGLwolJwIPvecdlNO0waQTZBLw1dX9twMO1587m
oS1HHM8x0atRJfGutfP4w8sn6B927pU8hkZjjZcls4Ocv7CR8xY2UF9dWJDcmUSa0XNq0BJBiWJB
I9LGcWuu8aBvjRV87kKcc5mEkVUC88Z6jO/kjrNKg6Ghtc/C82PnxGg5LGz2fj33V3eGEAiB+LgQ
fM205Ng5F7bUcNf1y2lrUnb0fA2nVKLkIkdyTBGOmjz4zGH+vLeHnoEIVo7BpRDg9+g01PhY2FLN
8rY6lrXVsbClpuC6VSppDr2hjdnHE42w1gc2fgXZrCF6CjdVFeO9HguWbDRg/VmI/zwEoSiY7q7v
RmpNCUHmzqiOH+kJjcViLW0N8qWbz0+NhgampqGkDrhT8cSOEzy96ySHTg4zHI7Zql+pEICha1T7
DZpqfbQ2Blg8q5blc+qYO6Man6f40LapJNBY7+1kVtUozuNN8Ymow5fWYn6gHuP/uVwTMs+1UiXU
hBBEePDJmJOvmnlVPuPwSCI5WMCr8831a6lyyKg3mY3BiRypiMQs/rT7JFte6eHQyRBDozFiLnss
Aei6wO/RqQl4aKj20lznZ25TFQtn1jBvRjXBKg8evTKWYrF79hOSPjSBUjK1D/9HC56N+cvnu0b0
ja1pkcCFEMS1mTew1nPdyB9jv3DY7Y3GrSgqNyq6JhzJAarRVpLK4fNovGV1G29Z3UYkGmfX0QG2
Hepn++F+Tg6ECYXjjoSRQNyUDJtxhsNxTvSPsrtTvQxdExi6wGvo+D061X6DGr9BXZWHhhofjTVe
moN+mut8NFT7qPLpBLxGltStKPgNiFmuVZ5SUPPxk4x8uB5iqKDGGBCWakbjsESEJb4duckRaa+2
DZN3i3K9Ck0IXpWShcmTvn7FTO5867K8BSeKKG4kRyZ8XoOIjV1/f/cw2w/1s+voabr6RxkciRGJ
mZguk5s5QST+04RA19THo2sYuobPo+Hz6Pg8Gn6Pjs+j4/fq+BO/1Xf18Xl1vIaGoQkMXRs7l6YG
h0gJlpRYUvJPP8meHe1Wgoi5DchjpxGzg8jhCAzkDAQcg12PnZwakciU4/ggR25vUOqdJHEjQBiq
fpDfSuV0X5M+Bkngq8AnkufUNcElZzfzieuXuypcDqIUQwoAn9dDJBrD51VSz44kqRiNmuw5NsDB
7mFePT7EidOjDIzEGI3GicVlzoF/OSEyviQNirkkkBOp3ZBELJuJ3KPWwNMumof1nLNlMhVOBLFJ
I2VbORfjh5xl3NSHSSCIB3geGJtULoC5M6pZ94bFrJzf4FiwGFT5vYyEnc21AZ+H0Uhs7G8Sfp+H
cCTbZJkkSbHwegyO9gzT1T/KkZ5hjvaOcHIgTH8owkjEJBIziZsS05JI2wRjUwtXBGlKHFPtVU7E
kDsnXgEEARuSFDKfw819TBVBAFbpmvilackFaRXyaCxvq+eDVyxkQREm0kKRSQonZJLF7/UQLpAk
TmpZJkYicboHwvQORugbjjAQitEzGOZ0KEooEicUjhOOmcTiFnFTEreUJLIsiZQgkST+TQhcD9SL
mMZaYI6qom+xkKTaLutSdoIALPXo2sNx01qReac+j86S2bVcs2o2r29vKflC+aQIZEsSJwkC6QSx
kyhuVTAn+DwGkZhz2STZLCnVOCcu6RtSRoKRqMloNE4kZjESUWSKxiwicZNoklSmhWkpKWXJBLHk
uMqlJcYlO2wmGKU2rujfVOH9z0lJ5FYWgrgihleHqFloXSaEIAnvutjoM7SPhGNmln1TE4JglYez
W4NccnYzr1vWjO4i3X11wEtoNL9YD/i9jDoQJ5UowBhZClG97KRGPklSTJmJgtN4bwrMvZkvvSBy
FFJfcc5s5MvHC6mL88ZyQAiElFzq9+pfN015rpOZVBOCar/BnMYqlrcFWbNkBme32mfoy0WQKr8K
B5HAaDiakyS5kEvCpMLNmKVYAiTLTSSBziR/SCaKqad27dlYj+7NVZfS/CCFIjFfZHMkZp4P4i3A
r+2Os6RkaDTGnmMD7Dk2wKaOToIBDzPrAyxsqWHVggaWt9VR4zec7gEgTdVyo3o5wQ05gDFyZBIl
tVGX0shTy40TpjRDwlSilMQJqecoFsJfxEpCTNqMQvmI2yPjpqRvOErfcJTdnQP8/qUufB6duioP
LXV+5jVXs2xOkLNb62ioUVIjkxDFkqMYZDdYkbE/PzmSY5vk8UkyZJ4jeS1/Yl84GivIsBCJWRzt
DbHbwXFmLdDRjpnKIVdBKIoYfgMxrwExK4iYW49oq0cbCiN7QrDr1fzlE5hwn22utdVvb/TwxxGT
w1HJsOV+8XVNCDyGRsA7TpzWxirmN1fT2lhFa2OA6kIXjpxg5Or9nfYlG78/hSyZZPD7PCDHt8dM
i8GRGEd6QxzsHuZob8g60hsaOTUUjYejpiduWl6pOkbbd2/XGOVMbTzLewkoOLrXwWIm6wXidGGV
0a9fgblpp2M9hMpBkXXSSQlqSIxHstp/7JYVyAOnONk1yK8GTR4NmbwctuiOS0akpNCUSUIw5o32
eXQCXl2FdlR7mVHrY0atj7pqL/WJT0O1l/oa7+Q8hBIgJYxG44xETEIRk2OnQvQMhukbjtI/HGFg
JMZwOM5IJM5o1JSjUdM0TUtIyDlhzQ4TOQ4BF3FT71mE/uZlWFsOI08MIU8OqaTXKW3BXO1B7yhM
zGlvWIr1+Cu56jC5YxA3kHtOIvtHaNYFtzQY3NKgqtMTlzwWMnkyZLIrYnEkJhmwICplzqXrpCRh
7jQZjZqctnkOIhHaoQmBpolEeIaKl/J6NHyGNhbGEfDqVPkMAt7x0A6fJxHWoWt4dBXaYejjoR2Z
4R1Js2vctIhbkmjcIhI1CccSn7HvFuGociiGYyaRmEUk8TduWco/YklpWQnfSOJ2bB6DoFKTcTj0
RGmph3Z3I8+ZjfXMIdtjZbVAztaQrRrieA6pFvQjan0qM0soijzsPio4FZPyIB0dxz77Dq7ZENxU
Z3BT3Xj1DkYlT4yYbB012ReVdMYl/aZkxIK45d4zLSWYUmIiwUxNpeWuR0oN73AT2pG8JiScfepL
6p9CUJSw0wX4dI1aXdAS0FmkSS6cq/P5bdmxVIXOGy8HkteUbTqi03RcwFPO0JDVAjEgEf1SJdHe
az/GE1Ue5LEBxJw6ZCiKPHCqqLpNaU8jzm+DA6eQXQO2E3VSsdArWDfDwy2D41UesiQHopLnRi12
RSwOxSTH45JeSzJkqRSysRSnWTkgU75kNvipgEBN1zAE+ITAr0GdJphpCBZ5Bct9GkubAqyIxljo
VfzSVrVinjjBZ9r10s2vBsSv96HtjKO9kifBguFszZJtOtE7q/B9ZmhsLnzaTfoEco4aC1nNGlZr
Yim4GRqi38rKCyxPDCFa68bDYYoMLJ1SglhP7Vf6ZS74BeKsWch9J4jdWoXx8zDaAZP423zUbI5x
br/Fuf7suRZRCX2m5FBMsj+q1LSumMVJE/pNyaApORHwEYlZxEyLuGklQjtI8UKrhzpJ7V8KQAiB
hkQHDIHwCIFHqAw41ZogqEGDLphlCOZ5NFoMQashmOsRLPAK6uwcrv7kMgGnQYCMmln5qNJQaDiJ
Jlytay5nJNQiu0t2mvg+pZIsWM8ezi6rg9QFeIUaWXmSf1E9hA03ZVe2ta7QpRAmc3xqG4SWC9ZK
g/hVXrz/MQIGxN7vx3g0ijhpIRsSPUcx8AlkqwdxMAoBD+ZojGFLMmzCKVNy/DpfvPvno6FBC33E
kt6IlN5hC0YtGJWSiISQJeNhiRlT68xoAgwLRDJ2O9mza0L1Qkbi3fqEIKBBQEBAE9RoENQEVZqg
VoO65S0EX+2hURc06YIZhih8pA3IWRrWXB1MEGGJHquDvjA014xF5ILzoLkgNcvljEPzIg/6czHH
6+a7ppytgVTrk+jPxrAW6Wh74q7ILBoC0FiNd1M2+ThTMytqO+J4dyR0TBP05+PK3AjFkwOQLRra
hfMRc0wVo/Pkq9RpUKfBHI9g2Tkew/tkLN8EeYNin1+uHrqrD6qKocQ4rMU6aIwlWpANGvGlg+hH
4pChvpTDgefWPi9nlzarUhy3kI0aslFgnmOgvxhzR472WWir52J89g8FX7OiCZIKWSOKWs1E1qpy
YmD8SYqjJvLoPqQm7HXT0tpn/jpVJdb5mwj4BLJOQ39h3Ogg+i20lyXW2Tra9smP/UpC1ud+gW4M
BKLPUmpayqq7ea+76wTGg/uddufUoipjonQqqrxQ40UGBdYiHWuZgdVuIBfoyBka1nJDfZao37nu
QAYFYkgiBqR97+U0cCvDU7HOde57ZHPuepcCGQBxOrvliJBUOrxLlCxVEpeSKellZfX491IsZdo+
E9k8OaODKZUg+nvPQ54YVIOyRCgyozFAIiSIQbVNVgvEqMQ620Db7b4HFIMS2aQhhiXmSgPjeFQt
O1wtFLmCAulLDPYSDVZWC/AJzKu8YCrJJQYsiIKISOiXqhcbyT05Q+zLYdGpFWop5RwpPYuC1wDL
Ap9D43EIRyqLmpWJpIFvtobYn3gWZVqDU/RZUOO+hyllzfQpJYj5s5eyNyaTtA1HkM0a1nwdqgWM
ShXycMQsSD0RpxK9abL3lKgM5aPKUiX8gA+kkVDhklkdTXWMGJaIuIQoEJKIQQvtrJnIPb0QcSar
beP3CaxZGlaLhvAItAPxgkMmHK/XPhO5uxutsRazxYJX42muHWuVWlNw0iCUemstMxA9FmJUKstE
ngG9Wz+MdLkkQynkgEocgwyP+0NEj4XeYylVaVBJkIJ0d59S0+QMTalrb6uDEYluBuHpTmVyskF0
lYH+tLP5WW4rYvUan8Caq6EdNpU9v9eCKqHWHT+Z0mJqfGnPwBWqvchdyjIlTwyhGbWYazyIPqk6
gmZNSb2ThRk2CnYaegWyST1z83wPBASyRcO8WH3HgMjnaxRZIpLh4QA1/6u3oDqNIc+S0+VC5RHE
BsneWIQkkX+qwfhNZMxcmBMROaaSyVqB9icLBsNIBhGzapEnHJIbT0BGG6tFQ+u0VK9uqMYijlhY
i3VEb8o1CyUHQCSOaKoec7AJdPQtMWXY0AXaiThEcncsZVGzohJxXCJqBZ6fhRHdFrF1ATz3j2It
1omtC+D7l1Deuvh2hYisqEZWKYLJeqEIoaEkU7VANgvMSz3jGU/McRVY61VeYt9OV9LjzF1AZwwJ
TUacshD9FiJchFoiQWgizRPuiHJpIn6BNVODOoFs0jDnaWAIrLN0mKsh5+hggNmgIQatsaWWxQmX
DE06zMKJ42f4kWdXwWYVd6TON0luTh1kMGGCPd+DdtiEpQbWfB3zcq/y3Aqw5irpKYYSoT5OxJSq
YxSdJvK0pu7VAOkRiKDAWq7MvsRAxKSKGYpIRRLTtWolU/5WXrCiE0RDFbJfzYnWrjoL2RNS0yVH
Jd67i5srrR0zQdOh2ovwGshu59T4Ik8P5xphqRoKYM3T0TpNsEAGfGiHTLQ9caz5iTkYceUIlXN0
vF8LgdDyJ2czGTNJy1MhrKUG8XPDePOtGOEVyCrSxz8OLcG1mmWCGLbAUuqwODluLBA9lpIaEfVd
jMi8nZBvV4jIBbVYcwQiAlIDEZdoibXW9csb0f1B5IFsddfFkmtO27NIUnlmXtSAMwnrD/vH5hLn
hE9gnePMd+3lOLJvREV29uch2WCZe12hTK/WAiUx8AFekHMSPaOljjGejGI8ElG/q1zOgIuO11V7
JY73XnVv4qwZ9sdrIKuUqdk6a9zhI+u10oMUY8rfpO2NI6Kg7Y6rjmC3MhiIPkv5ozK0Y6frWmd5
0fabiE4T7YipwhKSj0Xz2q5lUYKaeOZIEFJm2NlGGSZTEqbuE2St5Z2GjM5YLGpyjPDU3Ko4yVPP
17GW6RiPRsf7IZ9ANgplNtaV/ixrBfElOnKWhlkjMC/yYGyKqEArC9ULm15Eez3ayrlYzx+F3hBy
YLRwTcmbw9sZT/gSmsb7R9mojVv8SoR20MRaZWC1eECAeb4HYUq0Y4Wd//1PDvBAs2/Mbyu6TGV2
j0nksR7k7iLGawWicgji1RG1fqjxIuoDahH7oYjyi0iJnKWN6+Zy7L8xxC/zoL2S6GlcIIscAswr
vWj7TMTBwgYhIiQR3Va6RhuWiC5pK7PNq7yIYxb6czG0V83xcgIQcaQ1gnls2HVqTzskrVpZSHig
Zb1II4SsVte3GxMUbM2SoG2Lg18gZwj0PXFlTasuzPL07KDJQJOkMREIKWdr6jnD2HgNlBD9VHeU
jX3lnytcOSpWzEQOhpGnRpCjUWT/KIzG0FbOBgHxd/lz1lbEQCvQjJkGCeKICUMWWndh5xG9FvpL
Lh2YFhCSEJNo+xLk0FS8lLVEx1piqFVmwxM3MVyMyGz/SzI6tpwIS9UBJBbi1I46P1c7Ap6ISJ7w
S6y5ulJPo4wbbBLvaNiS/GtvyeRwZG7lEESiViUdjiCDEqJxNZF9exdI8GwYyW1+jUs1AaQEaPtN
pSOXeJ58EH0ZM+GsRLzUK6bS3/ssiEyiUw+ULpEjZL1Y3V7rGn9pWYvw6BpifgPaZYsQH1lhW37j
iRiRFhX1YLUbyFbVZMOdFs+8x8vbOyP8n56J60wqR8VKgeiMqmTeLRrxa7x4fmSjagiVhUPO1tT3
eSkDzoBQLyaS8IQXKBEmGuK0RAYyGmMRKT3LCk3NuRCUOfQktbPJtA6aFvJwP1bfaaLXVRN9+Cq8
734y7ZA9fSY7/xRhdUARw7zcyyNdYf7lpVGef8bdey1mZakkKpIgVsJqJU5a9uQApeceNCFlvKBv
Vj2Jdfb4VExriY5wUMenDGGJ0FF2hkZNWbNQ4S6i10I7Pvmpd6RfgBfEfBWyYgfXYxEBoq1BWQtd
OD7FkMSzcRRxWfa77olKvtwb5Wdz/bwQtvjvh0P834EYp104PsuBiiQIg2GsuTpiyHIfq5SqkdgV
meoeOgXKri+RrZryj7wcV44zTZHbXOlB3x4b07fLc1EVWSsbNRVNHBRKinlQDrgajfibNUR4ABb5
CF3jpfo/ClhAM/VSjdXIo/2IxiqkR1eqcx5oR03oGrGVXr8aMmnaM0LQEHRF80uN8NqaLFN9sRKx
MgniF1hrPdBvYTzmLgmcSDEhihGJtURXA+/kKsIVQg4AYhJqNawF+pjUA8BSvgNrgY61UFeD+HJB
JqxtIROOZpxXQPw6H3pHrOB4LdtLJRLdydOjyMU+pBBor+Rnu/VSp+O+YUsyHHUnNaxmbSwSPA/y
mtUqZ5CeirBEey6G/oL7LlTrHH8gotNE22eivaqcTBUHC2SThgl9TKIAAA6dSURBVLbXvm7aYTN9
gthEx+VJpeYwnL8XydsTBwQIgZxnQMADw1Hwu6xHwqxdjHo0VkYD8wov8beMh/uWMp6aeoLU+dUn
oxFoh/MkFshEJUkIN/DkmDYsQQzL8bczGQuAmhKRwddiGqrVosFgGHEkDqEoVrtB7P25TfR2cHvt
SHt1+rF6IkpgQV6b9ZkR7i4CXuSJQTUPJGXFopKSMtjAvNyL/sdo+YmUsu5EYRVSnnXHMVatjnbx
XKivQhga0pSIGi+yexjrD6/aRxiUgjiuU+M4DtY9SjJyOMVw8qeYmjxWZkNi6tLVslZNMyYgkDM1
tO0qxMVaoKdNtS4GU0sQn4BIDNFWr/wfKbtEv6UGlfP1gmYR6u87D/On2ROxSiZH5iDf0BCLZyAS
OYBlJI7c3wtxl8tHHzex2g30LYnEAynntubpMGxhvXBIbdAE+IzEbMvE73ITPYZtI3Zt8k0M9PGj
Bv5xVB0j0nV0Q1HXlsqrPjbm2A/WivGZp6Waq6dUxbKW6cj+UeSx0ypFZAbEiCyIHMAYObS1C9J3
lNqgfAKRus5i3ELuPYm1vQtrexdy70nX5AAV1CdOWJiXeMZjogRqglezlj77z5Jq9mLQrz6ZPX1x
mf3T6zMqC+rlsxpeXHVqoisx58Xt8zYoyoMvZtmvIZOMactX3O11JoUguiZq7bbLJg0ZFMTf6lOT
YsqBhDfY2nIofXsRjUhWCcwLPJgXeTDXeJBXNGKu9qhMKaUi6ccZkVgrDaxzDDULT6JMvJkWG0vC
YFh9Mk/VWPprFL3OeW5dj0UMDb26saDryqCGbHGuv9O1vU84RHhLVCgP5Vm0Z8IJognxf/1e/aTd
PlmjYv21XfG04LOSYKNHy2qBNUtHBgtr2GJEor8QwzjgxfC0oZv1ePxz0Vqb3fVB+Y6RIEwQx0y0
nXH0F2KKNC6chOaaccZbC/SSLV1iwEF8GM5NJFuKWMidPYVdt8/Cmp1bhBS43nk+U3VBT2oiCfIh
TYhXLSnvCoXj9oa+xBRK7VD+QZyc6VxV2aSpLCVO19BAWIlJOt78z0dkLFkte0PIpw8g95zE+tMB
pU7l4bOYHUTMqc97LanSLRYRzp5yjqYypBFyImXcQixoJPbh9hIvYIOE85IaUdbRsBiRZQuVmahB
+gNCiHdbUuZM9CIGMwIDA0KpMgkTtoig5p6HHeKpPKgXmwjbyIKhTH6yPpEV3G8h46Adt7JVmBRI
m1VgiYO111YQqrq2z0LuGp/dJo8PZtUpmeVDNiRy2QrUpCUTtDZ9bLCunTBVIuhR5zrqHSljM39i
zonLBVUKtRDKQ33IQ/bLBxSdDd4DVrsBQxJZJbBWGIgTVvZ7NgDLecCeeX3RPhO5x/E9FSxny00Q
XdPE45YlL5dSjlUmuV5GJrIm6IzKnNlEMpFMhuwoUuOJecshCS0aok+WZjrOEVeUSo7xjek/xZAc
SweahHmlF8JSWbMKQUoskvSCNEC4eXQaWO06+ubCn4PbRpoXAqzlhnKURlVSP21bHGuZASNSOS0T
kDVCTSQbku6uH7OKzuRuh7KqWDPr/NstS15BClNrAx7effE8+4vvKc3Lbc1xZ/4QgxKt08omR9JU
OyuYU9cuGIX0UwOy9PFXAXM5ZLWKwXJUSR0Q8xhsWXt2EZVLgUBJ9aBA6gJZl5Cos9UsS3HaQrbp
SuVMJvJr0vKmLIXx8Yjc11PWJHhlkyDBgOcfe4ciaYrqwpYa7rp+OW1NVTy05UhWGd+Lw2PfHXug
ZGOzaUNylpZ+XK52ZjfHI24p30Wx8OqIal/WHHfRWod0WCgzE2K0DPNPCjCVykYNPELlGjtF3rGP
FAL/zsR72vaC43GupIhXIOvFWAJqS+gq44s/0dlZQK3AGklkrwxJpQ5GJRxVpyghFL8oM0bZCBKN
Wx80U0Tb0tYgX7r5/LyrLyWRedNjD9uX0K1tNBBZlzi5V0fU+FRShkmEWNqSTTCBa3KASuZAIYvy
CsYMDwiB9IDVpmEtMtB3xpV6IRnPF5WYIy+rBdRrWBd61HPbm5iHPmA5Rg2XPR1pRCK6VcYT6feg
vxRT97HWg/58DGu+jjiUUIM1pV7JGRoyLhE1iVStecYj5Ua5wuDmCdghIQgQ8Op8c/1aqjJWmrVb
vL4QZPZQsY8E8Hx7VD1kv4By57rNA9Gi3Dvy5HgKIbGg0XFAawu/cwcAjOcSXqBjzUuYqgMqty8G
4BWJkApLzdiLo3rccCJ696SFOGSqacRRiXWugbVYx3jYfjw1WWuZyxp1T+KUhdluKG+7BdoBU93T
0kRGzFZNbT9pIU5YKio4VnBdi27n5SLIWcCLQA1Ajd/gux+/1PbAUkmSicleT88WmkA7bw7MqFHW
pEQvLrsGkDuPT3ggZfRvqvA8FFZe7DwwzzeQiw2MB8cdjuXueV2/E6/K/GKuMtCfiakATR3MCzyI
IRVFYV7tVc7Tp2NY7TrSL9Cfj4F1ZhFEA/YBi5Inff2Kmdz51mW2B5ebJJmYUtI4rTkCapxQruh7
LWEalBD7UADjF2FXgXnmhR6qvn+6pEs/9OkrAOf3GF5ZrfIeuzSUmWs844v9zFQrYyWXeTbfoDwF
nlPNWNuPYV7iQds9HuntgiQltfFyzjT4KvCJ5Dl1TXDJ2c184vrleQtONGGS6L14BkbcTHwsRLkj
Yp3s2QlYS0qYBCUSHwvE3Hqllnl1GI4QfZOJ8cuI6oGT8AkV9j1bo+q7pRECxkmRCUeSrK5Jy3Av
Gqscx4jWfF1loBTjvhHthAUCYjf4QIBvaBHWI7uQM3VklUDbp5ZeO5MI4gGeB1amnnzujGrWvWEx
KzO80/kwWaQBGDqvDk8s7pjtvRCIxirERfOxfrc7a1/8Gq/rGZKpkC2aGm+YgM+LOBmHcGJkHfQT
ezN4fhXB98JwrtMUBSdiJGFJyXv//WnbfWkOvGUz09ZGVBsTY5H5OtYstQaeNVNLLPSYWPBnvgdh
BPAYC4gfPQyRMDIWUb6vQYvqe3JOCy65fZd7rtoq4CHUmGQMPo/G8v+/vXPrbaOI4vjvzOyur7k3
gSQFGmhpoail4o5APHARvPGOEF8B8dQPwAOfAPHWR4SEeKiExAMSqIAQKhUVCIooNIiGhiYhxqkd
73p3Z3jYdUhbx3EuTtKyP8nxJd7xOjn/nTkz55zZP8jrz01xYKy8qYZ3UjDt8I+WId3YpyOuRj1z
L+azizf9Kno5h/PJJqoB5mVlKrgXMzU3sp4oWpw+O8PH52ZYWGr/nYInR1CP3gVKkkKAf13D/rbQ
cRLD3JfElalfk542etEDBV7fIaLvf8Ycd5Nc+tCCK5RPdpym33MCAbgfeB84cWP7OVdzaLyPF46N
8+yDY1v+oN0Wze1Ct4IAmKv6nD57mXO/LTK/5K+bt9XqRWRqBDvdvtTramy/YI67iQ/SsIkPYsHN
HyT+4gLmcRf1ddhNvNW22Havsp0FeBd4Dbgp1F2J0F90OTzRz1OHR3n6yCi6i322uyETTXdsRBR/
LNQ58+NVzv9e4cpig6BNlZJO7lfwYClJ+GrtyNVpUVfSWscHNfpchDnhgAHdGCIuVVC/JHUGdkIc
29rQGjwDvAM8SlLT/CaUCKW8w+RwkQf29/PYoX0cnlgjGWYL/J+FsxExAPxTb3J+usJ304tcnF1i
sdYk7JAMNlT2qNSa7wAn13rPdf7IaBk738FfErCD6a5gDzlJAOf3Ier3pPJlh41x0qO3j14LpMUr
wFvAE7TpUVbjaKG/4HLHYIGpsTLHDgzxwP4ByvneZQffTuLZqBgApudq/DxT5cJMlem5OpVagB/G
HYdPIthyzl265ofvAW8DLYtf86hWT6Ienkw2bl0PBfFTLoTJnu/rCAN6YM87JZAWh4A3gZeA/XRR
EEYrIedqBoouYwN57h4tcWSyn8MTAwyVt2nb1C7YKyLajABaBKHh8kKdC39WufTXNa5UGiwsBdSD
iCgy665nClitVQ04H8XmFHBqjbfuRo2ZntjyTgtkNY8AbwDPAQdIVuG7CjFVIriOouD9J5yJ4SL3
jJaYGC4yMVyglNv1gi27QhgblpZD/lioM321xuW/l5mv+lTqTWqNED+MiWPbtQW7WlHI6SCK7bfL
QXSKZAKmm6C3nRRJz+x4NwWymlHgVeBlEY6BjGNtwW4wHF8k6XFcrci5moKnKecdBkoe+/py7OvL
MVDyGExvQyWPwbK3Z/4Ia2EtNJoRy0FMpR4wXw2YX/JZrDWp1AKqyyE1P6LuR/hhTDOKiWJLvIm8
CFcrijltXa2u1IPow0Yz/ghov9Cxzmlv4pjN0NN/3161jTHgReB5peSYEpmy1vYbY7Xd6sqoJD2Q
EkEpwVGCowXP0XiuIuco8p4mnwqsmHMoeHrltZyr8RyFoxWuFhytcLSglay025rRMTYx0thYotgQ
GUszMgTNGD9MbyuPDX4zJkhfD0JDkN5HsSGMzUpbJg0x2aoFaiW4jooLrvYLnp41ls8Xa8EHzch8
usWmV9MToSjQpif7EV/PXhVIO+4FngceB+7XSg4IjBhL3libZrf3Hln1QNJn64X0t5zdlYHN9Xc9
R4ngaLGuo5pK5G8lXApj+1UQxl/Gxp4BlnboVLbjK++ozd5KAmlHH3AfyezYUWAKGAf2kfg0BZIQ
GM1eKLPaAwQQSXowR0traGmMtbM1PzrbCOJvjLUXgB+AS7t8urcct7pAOuEBIyQTAAeBe4BJkuHb
EDBAIrAiSTCHh4irBNfaJB3Jppf+nbjSS/pDSIZoKh2ytYaArqNQIr619p8wtrPArMBlEZkz1s74
YfxTEMY/Wsvm9izIaMvtLJCNoEl6nD5gRIQRrWQ05+q78q6eLHh6ouA5464jw8Wcc2fe1SMtnyKO
LVHqF5jUKbY2GXa1/B2tWld4haPELjejq5V6eKnWCGeC0MwZaxettTWEGpYqSBXsohKp1IPoItsX
JJ+RkZGRkZGRkZGRkZGRkZGRkZFx2/EvSgoNkxQkymoAAAAASUVORK5CYII=
"
id="image30954"
x="0.12073317"
y="-0.82161695" /></g></svg>

After

Width:  |  Height:  |  Size: 29 KiB

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="50"
height="50"
viewBox="0 0 13.229166 13.229167"
version="1.1"
id="svg5"
sodipodi:docname="advent.svg"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
inkscape:export-filename="advent/circuit.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.9225905"
inkscape:cx="54.873881"
inkscape:cy="-1.0402631"
inkscape:window-width="1309"
inkscape:window-height="804"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="path2422-1"
style="fill:#ffffff;fill-opacity:1;stroke:#010000;stroke-width:0.49963;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 11.23819,7.659357 A 1.2993707,1.0394967 50.383802 0 0 9.6090941,7.3211204 1.2993707,1.0394967 50.383802 0 0 9.508248,7.4204299 1.5917292,1.7216662 50.383802 0 0 9.1841571,6.1967449 1.5917292,1.7216662 50.383802 0 0 7.1596155,5.8571077 2.7286787,2.0140247 50.383802 0 0 6.7430824,5.1859342 1.2668865,1.3968236 50.383802 0 0 6.9878951,5.0206606 1.2668865,1.3968236 50.383802 0 0 7.256167,3.1540008 1.2668865,1.3968236 50.383802 0 0 5.3722537,3.0688094 1.2668865,1.3968236 50.383802 0 0 5.299635,3.1333528 1.2668865,1.5592448 50.383802 0 0 5.1195192,2.8143678 1.2668865,1.5592448 50.383802 0 0 3.1104437,2.8327797 1.2668865,1.5592448 50.383802 0 0 2.6591664,4.7255103 1.2993707,1.4617921 50.383802 0 0 2.3823963,6.6400583 1.2993707,1.4617921 50.383802 0 0 3.1672733,7.0633409 2.7286787,2.0140247 50.383802 0 0 3.353875,7.3760066 0.90955958,1.8516033 50.383802 0 0 2.7114714,7.8016625 0.90955958,1.8516033 50.383802 0 0 1.865001,9.682966 0.90955958,1.8516033 50.383802 0 0 3.7466469,9.3013268 1.0719808,1.3643393 50.383802 0 0 3.9481913,9.8562469 1.0719808,1.3643393 50.383802 0 0 5.6828185,9.8119692 1.0719808,1.3643393 50.383802 0 0 5.8711165,9.6304535 1.4293078,1.0070123 50.383802 0 0 7.5286331,10.055059 1.4293078,1.0070123 50.383802 0 0 7.7417277,8.9393512 1.5917292,1.7216662 50.383802 0 0 8.8729539,8.5207782 1.5917292,1.7216662 50.383802 0 0 9.2862784,8.0364529 1.2993707,1.0394967 50.383802 0 0 9.6368307,8.9848789 1.2993707,1.0394967 50.383802 0 0 11.266115,9.3229607 1.2993707,1.0394967 50.383802 0 0 11.238191,7.6593561 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3 KiB

View file

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="50"
height="50"
viewBox="0 0 13.229166 13.229167"
version="1.1"
id="svg5"
sodipodi:docname="advent.svg"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
inkscape:export-filename="advent/stuffing.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.9225905"
inkscape:cx="54.873881"
inkscape:cy="-1.0402631"
inkscape:window-width="1309"
inkscape:window-height="804"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<defs
id="defs2" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:#e6e6e6;fill-opacity:1;stroke:#838390;stroke-width:0.764057;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
id="rect28545-6"
width="12.46511"
height="12.46511"
x="0.38202849"
y="0.38202849"
rx="1.246511" />
<path
id="path2422-1"
style="fill:#ffffff;fill-opacity:1;stroke:#010000;stroke-width:0.49963;stroke-linecap:round;stroke-miterlimit:6;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
d="M 11.23819,7.659357 A 1.2993707,1.0394967 50.383802 0 0 9.6090941,7.3211204 1.2993707,1.0394967 50.383802 0 0 9.508248,7.4204299 1.5917292,1.7216662 50.383802 0 0 9.1841571,6.1967449 1.5917292,1.7216662 50.383802 0 0 7.1596155,5.8571077 2.7286787,2.0140247 50.383802 0 0 6.7430824,5.1859342 1.2668865,1.3968236 50.383802 0 0 6.9878951,5.0206606 1.2668865,1.3968236 50.383802 0 0 7.256167,3.1540008 1.2668865,1.3968236 50.383802 0 0 5.3722537,3.0688094 1.2668865,1.3968236 50.383802 0 0 5.299635,3.1333528 1.2668865,1.5592448 50.383802 0 0 5.1195192,2.8143678 1.2668865,1.5592448 50.383802 0 0 3.1104437,2.8327797 1.2668865,1.5592448 50.383802 0 0 2.6591664,4.7255103 1.2993707,1.4617921 50.383802 0 0 2.3823963,6.6400583 1.2993707,1.4617921 50.383802 0 0 3.1672733,7.0633409 2.7286787,2.0140247 50.383802 0 0 3.353875,7.3760066 0.90955958,1.8516033 50.383802 0 0 2.7114714,7.8016625 0.90955958,1.8516033 50.383802 0 0 1.865001,9.682966 0.90955958,1.8516033 50.383802 0 0 3.7466469,9.3013268 1.0719808,1.3643393 50.383802 0 0 3.9481913,9.8562469 1.0719808,1.3643393 50.383802 0 0 5.6828185,9.8119692 1.0719808,1.3643393 50.383802 0 0 5.8711165,9.6304535 1.4293078,1.0070123 50.383802 0 0 7.5286331,10.055059 1.4293078,1.0070123 50.383802 0 0 7.7417277,8.9393512 1.5917292,1.7216662 50.383802 0 0 8.8729539,8.5207782 1.5917292,1.7216662 50.383802 0 0 9.2862784,8.0364529 1.2993707,1.0394967 50.383802 0 0 9.6368307,8.9848789 1.2993707,1.0394967 50.383802 0 0 11.266115,9.3229607 1.2993707,1.0394967 50.383802 0 0 11.238191,7.6593561 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

File diff suppressed because it is too large Load diff

View file

@ -25,6 +25,7 @@ import {
createSequentialModifier, createSequentialModifier,
createAdditiveModifier, createAdditiveModifier,
createMultiplicativeModifier, createMultiplicativeModifier,
createExponentialModifier,
Modifier Modifier
} from "game/modifiers"; } from "game/modifiers";
import { main } from "data/projEntry"; import { main } from "data/projEntry";
@ -41,6 +42,7 @@ import workshop from "./workshop";
import { WithRequired } from "util/common"; import { WithRequired } from "util/common";
import { ElfBuyable } from "./elves"; import { ElfBuyable } from "./elves";
import toys from "./toys"; import toys from "./toys";
import factory from "./factory";
const id = "oil"; const id = "oil";
const day = 9; const day = 9;
@ -889,6 +891,11 @@ const layer = createLayer(id, function (this: BaseLayer) {
multiplier: dyes.boosts.red2, multiplier: dyes.boosts.red2,
description: "Red Dye", description: "Red Dye",
enabled: dyes.masteryEffectActive enabled: dyes.masteryEffectActive
})),
createExponentialModifier(() => ({
exponent: 1.2,
description: "Diamond-tipped drills",
enabled: factory.upgrades[0][3].bought
})) }))
]); ]);
const computedDrillPower = computed(() => drillPower.apply(0)); const computedDrillPower = computed(() => drillPower.apply(0));

View file

@ -379,6 +379,10 @@ const layer = createLayer(id, function (this: BaseLayer) {
multiplier: 50, multiplier: 50,
description: "350 toys", description: "350 toys",
enabled: toys.milestones.milestone4.earned enabled: toys.milestones.milestone4.earned
})),
createMultiplicativeModifier(() => ({
multiplier: () => dyes.boosts.white1.value,
description: "White Dye Boost"
})) }))
]); ]);
const computedPlasticGain = computed(() => plasticGain.apply(0)); const computedPlasticGain = computed(() => plasticGain.apply(0));

View file

@ -42,7 +42,7 @@ const layer = createLayer(id, () => {
); );
const currentDyeType = computed( const currentDyeType = computed(
() => () =>
Object.values(dyes.dyes).filter(d => d !== dyes.dyes.black)[ Object.values(dyes.dyes).filter(d => d !== dyes.dyes.black && d !== dyes.dyes.white)[
new Decimal(ribbon.value).toNumber() % 6 new Decimal(ribbon.value).toNumber() % 6
] ]
); );

View file

@ -63,3 +63,18 @@
); );
} }
} }
@keyframes factory-bar {
from {
background: 0 0 / 114px 114px repeat repeating-linear-gradient(-45deg,
grey 0 10px,
yellow 10px 20px
);
}
to {
background: 114px 0px / 114px 114px repeat repeating-linear-gradient(-45deg,
grey 0 10px,
yellow 10px 20px
);
}
}

View file

@ -57,8 +57,6 @@
border-left: 1px solid var(--foreground); border-left: 1px solid var(--foreground);
} }
.factory-container { .factory-container {
width: auto; width: auto;
top: 113px; top: 113px;
@ -66,8 +64,9 @@
left: 0px; left: 0px;
right: 0px; right: 0px;
position: absolute; position: absolute;
background-color: var(--raised-background); background-color: snow;
overflow: hidden; overflow: hidden;
z-index: 1;
} }
.info-container { .info-container {
@ -99,17 +98,22 @@
top: 0; top: 0;
left: 0; left: 0;
bottom: 0; bottom: 0;
width: 148px; width: 158px;
z-index: -1;
}
.comp-container.hovered {
z-index: 1; z-index: 1;
} }
.comp-info { .comp-info {
position: absolute; position: absolute;
right: 10px; top: 0;
right: 0px;
padding: 5px 10px; padding: 5px 10px;
width: max-content; width: max-content;
max-width: 300px; max-width: 320px;
background: var(--background); background: var(--background);
border-radius: var(--border-radius); border-radius: var(--border-radius);
@ -121,40 +125,81 @@
pointer-events: none; pointer-events: none;
transition: transform 0.3s; transition: transform 0.3s;
z-index: -1; z-index: -2;
} }
.comp-info.active { .comp-list .comp:nth-child(2n - 1) .comp-info {
right: -75px;
}
.comp-list .comp:hover .comp-info {
transform: translateX(calc(20px + 100%)); transform: translateX(calc(20px + 100%));
z-index: -1;
} }
.comp-list { .comp-list {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow-y: overlay;
overflow-x: hidden;
padding-right: 370px;
direction: rtl;
padding-left: 10px;
}
.comp-list-child {
display: flex; display: flex;
border-right: solid 2px var(--locked);
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-evenly; justify-content: space-evenly;
align-items: flex-start; align-items: flex-start;
align-content: flex-start; align-content: flex-start;
background: var(--raised-background); justify-content: flex-start;
width: 148px;
direction: ltr;
text-align: left;
} }
.comp-list::before {
.comp-list::after {
content: ""; content: "";
display: block;
position: absolute; position: absolute;
top: 140px; border-right: solid 2px var(--locked);
height: 2px; background: var(--raised-background);
left: 10px; box-shadow: 0 2px 10px #0007;
right: 10px; top: 0;
background-color: var(--foreground); bottom: 0;
left: 0;
right: 0;
z-index: -1;
} }
.comp-list > div {
.comp-list .comp {
position: relative; position: relative;
width: 50px; width: 50px;
height: 50px; height: 50px;
margin: 10px; margin: 10px;
pointer-events: all;
} }
.comp-list > img.selected:not(.producedItem) {
.comp-list .comp > img:first-child {
width: 50px;
height: 50px;
}
.comp-list .comp:nth-child(3)::after,
.comp-list .comp:nth-child(4)::after {
content: "";
position: absolute;
top: calc(100% + 10px);
height: 2px;
background-color: var(--foreground);
left: 0;
right: 0;
}
.comp-list .comp:nth-child(3)::after {
right: -50px;
}
.comp-list .comp:nth-child(4)::after {
left: -50px;
}
.comp-list .comp img.selected, .comp-list .comp img.selected + img {
transform: translate(-5px, -5px); transform: translate(-5px, -5px);
filter: drop-shadow(2px 2px 0 var(--foreground)) drop-shadow(5px 5px 5px #0007); filter: drop-shadow(2px 2px 0 var(--foreground)) drop-shadow(5px 5px 5px #0007);
} }

View file

@ -12,7 +12,7 @@ import {
import { main } from "data/projEntry"; import { main } from "data/projEntry";
import { createBuyable, GenericBuyable } from "features/buyable"; import { createBuyable, GenericBuyable } from "features/buyable";
import { jsx, showIf } from "features/feature"; import { jsx, showIf } from "features/feature";
import { createMilestone } from "features/milestones/milestone"; import { createMilestone, GenericMilestone } from "features/milestones/milestone";
import MainDisplay from "features/resources/MainDisplay.vue"; import MainDisplay from "features/resources/MainDisplay.vue";
import { createResource } from "features/resources/resource"; import { createResource } from "features/resources/resource";
import { createUpgrade } from "features/upgrades/upgrade"; import { createUpgrade } from "features/upgrades/upgrade";
@ -25,6 +25,7 @@ import { render, renderGrid, renderRow } from "util/vue";
import { computed, ref } from "vue"; import { computed, ref } from "vue";
import cloth from "./cloth"; import cloth from "./cloth";
import dyes from "./dyes"; import dyes from "./dyes";
import factory from "./factory";
import metal from "./metal"; import metal from "./metal";
import plastic from "./plastic"; import plastic from "./plastic";
import trees from "./trees"; import trees from "./trees";
@ -263,21 +264,49 @@ const layer = createLayer(id, function (this: BaseLayer) {
const milestone5 = createMilestone(() => ({ const milestone5 = createMilestone(() => ({
display: { display: {
requirement: "750 toys", requirement: "750 toys",
effectDisplay: "The wheel crafter now makes 2 wheels instead of 1! Now you should be able to fit everything in the factory." effectDisplay:
"The wheel crafter now makes 2 wheels instead of 1! Now you should be able to fit everything in the factory."
}, },
shouldEarn: () => Decimal.gte(toySum.value, 750), shouldEarn: () => Decimal.gte(toySum.value, 750),
visibility: () => showIf(milestone4.earned.value) visibility: () => showIf(milestone4.earned.value && main.days[factory.day - 1].opened.value)
})); })) as GenericMilestone;
const milestone6 = createMilestone(() => ({ const milestone6 = createMilestone(() => ({
display: { display: {
requirement: "1500 toys", requirement: "1500 toys",
effectDisplay: "Running out of energy? Let's increase the limit! Multiply energy capacity by 1.4" effectDisplay:
"Running out of energy? Let's increase the limit! Multiply energy capacity by 1.4"
}, },
shouldEarn: () => Decimal.gte(toySum.value, 1500), shouldEarn: () => Decimal.gte(toySum.value, 1500),
visibility: () => showIf(milestone5.earned.value) visibility: () => showIf(milestone5.earned.value)
})); }));
const milestones = { milestone1, milestone2, milestone3, milestone4, milestone5, milestone6 }; const milestone7 = createMilestone(() => ({
display: {
requirement: "3000 toys",
effectDisplay: "Multiply log gain by the amount of clothes you have"
},
shouldEarn: () => Decimal.gte(toySum.value, 3000),
visibility: () =>
showIf(milestone6.earned.value && main.days[factory.advancedDay - 1].opened.value)
})) as GenericMilestone;
const milestone8 = createMilestone(() => ({
display: {
requirement: "6000 toys",
effectDisplay: "Running out of energy? Let's increase the limit! Multiply energy capacity by 1.4"
},
shouldEarn: () => Decimal.gte(toySum.value, 6000),
visibility: () =>
showIf(milestone6.earned.value && main.days[factory.advancedDay - 1].opened.value)
})) as GenericMilestone;
const milestones = {
milestone1,
milestone2,
milestone3,
milestone4,
milestone5,
milestone6,
milestone7,
milestone8
};
const { collapseMilestones, display: milestonesDisplay } = const { collapseMilestones, display: milestonesDisplay } =
createCollapsibleMilestones(milestones); createCollapsibleMilestones(milestones);

View file

@ -39,6 +39,7 @@ import paper from "./paper";
import workshop from "./workshop"; import workshop from "./workshop";
import wrappingPaper from "./wrapping-paper"; import wrappingPaper from "./wrapping-paper";
import toys from "./toys"; import toys from "./toys";
import factory from "./factory";
const id = "trees"; const id = "trees";
const day = 1; const day = 1;
@ -546,6 +547,16 @@ const layer = createLayer(id, function (this: BaseLayer) {
description: "Load logs onto trucks", description: "Load logs onto trucks",
enabled: toys.row1Upgrades[0].bought enabled: toys.row1Upgrades[0].bought
})), })),
createMultiplicativeModifier(() => ({
multiplier: () => Decimal.add(toys.clothes.value, 1).pow(0.75),
description: "3000 Toys",
enabled: toys.milestones.milestone7.earned
})),
createMultiplicativeModifier(() => ({
multiplier: () => Decimal.add(toys.trucks.value, 1),
description: "Haul wood in trucks",
enabled: factory.upgrades[0][2].bought
})),
createExponentialModifier(() => ({ createExponentialModifier(() => ({
exponent: 1.2, exponent: 1.2,
description: "100% Foundation Completed", description: "100% Foundation Completed",

View file

@ -4,7 +4,8 @@
*/ */
import HotkeyVue from "components/Hotkey.vue"; import HotkeyVue from "components/Hotkey.vue";
import Spacer from "components/layout/Spacer.vue"; import Spacer from "components/layout/Spacer.vue";
import { createCollapsibleMilestones } from "data/common"; import Modal from "components/Modal.vue";
import { createCollapsibleMilestones, createCollapsibleModifierSections } from "data/common";
import { main } from "data/projEntry"; import { main } from "data/projEntry";
import { createBar } from "features/bars/bar"; import { createBar } from "features/bars/bar";
import { createClickable } from "features/clickables/clickable"; import { createClickable } from "features/clickables/clickable";
@ -20,20 +21,23 @@ import { createMilestone } from "features/milestones/milestone";
import { createResource, displayResource } from "features/resources/resource"; import { createResource, displayResource } from "features/resources/resource";
import { BaseLayer, createLayer } from "game/layers"; import { BaseLayer, createLayer } from "game/layers";
import { import {
createAdditiveModifier,
createExponentialModifier, createExponentialModifier,
createMultiplicativeModifier, createMultiplicativeModifier,
createSequentialModifier createSequentialModifier,
Modifier
} from "game/modifiers"; } from "game/modifiers";
import { noPersist, persistent } from "game/persistence"; import { noPersist, persistent } from "game/persistence";
import Decimal, { DecimalSource, formatWhole } from "util/bignum"; import Decimal, { DecimalSource, formatWhole } from "util/bignum";
import { Direction } from "util/common"; import { Direction, WithRequired } from "util/common";
import { render } from "util/vue"; import { render } from "util/vue";
import { computed, unref, watchEffect } from "vue"; import { computed, ref, unref, watchEffect } from "vue";
import elves from "./elves"; import elves from "./elves";
import factory from "./factory";
import management from "./management"; import management from "./management";
import toys from "./toys";
import trees from "./trees"; import trees from "./trees";
import wrappingPaper from "./wrapping-paper"; import wrappingPaper from "./wrapping-paper";
import toys from "./toys";
const id = "workshop"; const id = "workshop";
const day = 2; const day = 2;
@ -44,17 +48,30 @@ const layer = createLayer(id, function (this: BaseLayer) {
const foundationProgress = createResource<DecimalSource>(0, "foundation progress"); const foundationProgress = createResource<DecimalSource>(0, "foundation progress");
const maxFoundation = createSequentialModifier(() => [
createAdditiveModifier(() => ({
addend: 900,
description: "Hope Level 3",
enabled: management.elfTraining.expandersElfTraining.milestones[2].earned
})),
createAdditiveModifier(() => ({
addend: 200,
description: "Build wooden towers",
enabled: toys.row1Upgrades[2].bought
})),
createAdditiveModifier(() => ({
addend: () => Decimal.times(factory.factoryBuyables.expandFactory.amount.value, 100),
description: "Expand Factory",
enabled: () => Decimal.gt(factory.factoryBuyables.expandFactory.amount.value, 0)
}))
]) as WithRequired<Modifier, "revert" | "description">;
const computedMaxFoundation = computed(() => maxFoundation.apply(100));
const foundationConversion = createIndependentConversion(() => ({ const foundationConversion = createIndependentConversion(() => ({
// note: 5423 is a magic number. Don't touch this or it'll self-destruct. // note: 5423 is a magic number. Don't touch this or it'll self-destruct.
scaling: addHardcap( scaling: addHardcap(
addSoftcap(addSoftcap(createPolynomialScaling(250, 1.5), 5423, 1 / 1e10), 1e20, 3e8), addSoftcap(addSoftcap(createPolynomialScaling(250, 1.5), 5423, 1 / 1e10), 1e20, 3e8),
computed(() => computedMaxFoundation
toys.row1Upgrades[2].bought.value
? 1200
: management.elfTraining.expandersElfTraining.milestones[2].earned.value
? 1000
: 100
)
), ),
baseResource: trees.logs, baseResource: trees.logs,
gainResource: noPersist(foundationProgress), gainResource: noPersist(foundationProgress),
@ -104,17 +121,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
</span> </span>
</> </>
)), )),
visibility: () => visibility: () => showIf(Decimal.lt(foundationProgress.value, computedMaxFoundation.value)),
showIf(
Decimal.lt(
foundationProgress.value,
toys.row1Upgrades[2].bought.value
? 1200
: management.elfTraining.expandersElfTraining.milestones[2].earned.value
? 1000
: 100
)
),
canClick: () => { canClick: () => {
if (Decimal.lt(trees.logs.value, foundationConversion.nextAt.value)) { if (Decimal.lt(trees.logs.value, foundationConversion.nextAt.value)) {
return false; return false;
@ -122,14 +129,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
if (main.isMastery.value && main.currentlyMastering.value?.name === "Trees") { if (main.isMastery.value && main.currentlyMastering.value?.name === "Trees") {
return false; return false;
} }
let cap = 100; if (Decimal.gte(foundationProgress.value, computedMaxFoundation.value)) {
if (management.elfTraining.expandersElfTraining.milestones[2].earned.value) {
cap = 1000;
}
if (toys.row1Upgrades[2].bought.value) {
cap = 1200;
}
if (Decimal.gte(foundationProgress.value, cap)) {
return false; return false;
} }
return true; return true;
@ -300,6 +300,16 @@ const layer = createLayer(id, function (this: BaseLayer) {
showIf(extraExpansionMilestone5.earned.value && toys.row1Upgrades[2].bought.value), showIf(extraExpansionMilestone5.earned.value && toys.row1Upgrades[2].bought.value),
showPopups: shouldShowPopups showPopups: shouldShowPopups
})); }));
const extraExpansionMilestone7 = createMilestone(() => ({
display: {
requirement: "1400% Foundation Completed",
effectDisplay: "Coal has a greater effect on energy gain"
},
shouldEarn: () => Decimal.gte(foundationProgress.value, 1400),
visibility: () =>
showIf(extraExpansionMilestone6.earned.value && toys.row1Upgrades[2].bought.value),
showPopups: shouldShowPopups
}));
const milestones = { const milestones = {
logGainMilestone1, logGainMilestone1,
autoCutMilestone1, autoCutMilestone1,
@ -314,7 +324,8 @@ const layer = createLayer(id, function (this: BaseLayer) {
extraExpansionMilestone3, extraExpansionMilestone3,
extraExpansionMilestone4, extraExpansionMilestone4,
extraExpansionMilestone5, extraExpansionMilestone5,
extraExpansionMilestone6 extraExpansionMilestone6,
extraExpansionMilestone7
}; };
const { collapseMilestones, display: milestonesDisplay } = const { collapseMilestones, display: milestonesDisplay } =
createCollapsibleMilestones(milestones); createCollapsibleMilestones(milestones);
@ -337,6 +348,25 @@ const layer = createLayer(id, function (this: BaseLayer) {
) )
})); }));
const [generalTab, generalTabCollapsed] = createCollapsibleModifierSections(() => [
{
title: "Max Foundation",
modifier: maxFoundation,
base: 100
}
]);
const showModifiersModal = ref(false);
const modifiersModal = jsx(() => (
<Modal
modelValue={showModifiersModal.value}
onUpdate:modelValue={(value: boolean) => (showModifiersModal.value = value)}
v-slots={{
header: () => <h2>{name} Modifiers</h2>,
body: generalTab
}}
/>
));
watchEffect(() => { watchEffect(() => {
if (main.day.value === day && Decimal.gte(foundationProgress.value, 100)) { if (main.day.value === day && Decimal.gte(foundationProgress.value, 100)) {
main.completeDay(); main.completeDay();
@ -381,6 +411,7 @@ const layer = createLayer(id, function (this: BaseLayer) {
collapseMilestones, collapseMilestones,
minWidth: 700, minWidth: 700,
buildFoundationHK, buildFoundationHK,
generalTabCollapsed,
display: jsx(() => ( display: jsx(() => (
<> <>
<div> <div>
@ -389,8 +420,21 @@ const layer = createLayer(id, function (this: BaseLayer) {
: main.currentlyMastering.value?.name === name : main.currentlyMastering.value?.name === name
? `Complete the foundation to decorate the day` ? `Complete the foundation to decorate the day`
: `${name} Complete!`} : `${name} Complete!`}
{Decimal.gt(computedMaxFoundation.value, 100) ? (
<>
{" - "}
<button
class="button"
style="display: inline-block;"
onClick={() => (showModifiersModal.value = true)}
>
Check Modifiers
</button>
</>
) : null}
</div> </div>
{render(dayProgress)} {render(dayProgress)}
{render(modifiersModal)}
<Spacer /> <Spacer />
{masteryEffectActive.value ? ( {masteryEffectActive.value ? (
<> <>

View file

@ -52,6 +52,7 @@ import ribbonsSymbol from "./symbols/ribbons.png";
import workshopSymbol from "./symbols/sws.png"; import workshopSymbol from "./symbols/sws.png";
import treeSymbol from "./symbols/tree.png"; import treeSymbol from "./symbols/tree.png";
import toysSymbol from "./symbols/truck.png"; import toysSymbol from "./symbols/truck.png";
import advFactorySymbol from "./symbols/teddyBear.png";
import advManagementSymbol from "./symbols/workshopMansion.png"; import advManagementSymbol from "./symbols/workshopMansion.png";
import wrappingPaperSymbol from "./symbols/wrappingPaper.png"; import wrappingPaperSymbol from "./symbols/wrappingPaper.png";
@ -445,7 +446,7 @@ export const main = createLayer("main", function (this: BaseLayer) {
shouldNotify: false, shouldNotify: false,
layer: "factory", layer: "factory",
symbol: factorySymbol, symbol: factorySymbol,
story: "Alright, so those toys were using incredibly amounts of resources to make. Fortunately, you happen to have access to a group of people with an uncanny knack for making stuff without actually consuming materials - Elves! Let's turn this workshop into a proper factory, and get them producing these toys by themselves.", story: "Alright, so those toys were using incredibly large amounts of resources to make. Fortunately, you happen to have access to a group of people with an uncanny knack for making stuff without actually consuming materials - Elves! Let's turn this workshop into a proper factory, and get them producing these toys with miraculous efficiency!",
completedStory: completedStory:
"That was a bit different than the usual elf training you are used to. But this factory seems very versatile, so you think it's a fair trade-off for needing to set things up a bit more. Good Job!", "That was a bit different than the usual elf training you are used to. But this factory seems very versatile, so you think it's a fair trade-off for needing to set things up a bit more. Good Job!",
masteredStory: "" masteredStory: ""
@ -453,16 +454,17 @@ export const main = createLayer("main", function (this: BaseLayer) {
createDay(() => ({ createDay(() => ({
day: 19, day: 19,
shouldNotify: false, shouldNotify: false,
layer: null, // "toys3" layer: "factory",
symbol: "", symbol: advFactorySymbol,
story: "", story: "Santa pulls you aside and says he thinks 3 unique toys might not be enough. You try to argue that they come in many color variations due to all the dyes you're using, but Santas insists you're going to need more. Well, suppose it's time to expand the factory!",
completedStory: "", completedStory:
"Alright, admittedly 6 unique toys still feels like a bit of a compromise, but Santa seems pleased enough and with Christmas less than a week away, you're more than satisfied. Good Job!",
masteredStory: "" masteredStory: ""
})), })),
createDay(() => ({ createDay(() => ({
day: 20, day: 20,
shouldNotify: false, shouldNotify: false,
layer: "factory", // "presents" layer: null, // "presents"
symbol: wrappingPaperSymbol, symbol: wrappingPaperSymbol,
story: "", story: "",
completedStory: "", completedStory: "",

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View file

@ -44,7 +44,7 @@ export type GenericHotkey = Replace<
} }
>; >;
const uppercaseNumbers = [")", "!", "@", "#", "$", "5", "^", "&", "*", "("]; const uppercaseNumbers = [")", "!", "@", "#", "$", "%", "^", "&", "*", "("];
export function createHotkey<T extends HotkeyOptions>( export function createHotkey<T extends HotkeyOptions>(
optionsFunc: OptionsFunc<T, BaseHotkey, GenericHotkey> optionsFunc: OptionsFunc<T, BaseHotkey, GenericHotkey>

View file

@ -135,10 +135,12 @@ export default defineComponent({
position: relative; position: relative;
border: solid 4px; border: solid 4px;
border-color: var(--outline); border-color: var(--outline);
overflow-y: auto;
} }
.layer-tab > .tab-family-container:first-child { .layer-tab > .tab-family-container:first-child {
margin: -4px -11px var(--feature-margin) -11px; margin: -4px -11px var(--feature-margin) -11px;
padding-bottom: 50px;
} }
.layer-tab > .tab-family-container:first-child:nth-last-child(3) { .layer-tab > .tab-family-container:first-child:nth-last-child(3) {

View file

@ -14,7 +14,8 @@ export const {
formatSmall, formatSmall,
formatLimit, formatLimit,
invertOOM, invertOOM,
formatGain formatGain,
formatList
} = numberUtils; } = numberUtils;
export type DecimalSource = RawDecimalSource; export type DecimalSource = RawDecimalSource;
@ -34,6 +35,7 @@ declare global {
formatLimit: (list: [DecimalSource, string][], unit: string) => string; formatLimit: (list: [DecimalSource, string][], unit: string) => string;
invertOOM: (x: DecimalSource) => Decimal; invertOOM: (x: DecimalSource) => Decimal;
formatGain: (x: DecimalSource) => string; formatGain: (x: DecimalSource) => string;
formatList: (x: string[]) => string;
} }
} }
window.Decimal = Decimal; window.Decimal = Decimal;
@ -48,5 +50,6 @@ window.formatSmall = formatSmall;
window.formatLimit = formatLimit; window.formatLimit = formatLimit;
window.invertOOM = invertOOM; window.invertOOM = invertOOM;
window.formatGain = formatGain; window.formatGain = formatGain;
window.formatList = formatList;
export default Decimal; export default Decimal;

View file

@ -219,3 +219,9 @@ export function formatGain(gain: DecimalSource) {
1: `+${format(gain)}/s` 1: `+${format(gain)}/s`
}[Decimal.compare(gain, 0)]; }[Decimal.compare(gain, 0)];
} }
export function formatList(list: string[]) {
if (list.length <= 0) return "";
if (list.length == 1) return list[0];
return list.slice(0, -1).join(", ") + " and " + list[list.length - 1];
}