commit 165c0703111ae3e11d0254d4a88b3c3c9170ab2c
parent d41bece8fcdd35441c3e45e3d906ee75d5fe75b7
Author: Adam M <aemalone@gmail.com>
Date: Sat, 27 Oct 2018 00:52:06 -0500
I Love Cookies start
Diffstat:
4 files changed, 723 insertions(+), 0 deletions(-)
diff --git a/res/ComputerscareILoveCookiesPanel.svg b/res/ComputerscareILoveCookiesPanel.svg
@@ -0,0 +1,387 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="200"
+ height="380"
+ viewBox="0 0 52.916669 100.54167"
+ version="1.1"
+ id="svg8"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+ sodipodi:docname="ComputerscareILoveCookiesPanel.svg"
+ style="enable-background:new">
+ <defs
+ id="defs2">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 50.270835 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="23.812501 : 50.270835 : 1"
+ inkscape:persp3d-origin="11.906251 : 33.51389 : 1"
+ id="perspective1881" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4142136"
+ inkscape:cx="26.10989"
+ inkscape:cy="139.24147"
+ inkscape:document-units="mm"
+ inkscape:current-layer="text1651"
+ showgrid="false"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:snap-page="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:window-width="1440"
+ inkscape:window-height="856"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ inkscape:snap-nodes="false"
+ inkscape:snap-others="false"
+ inkscape:snap-global="false" />
+ <metadata
+ id="metadata5">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ style="display:inline"
+ transform="translate(0,-196.45832)"
+ id="g1669"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1 copy">
+ <path
+ inkscape:connector-curvature="0"
+ id="path1647"
+ d="M 0,196.45832 H 52.916667 V 297 H 0 Z"
+ style="opacity:1;vector-effect:none;fill:#f9f9f9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.72459143;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
+ <g
+ aria-label="computerscare"
+ transform="matrix(0.98656289,0.0441007,-0.12576361,1.0079983,50.102321,-2.779225)"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ id="text1651">
+ <path
+ d="m 6.6805153,294.74087 -0.016688,0.21573 q -0.091784,-0.0455 -0.1869432,-0.0633 -0.093833,-0.0192 -0.1922912,-0.0106 -0.2202194,0.0192 -0.3530674,0.17279 -0.1327584,0.15233 -0.1526496,0.40948 -0.019887,0.25711 0.090844,0.38948 0.1108289,0.13112 0.3310431,0.11194 0.098425,-0.009 0.1964041,-0.0432 0.09932,-0.036 0.1994563,-0.0984 l -0.016492,0.21322 q -0.09823,0.0535 -0.2020758,0.0849 -0.1026226,0.0313 -0.2170348,0.0413 -0.3112454,0.027 -0.4791286,-0.15633 -0.1678799,-0.18346 -0.1416814,-0.52211 0.026586,-0.34368 0.226355,-0.55668 0.2009995,-0.2131 0.523323,-0.24118 0.1045662,-0.009 0.2024381,0.006 0.098002,0.0127 0.1881007,0.0485 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.23769678"
+ id="path1701"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 7.6022319,294.7677 q -0.1820776,0.0159 -0.2991302,0.17058 -0.1169599,0.15346 -0.1364596,0.40556 -0.019498,0.25212 0.073816,0.3885 0.094643,0.13502 0.277948,0.11906 0.1808374,-0.0158 0.297902,-0.17048 0.1170552,-0.15472 0.1364596,-0.40557 0.01931,-0.24958 -0.075238,-0.38588 -0.094449,-0.13753 -0.2752952,-0.12177 z m 0.015134,-0.19566 q 0.2952536,-0.0257 0.4486639,0.15525 0.153406,0.18099 0.1266273,0.52716 -0.026679,0.34494 -0.2104596,0.55653 -0.1836786,0.21035 -0.4789357,0.23608 -0.2964931,0.0258 -0.4498964,-0.15514 -0.1520785,-0.18236 -0.1253963,-0.52727 0.026781,-0.34618 0.2092287,-0.55642 0.1836792,-0.21036 0.4801681,-0.23619 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.23769678"
+ id="path1703"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 10.251377,294.84502 q 0.17921,-0.12523 0.345108,-0.18504 0.165889,-0.0598 0.331807,-0.0603 0.223344,-4.8e-4 0.254151,0.12307 0.03156,0.12267 -0.134593,0.35048 l -0.496966,0.68144 -0.23608,9e-5 0.492559,-0.67539 q 0.118357,-0.1623 0.102964,-0.24074 -0.01541,-0.0784 -0.164722,-0.078 -0.1825,4.4e-4 -0.358263,0.0965 -0.175764,0.096 -0.296331,0.26137 l -0.4653557,0.6381 -0.2360821,9e-5 0.4925593,-0.6754 q 0.1190965,-0.16331 0.1029539,-0.24073 -0.015409,-0.0784 -0.1672727,-0.078 -0.1799435,4e-4 -0.3564458,0.0975 -0.1757627,0.096 -0.2955924,0.26035 l -0.4653582,0.63811 -0.2360748,9e-5 0.8233759,-1.12901 0.2360804,-9e-5 -0.127912,0.17539 q 0.1561197,-0.10403 0.3044503,-0.15374 0.1483225,-0.0497 0.3027299,-0.05 0.155711,-6.2e-4 0.218621,0.0618 0.06418,0.0622 0.02976,0.18102 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21756229"
+ id="path1705"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 11.470278,295.6447 -0.166298,0.6538 -0.226498,0.0407 0.432828,-1.70163 0.226499,-0.0406 -0.04759,0.1871 q 0.09895,-0.12297 0.220025,-0.1954 0.122591,-0.0737 0.27304,-0.10108 0.249389,-0.0458 0.35952,0.10461 0.111224,0.14981 0.03731,0.4404 -0.07392,0.29057 -0.275835,0.49738 -0.2007,0.20658 -0.450227,0.25202 -0.150376,0.0276 -0.245911,-0.006 -0.09391,-0.0342 -0.136875,-0.13149 z m 0.875182,-0.56976 q 0.05684,-0.22343 -0.01371,-0.33131 -0.06905,-0.10919 -0.247639,-0.0767 -0.178587,0.0325 -0.313807,0.1789 -0.133721,0.14505 -0.190557,0.36849 -0.05684,0.22344 0.01221,0.33263 0.07055,0.10787 0.249141,0.0754 0.178588,-0.0325 0.312306,-0.17756 0.135225,-0.14638 0.192054,-0.36983 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21756229"
+ id="path1707"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 12.631037,295.5364 0.491324,-0.73927 0.234932,5e-4 -0.486251,0.73166 q -0.115221,0.17336 -0.09403,0.26066 0.0219,0.0862 0.180229,0.0863 0.190253,2e-5 0.368889,-0.10335 0.17992,-0.1035 0.298766,-0.28232 l 0.460161,-0.6924 0.23493,5.1e-4 -0.811622,1.22122 -0.234932,-5.1e-4 0.124642,-0.18755 q -0.15946,0.11115 -0.309324,0.16557 -0.147856,0.0533 -0.297227,0.0532 -0.246395,-9.2e-4 -0.287136,-0.13115 -0.04071,-0.13096 0.126673,-0.38281 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.2266023"
+ id="path1709"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 14.922754,294.31023 -0.0074,0.31552 0.490495,-10e-4 -0.0033,0.14188 -0.490495,10e-4 -0.01421,0.60325 q -0.0032,0.13593 0.04376,0.17449 0.04828,0.0385 0.1971,0.0381 l 0.244588,-8e-4 -0.0036,0.15279 -0.24459,8e-4 q -0.275683,10e-4 -0.378642,-0.0773 -0.102958,-0.0791 -0.09804,-0.28743 l 0.0142,-0.60324 -0.174707,3.2e-4 0.0033,-0.14189 0.174708,-3.2e-4 0.0074,-0.31552 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.21756229"
+ id="path1711"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 16.94157,295.07858 -0.0011,0.0968 -1.095364,-5.5e-4 q 0.01312,0.20442 0.143907,0.31207 0.132097,0.10657 0.369038,0.1067 0.137232,2.4e-4 0.265754,-0.0278 0.129809,-0.0279 0.257357,-0.0838 l -0.0022,0.1872 q -0.128717,0.0451 -0.26365,0.0687 -0.134936,0.0236 -0.273472,0.0235 -0.34698,-6.1e-4 -0.548281,-0.16812 -0.199994,-0.16793 -0.196604,-0.45409 0.0035,-0.29585 0.197182,-0.46896 0.194983,-0.17417 0.521261,-0.174 0.292604,2.1e-4 0.460367,0.1573 0.169059,0.15608 0.165873,0.42504 z m -0.237545,-0.0583 q -7.08e-4,-0.16245 -0.106982,-0.25931 -0.105024,-0.0969 -0.28111,-0.097 -0.199387,-4.6e-4 -0.320912,0.0934 -0.120228,0.0935 -0.140368,0.26351 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.2266023"
+ id="path1713"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 18.549259,294.59448 q -0.05705,-0.0213 -0.122602,-0.0295 -0.06376,-0.0115 -0.139034,-0.011 -0.267558,1.2e-4 -0.387876,0.12251 -0.118969,0.11945 -0.07508,0.34233 l 0.136229,0.69199 -0.316855,0.003 -0.258668,-1.31363 0.316855,-0.003 0.04014,0.20407 q 0.07586,-0.12023 0.223981,-0.17893 0.147867,-0.0598 0.375872,-0.0614 0.03256,-2.3e-4 0.07273,0.003 0.03969,0.003 0.08898,0.007 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.27243829"
+ id="path1715"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 20.020774,294.70537 0.163841,0.15458 q -0.169368,-0.0451 -0.330051,-0.0731 -0.160718,-0.0281 -0.312717,-0.0391 -0.231342,-0.0167 -0.308256,0.0123 -0.07522,0.0291 0.0038,0.10366 0.06024,0.0569 0.177817,0.0957 0.116672,0.038 0.397635,0.0853 l 0.119486,0.0201 q 0.370505,0.0612 0.581467,0.13959 0.21171,0.0776 0.340721,0.19936 0.146886,0.13858 0.02317,0.2043 -0.122019,0.0658 -0.486704,0.0396 -0.151904,-0.0109 -0.334439,-0.0389 -0.179827,-0.027 -0.395147,-0.0712 l -0.178909,-0.1688 q 0.222156,0.0595 0.414732,0.0956 0.191703,0.0352 0.355387,0.0469 0.219567,0.0159 0.29632,-0.0147 0.07583,-0.0314 -4.15e-4,-0.1034 -0.07064,-0.0666 -0.194414,-0.10839 -0.122062,-0.0416 -0.445674,-0.0953 l -0.122185,-0.0211 q -0.322573,-0.0528 -0.520655,-0.12782 -0.198958,-0.0759 -0.321363,-0.19139 -0.148765,-0.14036 -0.04062,-0.20312 0.108159,-0.0628 0.456066,-0.0376 0.172254,0.0125 0.338359,0.0367 0.166102,0.0243 0.322671,0.0602 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.22598772"
+ id="path1717"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 21.07703,294.34744 0.202525,0.15424 q -0.170334,-0.038 -0.316101,-0.056 -0.145478,-0.019 -0.2681,-0.0182 -0.275278,10e-4 -0.292155,0.10462 -0.0188,0.10219 0.222524,0.28601 0.241357,0.18381 0.527353,0.28518 0.284858,0.10046 0.559379,0.0989 0.122248,-10e-4 0.217613,-0.0202 0.09529,-0.0204 0.164278,-0.0596 l 0.200173,0.15242 q -0.07566,0.0329 -0.181797,0.0498 -0.104608,0.0168 -0.247111,0.0177 -0.387915,0.002 -0.803708,-0.1391 -0.415675,-0.14127 -0.733518,-0.38337 -0.322586,-0.2457 -0.277333,-0.38778 0.04677,-0.14208 0.448589,-0.14434 0.12975,-10e-4 0.275701,0.0146 0.144236,0.0145 0.302094,0.0454 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.22598772"
+ id="path1719"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 22.852612,294.8592 q -0.323826,0.0145 -0.379334,0.0668 -0.0554,0.0523 0.112069,0.165 0.133534,0.0898 0.305426,0.13883 0.172032,0.048 0.333192,0.0408 0.222208,-0.01 0.208762,-0.11484 -0.01338,-0.1059 -0.258531,-0.27084 l -0.05591,-0.0376 z m 0.429558,-0.0934 0.87031,0.58557 -0.266295,0.0125 -0.231538,-0.15579 q 0.04741,0.0975 -0.02238,0.14854 -0.07123,0.05 -0.268633,0.0589 -0.249863,0.0111 -0.528734,-0.0703 -0.278814,-0.0823 -0.499448,-0.23079 -0.25748,-0.17321 -0.205161,-0.26933 0.05373,-0.0962 0.418283,-0.11244 l 0.374754,-0.0167 -0.02447,-0.0164 q -0.172958,-0.11637 -0.388957,-0.17416 -0.215912,-0.0588 -0.435279,-0.049 -0.139718,0.006 -0.24028,0.0332 -0.100886,0.027 -0.160131,0.0747 l -0.231519,-0.15578 q 0.09362,-0.0423 0.20567,-0.0658 0.110747,-0.0245 0.241429,-0.0303 0.353293,-0.0155 0.698876,0.092 0.345914,0.1077 0.69458,0.34229 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.22872864"
+ id="path1721"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 24.273091,294.36188 q -0.07114,-0.0156 -0.13655,-0.021 -0.06558,-0.006 -0.129387,-0.003 -0.226834,0.01 -0.201179,0.11456 0.02574,0.10364 0.301345,0.28875 l 0.85584,0.57481 -0.269621,0.0113 -1.624583,-1.09115 0.269623,-0.0113 0.252401,0.16951 q -0.06357,-0.10305 6.35e-4,-0.15667 0.06271,-0.0546 0.25629,-0.063 0.0278,-10e-4 0.06512,-2e-5 0.03622,3.3e-4 0.08513,0.005 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.23585747"
+ id="path1723"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m 26.435459,294.65755 0.122579,0.0825 -1.228813,0.0547 q 0.276221,0.17333 0.560566,0.25837 0.284441,0.0841 0.550258,0.0722 0.153887,-0.007 0.262416,-0.0371 0.109851,-0.0303 0.181351,-0.0843 l 0.236966,0.15945 q -0.0865,0.045 -0.207612,0.0718 -0.121116,0.0269 -0.276504,0.0338 -0.389855,0.0169 -0.829772,-0.11545 -0.43907,-0.13286 -0.801349,-0.3766 -0.37454,-0.252 -0.378879,-0.40914 -0.0042,-0.15809 0.361815,-0.1744 0.328175,-0.0147 0.717379,0.11068 0.389237,0.12434 0.729734,0.35344 z m -0.340851,-0.0376 q -0.208621,-0.13824 -0.451691,-0.21534 -0.241692,-0.0772 -0.439223,-0.0683 -0.224707,0.009 -0.240259,0.0957 -0.01515,0.0857 0.17973,0.23137 z"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.22872864"
+ id="path1725"
+ inkscape:connector-curvature="0" />
+ <g
+ aria-label="rst"
+ transform="matrix(1.9119826,-0.34464307,0.50786191,1.8921039,-31.034445,-146.38064)"
+ style="font-style:normal;font-weight:normal;font-size:1.90312397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.01258837"
+ id="text864">
+ <path
+ d="m -41.275716,202.9985 c -0.02809,-0.0143 -0.05823,-0.0258 -0.09042,-0.0344 -0.03141,-0.009 -0.06577,-0.0154 -0.10308,-0.0195 -0.132321,-0.0146 -0.228975,0.007 -0.289963,0.0641 -0.06027,0.0567 -0.08086,0.14576 -0.06177,0.26708 l 0.08886,0.56511 -0.235378,-0.026 -0.168693,-1.07274 0.235378,0.026 0.0415,0.11733 c 0.03893,-0.0598 0.08009,-0.0516 0.154062,-0.0742 0.07386,-0.0233 0.167187,-0.0287 0.27999,-0.0162 0.01617,0.002 0.03416,0.005 0.05395,0.009 0.01967,0.003 0.04168,0.008 0.06602,0.0144 z"
+ style="stroke-width:0.01482364"
+ id="path870"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ d="m -40.410807,203.11285 v 0.16169 q -0.07248,-0.0372 -0.15054,-0.0557 -0.07806,-0.0186 -0.161691,-0.0186 -0.127309,0 -0.191428,0.039 -0.06319,0.039 -0.06319,0.11709 0,0.0595 0.04553,0.0939 0.04553,0.0334 0.183064,0.0641 l 0.05854,0.013 q 0.182135,0.039 0.258334,0.11058 0.07713,0.0706 0.07713,0.19793 0,0.14497 -0.115228,0.22953 -0.114299,0.0846 -0.315019,0.0846 -0.08363,0 -0.174701,-0.0167 -0.09014,-0.0158 -0.190498,-0.0483 v -0.17656 q 0.09479,0.0493 0.186781,0.0743 0.092,0.0242 0.182135,0.0242 0.120804,0 0.185852,-0.0409 0.06505,-0.0418 0.06505,-0.11709 0,-0.0697 -0.04739,-0.10686 -0.04646,-0.0372 -0.205366,-0.0716 l -0.05947,-0.0139 q -0.158903,-0.0335 -0.229527,-0.10222 -0.07062,-0.0697 -0.07062,-0.1905 0,-0.14682 0.104077,-0.22674 0.104077,-0.0799 0.295505,-0.0799 0.09478,0 0.178418,0.0139 0.08363,0.0139 0.154257,0.0418 z"
+ style="stroke-width:0.01258837"
+ id="path872"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -39.571383,202.62755 -0.03453,0.33682 0.483556,0.002 -0.03123,0.14077 -0.467876,0.008 -0.06611,0.644 c -0.0099,0.0967 -0.0042,0.15873 0.01728,0.18596 0.02211,0.0272 0.0709,0.0403 0.146369,0.0394 l 0.18607,-0.003 -0.01679,0.16312 -0.18607,0.003 c -0.139777,0.002 -0.233377,-0.0247 -0.280802,-0.0801 -0.04736,-0.0558 -0.06343,-0.15786 -0.0482,-0.30618 l 0.06611,-0.64399 -0.132895,0.002 0.01555,-0.15148 0.132895,-0.002 0.03453,-0.33681 z"
+ style="stroke-width:0.0138234"
+ id="path874"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccccccccccc" />
+ </g>
+ <g
+ aria-label="clk"
+ transform="matrix(2.3525877,-0.10292753,0.2449229,1.9213172,45.198743,-143.34561)"
+ style="font-style:normal;font-weight:normal;font-size:1.90312397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.01258837"
+ id="text868">
+ <path
+ d="m -47.023791,202.8756 0.02953,0.23933 c -0.06229,-0.0399 -0.123696,-0.0697 -0.184208,-0.0892 -0.05988,-0.0203 -0.119243,-0.0305 -0.178089,-0.0305 -0.13166,0 -0.227374,0.0529 -0.287143,0.15862 -0.05989,0.10481 -0.0781,0.2523 -0.05464,0.44245 0.02345,0.19016 0.07812,0.33811 0.163998,0.44386 0.08575,0.10481 0.194455,0.15721 0.326112,0.15721 0.05884,0 0.115746,-0.01 0.170717,-0.0291 0.05558,-0.0205 0.08125,0.026 0.133717,-0.0139 l 0.05753,0.16011 c -0.05251,0.0335 -0.108257,0.0585 -0.167252,0.0751 -0.05826,0.0167 -0.12159,0.025 -0.189991,0.025 -0.186089,0 -0.343029,-0.0737 -0.470822,-0.22124 -0.127791,-0.14748 -0.207137,-0.34644 -0.238039,-0.59689 -0.03136,-0.25416 -8.57e-4,-0.45405 0.09151,-0.59967 0.0931,-0.14563 0.235998,-0.21844 0.428707,-0.21844 0.06252,0 0.124597,0.008 0.18623,0.025 0.06153,0.0157 0.12224,0.0398 0.182141,0.0723 z"
+ style="stroke-width:0.0167841"
+ id="path877"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscccsccccscscsccc" />
+ <path
+ d="m -46.874682,202.76379 0.142911,-0.0353 0.477431,1.633 -0.142911,0.0353 z"
+ style="stroke-width:0.01266381"
+ id="path879"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -45.316254,202.73781 h 0.105823 l -0.30408,0.97435 0.684115,-0.51209 0.06147,0.0849 0.0099,0.0299 -0.587562,0.44072 0.393944,0.6319 -0.370906,-0.0255 -0.220701,-0.55448 -0.180998,0.57995 h -0.176676 z"
+ style="stroke-width:0.01363125"
+ id="path881"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccccc" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.07000434"
+ x="-18.08774"
+ y="188.72037"
+ id="text876"
+ transform="matrix(1.0079983,-0.0441007,0.12576363,0.98656289,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan874"
+ x="-18.08774"
+ y="191.84163"
+ style="stroke-width:0.07000434" /></text>
+ <g
+ aria-label="out"
+ transform="matrix(1.0468606,0.36920082,-0.20179075,0.85789222,80.50944,88.545352)"
+ style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.07000434"
+ id="text888">
+ <path
+ d="m -13.369682,192.47237 q -0.273983,0 -0.433189,0.22592 -0.159206,0.22396 -0.159206,0.61541 0,0.39146 0.157354,0.61737 0.159207,0.22397 0.435041,0.22397 0.272131,0 0.431338,-0.22591 0.159207,-0.22592 0.159207,-0.61543 0,-0.38755 -0.159207,-0.61347 -0.159207,-0.22786 -0.431338,-0.22786 z m 0,-0.30381 q 0.444296,0 0.697916,0.30381 0.253619,0.30382 0.253619,0.84133 0,0.53557 -0.253619,0.84134 -0.25362,0.30381 -0.697916,0.30381 -0.446148,0 -0.699767,-0.30381 -0.251769,-0.30577 -0.251769,-0.84134 0,-0.53751 0.251769,-0.84133 0.253619,-0.30381 0.699767,-0.30381 z"
+ style="stroke-width:0.07716621"
+ id="path901"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -11.925778,193.38936 -0.0093,-1.16785 0.316938,-0.003 0.0092,1.15579 q 0.0022,0.27389 0.110065,0.41083 0.107876,0.13523 0.321465,0.13353 0.256652,-0.002 0.403486,-0.16685 0.148558,-0.16482 0.146313,-0.44731 l -0.0087,-1.09379 0.316938,-0.003 0.01533,1.9292 -0.316938,0.003 -0.0024,-0.29627 q -0.114012,0.17661 -0.26663,0.26396 -0.150909,0.0856 -0.35244,0.0872 -0.332442,0.003 -0.506333,-0.20269 -0.173891,-0.20533 -0.177052,-0.60323 z"
+ style="stroke-width:0.07000434"
+ id="path903"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -9.2205509,191.66729 v 0.65016 h 0.7963034 v 0.29238 h -0.7963034 v 1.24307 q 0,0.28011 0.077739,0.35984 0.079841,0.0798 0.3214628,0.0798 h 0.3971013 v 0.31485 h -0.3971013 q -0.4475267,0 -0.617713,-0.16152 -0.1701861,-0.16357 -0.1701861,-0.59291 v -1.24308 H -9.892892 v -0.29237 h 0.2836438 v -0.65017 z"
+ style="stroke-width:0.08423072"
+ id="path905"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ aria-label="one"
+ transform="matrix(0.96137546,-0.34508222,-0.14753322,1.1131988,64.524557,29.534027)"
+ style="font-style:normal;font-weight:normal;font-size:3.52777767px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.07000434"
+ id="text892">
+ <path
+ d="m -21.637912,192.23885 q -0.254937,0 -0.403076,0.19981 -0.148139,0.1981 -0.148139,0.54433 0,0.34623 0.146417,0.54605 0.148139,0.19809 0.404798,0.19809 0.253215,0 0.401354,-0.19982 0.148139,-0.19981 0.148139,-0.54432 0,-0.34279 -0.148139,-0.5426 -0.148139,-0.20154 -0.401354,-0.20154 z m 0,-0.26872 q 0.413412,0 0.649401,0.26872 0.235989,0.26872 0.235989,0.74414 0,0.4737 -0.235989,0.74414 -0.235989,0.26872 -0.649401,0.26872 -0.415134,0 -0.651123,-0.26872 -0.234266,-0.27044 -0.234266,-0.74414 0,-0.47542 0.234266,-0.74414 0.235989,-0.26872 0.651123,-0.26872 z"
+ style="stroke-width:0.07000434"
+ id="path894"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -18.657729,192.65297 0.191769,1.13213 -0.317087,0.0526 -0.190066,-1.12207 q -0.04511,-0.26629 -0.174362,-0.38088 -0.129256,-0.11459 -0.342945,-0.0791 -0.256773,0.0426 -0.378027,0.22625 -0.121254,0.18367 -0.07473,0.45833 l 0.179571,1.06012 -0.318811,0.0529 -0.317724,-1.87572 0.318811,-0.0529 0.04936,0.2914 q 0.08508,-0.18801 0.224276,-0.29717 0.140918,-0.10943 0.342544,-0.14286 0.332598,-0.0552 0.537247,0.11753 0.204365,0.171 0.270179,0.55954 z"
+ style="stroke-width:0.07000434"
+ id="path896"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -16.339355,192.90203 v 0.15503 h -1.457275 q 0.02067,0.32728 0.19637,0.49954 0.177423,0.17053 0.492649,0.17053 0.18259,0 0.353122,-0.0448 0.172255,-0.0448 0.341065,-0.13436 v 0.29973 q -0.170533,0.0723 -0.349678,0.11024 -0.179144,0.0379 -0.363457,0.0379 -0.461643,0 -0.732083,-0.26872 -0.268717,-0.26872 -0.268717,-0.72692 0,-0.4737 0.254937,-0.75103 0.256659,-0.27905 0.690741,-0.27905 0.389296,0 0.61495,0.25149 0.227376,0.24977 0.227376,0.68041 z m -0.316949,-0.093 q -0.0034,-0.2601 -0.146416,-0.41513 -0.141249,-0.15503 -0.375516,-0.15503 -0.265272,0 -0.425469,0.14986 -0.158474,0.14986 -0.18259,0.42202 z"
+ style="stroke-width:0.07000434"
+ id="path898"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ aria-label="I Love Cookies"
+ transform="matrix(1.0079983,-0.0441007,0.12576363,0.9865629,0,0)"
+ style="font-style:normal;font-weight:normal;font-size:4.94244957px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.03269225"
+ id="text901">
+ <path
+ d="m -42.578917,200.47688 h 0.487488 v 3.60306 h -0.487488 z"
+ style="stroke-width:0.03269225"
+ id="path904" />
+ <path
+ d="m -39.667469,199.86261 0.551459,-0.0397 0.216288,4.14763 1.984706,-0.1428 0.02779,0.53296 -2.536165,0.18247 z"
+ style="stroke-width:0.03970517"
+ id="path906"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -35.357614,201.29188 q -0.404796,0 -0.640016,0.37017 -0.23522,0.36697 -0.23522,1.00838 0,0.64142 0.232485,1.01158 0.235219,0.36697 0.642751,0.36697 0.402062,0 0.637281,-0.37017 0.23522,-0.37016 0.23522,-1.00838 0,-0.63502 -0.23522,-1.0052 -0.235219,-0.37335 -0.637281,-0.37335 z m 0,-0.49782 q 0.656427,0 1.031137,0.49782 0.374711,0.49781 0.374711,1.37855 0,0.87755 -0.374711,1.37855 -0.37471,0.49782 -1.031137,0.49782 -0.659162,0 -1.033873,-0.49782 -0.371974,-0.501 -0.371974,-1.37855 0,-0.88074 0.371974,-1.37855 0.374711,-0.49782 1.033873,-0.49782 z"
+ style="stroke-width:0.04002121"
+ id="path908"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -33.475857,200.88022 h 0.533347 l 0.957289,2.99964 0.957289,-2.99964 h 0.533347 l -1.148747,3.57404 h -0.683778 z"
+ style="stroke-width:0.04002121"
+ id="path910"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -27.17963,202.84877 v 0.24067 h -2.313905 q 0.03282,0.50806 0.311803,0.77547 0.281717,0.26473 0.782243,0.26473 0.289921,0 0.560697,-0.0695 0.273512,-0.0695 0.541553,-0.20858 v 0.46528 q -0.270777,0.11231 -0.555228,0.17114 -0.284452,0.0588 -0.577109,0.0588 -0.73301,0 -1.162423,-0.41715 -0.426677,-0.41715 -0.426677,-1.12845 0,-0.73537 0.404797,-1.1659 0.407531,-0.43319 1.096779,-0.43319 0.618135,0 0.976435,0.39041 0.361035,0.38774 0.361035,1.05625 z m -0.50326,-0.1444 q -0.0054,-0.40378 -0.232485,-0.64445 -0.224279,-0.24066 -0.596254,-0.24066 -0.421208,0 -0.675573,0.23263 -0.251631,0.23265 -0.289922,0.65515 z"
+ style="stroke-width:0.0366358"
+ id="path912"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -23.085996,200.92591 v 0.77129 q -0.246157,-0.344 -0.526101,-0.5142 -0.27753,-0.17018 -0.59126,-0.17018 -0.617806,0 -0.946015,0.5685 -0.32821,0.5649 -0.32821,1.63675 0,1.06822 0.32821,1.63673 0.328209,0.5649 0.946015,0.5649 0.31373,0 0.59126,-0.1702 0.279944,-0.17018 0.526101,-0.5142 v 0.76406 q -0.255811,0.26072 -0.542994,0.39109 -0.28477,0.13039 -0.603326,0.13039 -0.818111,0 -1.288705,-0.74958 -0.470595,-0.7532 -0.470595,-2.05316 0,-1.3036 0.470595,-2.05318 0.470594,-0.75318 1.288705,-0.75318 0.323383,0 0.608153,0.13039 0.287183,0.12679 0.538167,0.38384 z"
+ style="stroke-width:0.04004603"
+ id="path914"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -21.466727,202.53026 q -0.357169,0 -0.48726,0.27994 -0.130756,0.27753 0.0035,0.7626 0.134213,0.48508 0.416798,0.76502 0.284331,0.27753 0.643914,0.27753 0.354756,0 0.484846,-0.27994 0.130087,-0.27995 -0.0035,-0.76261 -0.132874,-0.48024 -0.417875,-0.76019 -0.285665,-0.28235 -0.640421,-0.28235 z m -0.104166,-0.37648 q 0.579193,0 1.013982,0.37648 0.434785,0.37647 0.619075,1.04254 0.183622,0.66366 -0.04217,1.04255 -0.226457,0.37648 -0.80565,0.37648 -0.581607,0 -1.016396,-0.37648 -0.433041,-0.37889 -0.616663,-1.04255 -0.18429,-0.66607 0.03976,-1.04254 0.226457,-0.37648 0.808064,-0.37648 z"
+ style="stroke-width:0.03269225"
+ id="path916"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -18.44527,202.53026 q -0.357169,0 -0.487259,0.27994 -0.130756,0.27753 0.0035,0.7626 0.134213,0.48508 0.416798,0.76502 0.284331,0.27753 0.643913,0.27753 0.354756,0 0.484847,-0.27994 0.130087,-0.27995 -0.0035,-0.76261 -0.132874,-0.48024 -0.417875,-0.76019 -0.285666,-0.28235 -0.640422,-0.28235 z m -0.104166,-0.37648 q 0.579194,0 1.013983,0.37648 0.434784,0.37647 0.619074,1.04254 0.183622,0.66366 -0.04217,1.04255 -0.226457,0.37648 -0.805651,0.37648 -0.581606,0 -1.016395,-0.37648 -0.433042,-0.37889 -0.616664,-1.04255 -0.18429,-0.66607 0.03976,-1.04254 0.226457,-0.37648 0.808063,-0.37648 z"
+ style="stroke-width:0.03269225"
+ id="path918"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -16.865342,201.16674 h 0.446462 l 0.613634,2.21783 1.002396,-1.16563 h 0.567126 l -1.083619,1.26457 1.891796,1.43833 h -0.579193 l -1.738414,-1.32008 0.365243,1.32008 h -0.446462 z"
+ style="stroke-width:0.03269225"
+ id="path920"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -13.4376,201.37704 h 0.582962 v 2.7029 H -13.4376 Z m 0,-1.0522 h 0.582962 v 0.5623 H -13.4376 Z"
+ style="stroke-width:0.03745848"
+ id="path922"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -8.6028135,202.61748 v 0.2172 h -2.6803615 q 0.03802,0.45852 0.361184,0.69985 0.326331,0.23892 0.906126,0.23892 0.335838,0 0.649497,-0.0627 0.3168268,-0.0627 0.6273175,-0.18824 v 0.41991 q -0.3136586,0.10136 -0.6431595,0.15445 -0.3294997,0.0531 -0.668506,0.0531 -0.849098,0 -1.346517,-0.37648 -0.494251,-0.37647 -0.494251,-1.01841 0,-0.66366 0.468906,-1.05221 0.472072,-0.39095 1.270477,-0.39095 0.7160305,0 1.1310746,0.35234 0.4182129,0.34993 0.4182129,0.95326 z m -0.5829634,-0.13032 q -0.0063,-0.36441 -0.2693034,-0.58161 -0.2597986,-0.21719 -0.6906837,-0.21719 -0.487914,0 -0.782564,0.20995 -0.291482,0.20996 -0.335837,0.59126 z"
+ style="stroke-width:0.03745848"
+ id="path924"
+ inkscape:connector-curvature="0" />
+ <path
+ d="m -5.3838476,201.45668 v 0.41991 q -0.2471254,-0.0965 -0.5132606,-0.1448 -0.2661352,-0.0483 -0.55128,-0.0483 -0.4340537,0 -0.6526647,0.10136 -0.2154427,0.10136 -0.2154427,0.30407 0,0.15446 0.1552454,0.24375 0.1552456,0.0869 0.6241503,0.16652 l 0.1996013,0.0338 q 0.6209821,0.10136 0.8807807,0.28719 0.2629668,0.18341 0.2629668,0.51403 0,0.37648 -0.3928662,0.59609 -0.3896977,0.21961 -1.0740453,0.21961 -0.2851448,0 -0.5956357,-0.0434 -0.3073228,-0.041 -0.6494966,-0.12549 v -0.45853 q 0.3231642,0.1279 0.6368234,0.19306 0.3136593,0.0627 0.620982,0.0627 0.4118758,0 0.6336551,-0.10619 0.2217793,-0.1086 0.2217793,-0.30407 0,-0.181 -0.1615821,-0.27753 -0.1584138,-0.0965 -0.7001888,-0.18583 l -0.2027697,-0.0362 q -0.5417751,-0.0869 -0.782564,-0.26546 -0.2407889,-0.181 -0.2407889,-0.49473 0,-0.3813 0.3548468,-0.58885 0.3548468,-0.20754 1.0075115,-0.20754 0.3231642,0 0.608309,0.0362 0.2851448,0.0362 0.5259337,0.1086 z"
+ style="stroke-width:0.03745848"
+ id="path926"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <text
+ id="text983"
+ y="224.61163"
+ x="31.011026"
+ style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
+ xml:space="preserve"><tspan
+ style="stroke-width:0.26458332"
+ y="233.9754"
+ x="31.011026"
+ id="tspan981"
+ sodipodi:role="line" /></text>
+ <g
+ aria-label="father & son"
+ transform="matrix(1.0190173,0,0,0.9813376,0.5291667,0.52916667)"
+ style="font-style:normal;font-weight:normal;font-size:8.01353455px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.20033836"
+ id="text1057" />
+ <g
+ id="g8072"
+ transform="matrix(0.26889251,-0.01002392,-0.03200614,0.19788514,10.15233,292.24297)">
+ <g
+ style="display:inline"
+ inkscape:label="Layer 1"
+ id="layer4" />
+ <path
+ id="rect5872"
+ d="m 11.987289,9.3234482 h 7.991524 v 3.9957608 h -7.991524 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5874"
+ d="m 14.667374,10.662096 h 3.995763 v 1.331921 h -3.995763 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5878"
+ d="m -29.323654,9.3234482 h 7.989551 v 3.9957608 h -7.989551 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="scale(-1,1)"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5880"
+ d="m -26.64423,10.662096 h 3.994777 v 1.331921 h -3.994777 z"
+ style="opacity:1;fill:#ffffff;fill-opacity:0.98571424;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="scale(-1,1)"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5882"
+ d="m 19.995058,14.667374 h 1.331921 v 3.995762 h -1.331921 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5884"
+ d="m 21.326979,17.331215 h 1.315677 v 1.33192 h -1.315677 z"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5886"
+ d="m 11.954803,20.011301 h 2.696328 v 2.663842 h -2.696328 z"
+ style="opacity:1;fill:#001800;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5888"
+ d="m 27.970341,20.011301 h 2.696327 v 2.663842 h -2.696327 z"
+ style="opacity:1;fill:#001800;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ id="rect5890"
+ d="m 14.651131,20.011301 h 13.351695 v 1.33192 H 14.651131 Z"
+ style="opacity:1;fill:#001800;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
diff --git a/src/Computerscare.cpp b/src/Computerscare.cpp
@@ -12,4 +12,5 @@ void init(Plugin *p) {
p->addModel(modelComputerscareDebug);
p->addModel(modelComputerscarePatchSequencer);
p->addModel(modelComputerscareLaundrySoup);
+ p->addModel(modelComputerscareILoveCookies);
}
diff --git a/src/Computerscare.hpp b/src/Computerscare.hpp
@@ -30,6 +30,7 @@ static const NVGcolor COLOR_COMPUTERSCARE_GREEN = nvgRGB(0x24, 0xc9, 0xa6);
extern Model *modelComputerscareDebug;
extern Model *modelComputerscarePatchSequencer;
extern Model *modelComputerscareLaundrySoup;
+extern Model *modelComputerscareILoveCookies;
struct ComputerscareGreenLight : GrayModuleLightWidget {
ComputerscareGreenLight() {
diff --git a/src/ComputerscareILoveCookies.cpp b/src/ComputerscareILoveCookies.cpp
@@ -0,0 +1,334 @@
+#include "Computerscare.hpp"
+#include "dsp/digital.hpp"
+#include "dsp/filter.hpp"
+#include "window.hpp"
+#include "dtpulse.hpp"
+
+#include <string>
+#include <sstream>
+#include <iomanip>
+
+struct ComputerscareILoveCookies;
+
+const int numFields = 3;
+const std::string b64lookup = "123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&$0";
+
+class MyTextFieldCookie : public LedDisplayTextField {
+
+public:
+ int fontSize = 18;
+ MyTextFieldCookie() : LedDisplayTextField() {}
+ void setModule(ComputerscareILoveCookies* _module) {
+ module = _module;
+ }
+ virtual void onTextChange() override;
+ int getTextPosition(Vec mousePos) override {
+ bndSetFont(font->handle);
+ int textPos = bndIconLabelTextPosition(gVg, textOffset.x, textOffset.y,
+ box.size.x - 2*textOffset.x, box.size.y - 2*textOffset.y,
+ -1, fontSize, text.c_str(), mousePos.x, mousePos.y);
+ bndSetFont(gGuiFont->handle);
+ return textPos;
+ }
+ void draw(NVGcontext *vg) override {
+ nvgScissor(vg, 0, 0, box.size.x, box.size.y);
+
+ // Background
+ nvgFontSize(vg, fontSize);
+ nvgBeginPath(vg);
+ nvgRoundedRect(vg, 0, 0, box.size.x, box.size.y, 5.0);
+ nvgFillColor(vg, nvgRGB(0x00, 0x00, 0x00));
+ nvgFill(vg);
+
+ // Text
+ if (font->handle >= 0) {
+ bndSetFont(font->handle);
+
+ NVGcolor highlightColor = color;
+ highlightColor.a = 0.5;
+ int begin = min(cursor, selection);
+ int end = (this == gFocusedWidget) ? max(cursor, selection) : -1;
+ //bndTextField(vg,textOffset.x,textOffset.y+2, box.size.x, box.size.y, -1, 0, 0, const char *text, int cbegin, int cend);
+ bndIconLabelCaret(vg, textOffset.x, textOffset.y - 3,
+ box.size.x - 2*textOffset.x, box.size.y - 2*textOffset.y,
+ -1, color, fontSize, text.c_str(), highlightColor, begin, end);
+
+ bndSetFont(gGuiFont->handle);
+ }
+
+ nvgResetScissor(vg);
+ };
+
+private:
+ ComputerscareILoveCookies* module;
+};
+
+struct ComputerscareILoveCookies : Module {
+ enum ParamIds {
+ NUM_PARAMS
+ };
+ enum InputIds {
+ GLOBAL_CLOCK_INPUT,
+ GLOBAL_RESET_INPUT,
+ CLOCK_INPUT,
+ RESET_INPUT = CLOCK_INPUT + numFields,
+ NUM_INPUTS = RESET_INPUT + numFields
+ };
+ enum OutputIds {
+ TRG_OUTPUT,
+ FIRST_STEP_OUTPUT = TRG_OUTPUT + numFields,
+ NUM_OUTPUTS = FIRST_STEP_OUTPUT + numFields
+ };
+ enum LightIds {
+ SWITCH_LIGHTS,
+ NUM_LIGHTS
+ };
+
+ SchmittTrigger globalClockTrigger;
+ SchmittTrigger globalResetTriggerInput;
+
+ SchmittTrigger clockTriggers[numFields];
+ SchmittTrigger resetTriggers[numFields];
+
+ MyTextFieldCookie* textFields[numFields];
+
+ std::vector<int> absoluteSequences[numFields];
+
+ int absoluteStep[numFields] = {0};
+ int numSteps[numFields] = {0};
+
+ComputerscareILoveCookies() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
+ void step() override;
+
+ json_t *toJson() override
+ {
+ json_t *rootJ = json_object();
+
+ json_t *sequencesJ = json_array();
+ for (int i = 0; i < numFields; i++) {
+ json_t *sequenceJ = json_string(textFields[i]->text.c_str());
+ json_array_append_new(sequencesJ, sequenceJ);
+ }
+ json_object_set_new(rootJ, "sequences", sequencesJ);
+
+ return rootJ;
+ }
+
+ void fromJson(json_t *rootJ) override
+ {
+ json_t *sequencesJ = json_object_get(rootJ, "sequences");
+ if (sequencesJ) {
+ for (int i = 0; i < numFields; i++) {
+ json_t *sequenceJ = json_array_get(sequencesJ, i);
+ if (sequenceJ)
+ textFields[i]->text = json_string_value(sequenceJ);
+ }
+ }
+ onCreate();
+ }
+
+ void onRandomize() override {
+ randomizeAllFields();
+ }
+
+ void randomizeAllFields() {
+ std::string mainlookup ="111111111111111111122223333333344444444444444445556667778888888888888999";
+ std::string string = "";
+ std::string randchar = "";
+ int length = 0;
+
+ for (int i = 0; i < numFields; i++) {
+ length = rand() % 12 + 1;
+ string = "";
+ for(int j = 0; j < length; j++) {
+ randchar = mainlookup[rand() % mainlookup.size()];
+ string = string + randchar;
+ }
+ textFields[i]->text = string;
+ }
+ onCreate();
+
+ }
+
+ void parseFormula(std::string expr, int index) {
+ std::vector<int> absoluteSequence;
+ absoluteSequence = parseEntireString(expr,b64lookup);
+ numSteps[index] = absoluteSequence.size();
+ absoluteSequences[index] = absoluteSequence;
+ }
+
+void onCreate () override
+ {
+ for(int i = 0; i < numFields; i++) {
+ if(textFields[i]->text.size() > 0) {
+ parseFormula(textFields[i]->text,i);
+ }
+ resetOneOfThem(i);
+ }
+ }
+
+ void onReset () override
+ {
+ onCreate();
+ }
+
+ /*
+ lets say the sequence "332" is entered in the 0th (first)
+ numSteps[0] would then be 8 (3 + 3 + 2)
+ absoluteSequences[0] would be the vector (1,0,0,1,0,0,1,0)
+ absoluteStep[0] would run from 0 to 7
+
+ 332-4 (332 offset by 4)
+
+ */
+ void incrementInternalStep(int i) {
+ this->absoluteStep[i] +=1;
+ this->absoluteStep[i] %= this->numSteps[i];
+ }
+
+ void resetOneOfThem(int i) {
+ this->absoluteStep[i] = 0;
+ }
+};
+
+
+void ComputerscareILoveCookies::step() {
+
+ bool globalGateIn = globalClockTrigger.isHigh();
+ bool activeStep = false;
+ bool atFirstStep = false;
+ bool clocked = globalClockTrigger.process(inputs[GLOBAL_CLOCK_INPUT].value);
+ bool currentTriggerIsHigh;
+ bool currentTriggerClocked;
+ bool globalResetTriggered = globalResetTriggerInput.process(inputs[GLOBAL_RESET_INPUT].value / 2.f);
+ bool currentResetActive;
+ bool currentResetTriggered;
+
+ for(int i = 0; i < numFields; i++) {
+ activeStep = false;
+ currentResetActive = inputs[RESET_INPUT + i].active;
+ currentResetTriggered = resetTriggers[i].process(inputs[RESET_INPUT+i].value / 2.f);
+ currentTriggerIsHigh = clockTriggers[i].isHigh();
+ currentTriggerClocked = clockTriggers[i].process(inputs[CLOCK_INPUT + i].value);
+
+ if(this->numSteps[i] > 0) {
+ if (inputs[CLOCK_INPUT + i].active) {
+ if(currentTriggerClocked) {
+ incrementInternalStep(i);
+ }
+ }
+ else {
+ if (inputs[GLOBAL_CLOCK_INPUT].active && clocked) {
+ incrementInternalStep(i);
+ }
+ }
+ if((currentResetActive && currentResetTriggered) || (!currentResetActive && globalResetTriggered)) {
+ resetOneOfThem(i);
+ }
+
+ activeStep = absoluteSequences[i][this->absoluteStep[i]]==1;
+ atFirstStep = (this->absoluteStep[i] == 0);
+ }
+ if(inputs[CLOCK_INPUT + i].active) {
+ outputs[TRG_OUTPUT + i].value = (currentTriggerIsHigh && activeStep) ? 10.0f : 0.0f;
+ outputs[FIRST_STEP_OUTPUT + i].value = (currentTriggerIsHigh && atFirstStep) ? 10.f : 0.0f;
+ }
+ else {
+ outputs[TRG_OUTPUT + i].value = (globalGateIn && activeStep) ? 10.0f : 0.0f;
+ outputs[FIRST_STEP_OUTPUT + i].value = (globalGateIn && atFirstStep) ? 10.f : 0.0f;
+ }
+ }
+}
+
+/////////////////////////////////////////////////
+struct NumberDisplayWidget3 : TransparentWidget {
+
+ int *value;
+ std::shared_ptr<Font> font;
+
+ NumberDisplayWidget3() {
+ font = Font::load(assetPlugin(plugin, "res/digital-7.ttf"));
+ };
+
+ void draw(NVGcontext *vg) override
+ {
+ // Background
+ NVGcolor backgroundColor = nvgRGB(0x00, 0x00, 0x00);
+
+ nvgBeginPath(vg);
+ nvgRoundedRect(vg, 0.0, 0.0, box.size.x, box.size.y, 4.0);
+ nvgFillColor(vg, backgroundColor);
+ nvgFill(vg);
+
+ // text
+ nvgFontSize(vg, 13);
+ nvgFontFaceId(vg, font->handle);
+ nvgTextLetterSpacing(vg, 2.5);
+
+ std::stringstream to_display;
+ to_display << std::setw(3) << *value;
+
+ Vec textPos = Vec(6.0f, 17.0f);
+ NVGcolor textColor = nvgRGB(0xC0, 0xE7, 0xDE);
+ nvgFillColor(vg, textColor);
+ nvgText(vg, textPos.x, textPos.y, to_display.str().c_str(), NULL);
+ }
+};
+
+void MyTextFieldCookie::onTextChange() {
+ module->onCreate();
+}
+
+struct ComputerscareILoveCookiesWidget : ModuleWidget {
+
+ double verticalSpacing = 18.4;
+ int verticalStart = 82;
+ ComputerscareILoveCookiesWidget(ComputerscareILoveCookies *module) : ModuleWidget(module) {
+ setPanel(SVG::load(assetPlugin(plugin, "res/ComputerscareILoveCookiesPanel.svg")));
+
+ //global clock input
+ addInput(Port::create<InPort>(mm2px(Vec(2 , 59)), Port::INPUT, module, ComputerscareILoveCookies::GLOBAL_CLOCK_INPUT));
+
+ //global reset input
+ addInput(Port::create<InPort>(mm2px(Vec(12 , 59)), Port::INPUT, module, ComputerscareILoveCookies::GLOBAL_RESET_INPUT));
+
+ for(int i = 0; i < numFields; i++) {
+ //first-step output
+ addOutput(Port::create<OutPort>(mm2px(Vec(42 , verticalStart + verticalSpacing*i - 11)), Port::OUTPUT, module, ComputerscareILoveCookies::FIRST_STEP_OUTPUT + i));
+
+ //individual output
+ addOutput(Port::create<OutPort>(mm2px(Vec(54 , verticalStart + verticalSpacing*i - 11)), Port::OUTPUT, module, ComputerscareILoveCookies::TRG_OUTPUT + i));
+
+ //individual clock input
+ addInput(Port::create<InPort>(mm2px(Vec(2, verticalStart + verticalSpacing*i-10)), Port::INPUT, module, ComputerscareILoveCookies::CLOCK_INPUT + i));
+
+ //individual reset input
+ addInput(Port::create<InPort>(mm2px(Vec(12, verticalStart + verticalSpacing*i-10)), Port::INPUT, module, ComputerscareILoveCookies::RESET_INPUT + i));
+
+ //sequence input field
+ textField = Widget::create<MyTextFieldCookie>(mm2px(Vec(1, verticalStart + verticalSpacing*i)));
+ textField->setModule(module);
+ textField->box.size = mm2px(Vec(63, 7));
+ textField->multiline = false;
+ textField->color = nvgRGB(0xC0, 0xE7, 0xDE);
+ addChild(textField);
+ module->textFields[i] = textField;
+
+ //active step display
+ NumberDisplayWidget3 *display = new NumberDisplayWidget3();
+ display->box.pos = mm2px(Vec(24,verticalStart - 9.2 +verticalSpacing*i));
+ display->box.size = Vec(50, 20);
+ if(&module->numSteps[i]) {
+ display->value = &module->absoluteStep[i];
+ }
+ else {
+ display->value = 0;
+ }
+ addChild(display);
+ }
+
+ }
+ MyTextFieldCookie* textField;
+};
+
+Model *modelComputerscareILoveCookies = Model::create<ComputerscareILoveCookies, ComputerscareILoveCookiesWidget>("computerscare", "computerscare-i-love-cookies", "I Love Cookies", SEQUENCER_TAG);