From 3772dc5c78fc4a52cc629a1d6a30e8d73b995f1a Mon Sep 17 00:00:00 2001
From: prndev <prndev@users.noreply.github.com>
Date: Mon, 16 Jul 2018 22:33:49 +0200
Subject: [PATCH] Added dynamic scrotum scaling.

---
 artTools/README.md                  |  2 ++
 artTools/vector_source_ndextras.svg | 44 +++++------------------------
 src/art/vector/Balls.tw             | 34 ++++++++--------------
 src/art/vector/layers/Balls.tw      |  3 ++
 src/art/vector/layers/Balls_0.tw    |  3 --
 src/art/vector/layers/Balls_1.tw    |  3 --
 src/art/vector/layers/Balls_2.tw    |  3 --
 src/art/vector/layers/Balls_3.tw    |  3 --
 src/art/vector/layers/Balls_4.tw    |  3 --
 src/art/vector/layers/Balls_5.tw    |  3 --
 src/art/vector/layers/Balls_6.tw    |  3 --
 src/art/vector/layers/Balls_7.tw    |  3 --
 src/art/vector/layers/Balls_8.tw    |  3 --
 13 files changed, 24 insertions(+), 86 deletions(-)
 create mode 100644 src/art/vector/layers/Balls.tw
 delete mode 100644 src/art/vector/layers/Balls_0.tw
 delete mode 100644 src/art/vector/layers/Balls_1.tw
 delete mode 100644 src/art/vector/layers/Balls_2.tw
 delete mode 100644 src/art/vector/layers/Balls_3.tw
 delete mode 100644 src/art/vector/layers/Balls_4.tw
 delete mode 100644 src/art/vector/layers/Balls_5.tw
 delete mode 100644 src/art/vector/layers/Balls_6.tw
 delete mode 100644 src/art/vector/layers/Balls_7.tw
 delete mode 100644 src/art/vector/layers/Balls_8.tw

diff --git a/artTools/README.md b/artTools/README.md
index 07fce7668ed..8324b0948d9 100644
--- a/artTools/README.md
+++ b/artTools/README.md
@@ -10,6 +10,8 @@ Note: This does not actually describe how to be an artist.
     killall inkscape
     artTools/vector_layer_split.py artTools/vector_source.svg tw src/art/vector/layers/
     compile
+    python3 artTools/normalize_svg.py artTools/vector_source.svg
+    git commit -a
 
 ## 1. Be an artist
 
diff --git a/artTools/vector_source_ndextras.svg b/artTools/vector_source_ndextras.svg
index da6bb9b6091..3ff331be51e 100644
--- a/artTools/vector_source_ndextras.svg
+++ b/artTools/vector_source_ndextras.svg
@@ -1015,43 +1015,13 @@
       <rect x="270.67728" y="413.32043" transform="rotate(0.45160762)" width="1.400056" height="9.8003931" id="rect15"/>
     </g>
   </g>
-  <g inkscape:groupmode="layer" id="Belly_" style="display:inline" inkscape:label="Belly_"/>
-  <g inkscape:groupmode="layer" id="Penis_" style="display:none" inkscape:label="Penis_">
-    <g inkscape:groupmode="layer" id="Balls_8" style="display:none;opacity:1" inkscape:label="Balls_8">
-      <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 236.3469,553.43633 c 10.78799,2.94037 22.0101,1.14132 24.42164,0.89468 20.66043,10.32815 40.83655,4.81655 51.07917,-16.08874 5.72866,-12.61253 -0.94678,-30.56012 -8.56506,-49.74716 -5.70643,-14.17929 -13.15939,-30.00415 -17.226,-34.51839 -25.60311,-25.78494 -34.15735,-6.96155 -56.96751,40.74686 -12.64856,21.51943 -23.27882,50.11228 7.25776,58.71275 z" id="path7946" style="fill:#000000"/>
-      <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 237.84992,551.46388 c 10.27384,2.88848 20.96111,1.12115 23.25776,0.87886 19.67583,10.14595 38.89037,4.73159 48.64485,-15.80491 5.45566,-12.38997 -0.20292,-30.9787 -7.45823,-49.8273 -5.43446,-13.92915 -11.21915,-29.47485 -15.09195,-33.90944 -24.38295,-25.33009 -34.54125,-5.881 -56.26432,40.9858 -12.04573,21.13977 -22.16941,49.22822 6.91189,57.67699 z" class="skin scrotum" id="path7948"/>
-    </g>
-    <g inkscape:label="Balls_7" style="display:none;opacity:1" id="Balls_7" inkscape:groupmode="layer">
-      <path id="path7952" d="m 240.32171,545.03209 c 9.68156,2.6388 19.75272,1.02426 21.91693,0.80291 18.54148,9.26889 36.64832,4.32256 45.84045,-14.43865 5.14112,-11.31898 -0.84968,-27.42585 -7.68663,-44.64505 -5.12116,-12.72505 -11.80974,-26.9269 -15.45928,-30.97815 -22.97723,-23.14041 -30.65414,-6.24757 -51.12487,36.56782 -11.35131,19.31238 -20.89132,44.97272 6.5134,52.69112 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" style="fill:#000000"/>
-      <path id="path7954" class="skin scrotum" d="m 241.60976,542.86172 c 9.18709,2.58172 18.74388,1.00209 20.7976,0.78553 17.59455,9.0684 34.77661,4.22907 43.49927,-14.12636 4.87857,-11.07411 -0.18146,-27.68863 -6.66931,-44.53542 -4.85961,-12.4498 -10.0324,-26.34449 -13.49554,-30.30809 -21.80376,-22.63992 -30.88754,-5.25642 -50.31278,36.63291 -10.77155,18.89463 -19.82436,43.99996 6.18076,51.55143 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/>
-    </g>
-    <g inkscape:label="Balls_6" style="display:none;opacity:1" id="Balls_6" inkscape:groupmode="layer">
-      <path id="path7940" d="m 244.11974,536.2743 c 8.57513,2.33723 17.49535,0.9072 19.41222,0.71115 16.42253,8.20962 32.46009,3.82857 40.60172,-12.78858 4.55359,-10.02543 -0.75257,-24.29157 -6.80818,-39.54293 -4.53591,-11.2708 -10.46011,-23.84964 -13.69257,-27.43791 -20.35135,-20.49589 -27.15093,-5.53359 -45.28222,32.38878 -10.05407,17.10533 -18.50383,39.83316 5.76903,46.66949 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" style="fill:#000000"/>
-      <path id="path7942" class="skin scrotum" d="m 245.22876,533.90601 c 8.11987,2.27495 16.5665,0.88301 18.38165,0.69219 15.55068,7.99086 30.73679,3.72656 38.44618,-12.4478 4.31185,-9.75824 -0.16038,-24.39855 -5.89457,-39.24353 -4.2951,-10.97046 -8.86699,-23.21412 -11.92783,-26.70676 -19.27093,-19.94975 -27.29949,-4.63183 -44.4682,32.28004 -9.52027,16.64948 -17.52147,38.77169 5.46277,45.42586 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/>
-    </g>
-    <g inkscape:groupmode="layer" id="Balls_5" style="display:none;opacity:1" inkscape:label="Balls_5">
-      <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 247.74099,527.16294 c 7.46871,2.03567 15.23797,0.79016 16.90752,0.6194 14.30357,7.15036 28.27184,3.33458 35.36299,-11.1385 3.96604,-8.73188 -0.65548,-21.1573 -5.92974,-34.44082 -3.95066,-9.81656 -9.11047,-20.77239 -11.92586,-23.89767 -17.72547,-17.85136 -23.64772,-4.8196 -39.43958,28.20975 -8.75682,14.89827 -16.11633,34.69359 5.02467,40.64784 z" id="path7934" style="fill:#000000"/>
-      <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 248.70691,525.10023 c 7.07219,1.98142 14.42898,0.76908 16.00992,0.60288 13.54422,6.95982 26.7709,3.24573 33.48558,-10.8417 3.7555,-8.49915 -0.13969,-21.25046 -5.13401,-34.18004 -3.74092,-9.55497 -7.72291,-20.21887 -10.38882,-23.26086 -16.78446,-17.37568 -23.77711,-4.03419 -38.73059,28.11503 -8.2919,14.50125 -15.26072,33.76909 4.75792,39.56469 z" class="skin scrotum" id="path7936"/>
-    </g>
-    <g inkscape:label="Balls_4" style="display:none;opacity:1" id="Balls_4" inkscape:groupmode="layer">
-      <path id="path7087" d="m 251.36225,517.52126 c 6.36228,1.7341 12.98059,0.6731 14.40281,0.52764 12.18462,6.09109 24.08361,2.84059 30.12426,-9.48843 3.37851,-7.43832 -0.55837,-18.02302 -5.0513,-29.3387 -3.3654,-8.36232 -7.76083,-17.69513 -10.15914,-20.35743 -15.09959,-15.20683 -20.14451,-4.10562 -33.59694,24.03071 -7.45957,12.69122 -13.72883,29.55403 4.28031,34.62621 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" style="fill:#000000"/>
-      <path id="path7089" class="skin scrotum" d="m 252.18508,515.76412 c 6.0245,1.68789 12.29144,0.65515 13.63818,0.51357 11.53776,5.92878 22.80502,2.7649 28.52497,-9.23559 3.19916,-7.24008 -0.11899,-18.10239 -4.37345,-29.11656 -3.18673,-8.13948 -6.57882,-17.22361 -8.8498,-19.81496 -14.29798,-14.80162 -20.25473,-3.43656 -32.99298,23.95003 -7.06352,12.35301 -12.99997,28.76648 4.05308,33.70351 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/>
-    </g>
-    <g inkscape:groupmode="layer" id="Balls_3" style="display:none;opacity:1" inkscape:label="Balls_3">
-      <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 254.20165,507.75763 c 5.25585,1.43253 10.72321,0.55604 11.8981,0.43588 10.06567,5.03182 19.89538,2.3466 24.88554,-7.83836 2.79097,-6.14476 -0.46127,-14.88874 -4.17286,-24.23658 -2.78015,-6.90808 -6.41119,-14.61788 -8.39243,-16.81719 -12.47371,-12.56231 -16.6413,-3.39164 -27.7543,19.85167 -6.16232,10.48417 -11.34133,24.41447 3.53595,28.60458 z" id="path7081" style="fill:#000000"/>
-      <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 254.88139,506.30606 c 4.97681,1.39436 10.15391,0.54122 11.26644,0.42426 9.5313,4.89774 18.83914,2.28407 23.56437,-7.62949 2.64281,-5.981 -0.0983,-14.95431 -3.61289,-24.05307 -2.63255,-6.72399 -5.43474,-14.22836 -7.31079,-16.36906 -11.8115,-12.22756 -16.73235,-2.83893 -27.25537,19.78502 -5.83514,10.20478 -10.73922,23.76388 3.34824,27.84234 z" class="skin scrotum" id="path7083"/>
-    </g>
-    <g inkscape:label="Balls_2" style="display:none;opacity:1" id="Balls_2" inkscape:groupmode="layer">
-      <path id="path1992-1" d="m 257.66607,496.61899 c 4.14944,1.13097 8.46586,0.43899 9.39342,0.34412 7.94674,3.97257 15.70719,1.85262 19.64687,-6.1883 2.20344,-4.85122 -0.36417,-11.7545 -3.29443,-19.13452 -2.1949,-5.45385 -5.06156,-11.54066 -6.62573,-13.27699 -9.84786,-9.91781 -13.13813,-2.67766 -21.91172,15.67268 -4.86509,8.27714 -8.95386,19.27496 2.79159,22.58301 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" style="fill:#000000"/>
-      <path id="path1992" class="skin scrotum" d="m 258.20272,495.47299 c 3.92914,1.10083 8.0164,0.42729 8.89473,0.33495 7.52486,3.86671 14.8733,1.80325 18.60382,-6.0234 2.08647,-4.72194 -0.0776,-11.80627 -2.85234,-18.98964 -2.07837,-5.30852 -4.29067,-11.23314 -5.77179,-12.9232 -9.32505,-9.65353 -13.21001,-2.2413 -21.51782,15.62006 -4.60678,8.05657 -8.4785,18.76133 2.6434,21.98123 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/>
-    </g>
-    <g inkscape:groupmode="layer" id="Balls_1" style="display:none;opacity:1" inkscape:label="Balls_1">
-      <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 261.10793,485.5631 c 3.043,0.8294 6.20846,0.32194 6.88869,0.25236 5.82776,2.9133 11.5189,1.35863 14.40808,-4.5382 1.6159,-3.55766 -0.26707,-8.62019 -2.41598,-14.03235 -1.60964,-3.99959 -3.71191,-8.46337 -4.859,-9.73671 -7.22195,-7.27326 -9.63488,-1.96367 -16.06901,11.4936 -3.56783,6.07006 -6.56634,14.13534 2.04722,16.5613 z" id="path7075" style="fill:#000000"/>
-      <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 261.50148,484.72268 c 2.88145,0.8073 5.87885,0.31336 6.52297,0.24564 5.51838,2.83566 10.90738,1.32242 13.64316,-4.41728 1.53012,-3.46285 -0.0569,-8.65816 -2.09177,-13.9261 -1.52418,-3.89302 -3.14657,-8.23785 -4.23276,-9.47726 -6.83854,-7.07944 -9.68759,-1.64366 -15.78014,11.45501 -3.3784,5.90831 -6.21773,13.75867 1.93854,16.11999 z" class="skin scrotum" id="path7077"/>
-    </g>
-    <g inkscape:label="Balls_0" style="display:none" id="Balls_0" inkscape:groupmode="layer">
-      <path id="path7093" d="m 264.41983,475.25851 c 1.93657,0.52783 3.95108,0.20488 4.38398,0.1606 3.70881,1.85403 7.33067,0.86464 9.16935,-2.88813 1.02837,-2.2641 -0.16996,-5.48591 -1.53754,-8.93023 -1.02438,-2.54535 -2.36227,-5.38611 -3.09228,-6.19647 -4.59607,-4.62873 -6.13167,-1.24969 -10.22637,7.31456 -2.27058,3.86301 -4.17884,8.99578 1.30286,10.53967 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" style="fill:#000000"/>
-      <path id="path7095" class="skin scrotum" d="m 264.67028,474.72366 c 1.83377,0.51377 3.74132,0.19942 4.15124,0.15633 3.51192,1.80462 6.9415,0.84159 8.68255,-2.81117 0.97378,-2.20377 -0.0362,-5.51008 -1.3312,-8.86262 -0.97,-2.47753 -2.00249,-5.24259 -2.69375,-6.03136 -4.35207,-4.50538 -6.16521,-1.04603 -10.04253,7.29001 -2.15002,3.76007 -3.95698,8.75606 1.23369,10.25881 z" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc"/>
+  <g inkscape:groupmode="layer" id="Belly_" style="display:none" inkscape:label="Belly_"/>
+  <g inkscape:groupmode="layer" id="Penis_" style="display:inline" inkscape:label="Penis_">
+    <g inkscape:label="Balls" style="display:inline;opacity:1" id="Balls" inkscape:groupmode="layer">
+      <g id="g5023">
+        <path style="fill:#000000" sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 257.66607,496.61899 c 4.14944,1.13097 8.46586,0.43899 9.39342,0.34412 7.94674,3.97257 15.70719,1.85262 19.64687,-6.1883 2.20344,-4.85122 -0.36417,-11.7545 -3.29443,-19.13452 -2.1949,-5.45385 -5.06156,-11.54066 -6.62573,-13.27699 -9.84786,-9.91781 -13.13813,-2.67766 -21.91172,15.67268 -4.86509,8.27714 -8.95386,19.27496 2.79159,22.58301 z" id="path1992-1"/>
+        <path sodipodi:nodetypes="ccccccc" inkscape:connector-curvature="0" d="m 258.20272,495.47299 c 3.92914,1.10083 8.0164,0.42729 8.89473,0.33495 7.52486,3.86671 14.8733,1.80325 18.60382,-6.0234 2.08647,-4.72194 -0.0776,-11.80627 -2.85234,-18.98964 -2.07837,-5.30852 -4.29067,-11.23314 -5.77179,-12.9232 -9.32505,-9.65353 -13.21001,-2.2413 -21.51782,15.62006 -4.60678,8.05657 -8.4785,18.76133 2.6434,21.98123 z" class="skin scrotum" id="path1992"/>
+      </g>
     </g>
     <g inkscape:label="Penis_10" inkscape:groupmode="layer" id="Penis_10" style="display:none;opacity:1">
       <path inkscape:connector-curvature="0" d="m 177.54966,423.60207 c 0.58231,-0.24185 1.52523,0.0443 2.06579,-0.20185 25.72401,-11.7127 4.43582,-28.56687 -1.97404,-27.76071 -17.29805,6.06616 -10.64391,23.21603 -5.00792,24.16114 0.0809,0.0587 0.67287,1.50415 4.91615,3.80142 z" id="path8126" sodipodi:nodetypes="cscccc" style="fill:#000000"/>
diff --git a/src/art/vector/Balls.tw b/src/art/vector/Balls.tw
index 708874db7f6..306938f52d9 100644
--- a/src/art/vector/Balls.tw
+++ b/src/art/vector/Balls.tw
@@ -1,25 +1,15 @@
 :: Art_Vector_Balls_ [nobr]
 
-<<if _artSlave.scrotum > 0 && _artSlave.balls > 0 && _artSlave.clothes != "a slave gown" && _artSlave.clothes != "a cheerleader outfit" && _artSlave.clothes != "cutoffs and a t-shirt" && _artSlave.clothes != "a halter top dress" && _artSlave.clothes != "a hijab and abaya" && _artSlave.clothes != "a leotard" && _artSlave.clothes != "a nice maid outfit" && _artSlave.clothes != "a slutty maid outfit" && _artSlave.clothes != "a military uniform" && _artSlave.clothes != "a mini dress" && _artSlave.clothes != "a nice nurse outfit" && _artSlave.clothes != "a slutty nurse outfit" && _artSlave.clothes != "a scalemail bikini" && _artSlave.clothes != "a schoolgirl outfit" && _artSlave.clothes != "a ball gown" && _artSlave.clothes != "battledress" && _artSlave.clothes != "a slutty outfit" && _artSlave.clothes != "spats and a tank top" && _artSlave.clothes != "a succubus outfit" && _artSlave.clothes != "nice business attire" && _artSlave.clothes != "slutty business attire" && _artSlave.clothes != "attractive lingerie for a pregnant woman" && _artSlave.clothes != "a bunny outfit" && _artSlave.clothes != "a chattel habit" && _artSlave.clothes != "conservative clothing" && _artSlave.clothes != "harem gauze" && _artSlave.clothes != "a huipil" && _artSlave.clothes != "a kimono" && _artSlave.clothes != "a maternity dress" && _artSlave.clothes != "a slutty qipao" && _artSlave.clothes != "stretch pants and a crop-top" && _artSlave.clothes != "a toga" && _artSlave.clothes != "a penitent nuns habit" && _artSlave.clothes != "a schutzstaffel uniform" && _artSlave.clothes != "a slutty schutzstaffel uniform" && _artSlave.clothes != "a red army uniform" && _artSlave.clothes != "an apron" && _artSlave.clothes != "battlearmor" && _artSlave.clothes != "a dirndl" && _artSlave.clothes != "a biyelgee costume" && _artSlave.clothes != "lederhosen" && _artSlave.clothes != "a mounty outfit" && _artSlave.clothes != "a long qipao">>
-	<<if _artSlave.scrotum >= 9>>
-		<<set _ballSize = 8>>
-	<<elseif _artSlave.scrotum >= 8>>
-		<<set _ballSize = 7>>
-	<<elseif _artSlave.scrotum >= 7>>
-		<<set _ballSize = 6>>
-	<<elseif _artSlave.scrotum >= 6>>
-		<<set _ballSize = 5>>
-	<<elseif _artSlave.scrotum >= 5>>
-		<<set _ballSize = 4>>
-	<<elseif _artSlave.scrotum >= 4>>
-		<<set _ballSize = 3>>
-	<<elseif _artSlave.scrotum >= 3>>
-		<<set _ballSize = 2>>
-	<<elseif _artSlave.scrotum >= 2>>
-		<<set _ballSize = 1>>
-	<<else>>
-		<<set _ballSize = 0>>
-	<</if>>
-  <<set _art = "Art_Vector_Balls_"+_ballSize>>
+<<if _artSlave.scrotum > 0 && _artSlave.balls > 0 && !(["a slave gown","a cheerleader outfit","cutoffs and a t-shirt","a halter top dress","a hijab and abaya","a leotard","a nice maid outfit","a slutty maid outfit","a military uniform","a mini dress","a nice nurse outfit","a slutty nurse outfit","a scalemail bikini","a schoolgirl outfit","a ball gown","battledress","a slutty outfit","spats and a tank top","a succubus outfit","nice business attire","slutty business attire","attractive lingerie for a pregnant woman","a bunny outfit","a chattel habit","conservative clothing","harem gauze","a huipil","a kimono","a maternity dress","a slutty qipao","stretch pants and a crop-top","a toga","a penitent nuns habit","a schutzstaffel uniform","a slutty schutzstaffel uniform","a red army uniform","an apron","battlearmor","a dirndl","a biyelgee costume","lederhosen","a mounty outfit","a long qipao"].includes(_artSlave.clothes)) >>
+  <<set _art_scale_factor = _artSlave.scrotum/3 >>
+  <<set _art_translation_x = -271*(_art_scale_factor-1) >>
+  <<set _art_translation_y = -453*(_art_scale_factor-1) >>
+/*
+_art_balls_transform is for internal program usage.
+_art_transform will affect the display.
+*/
+<<set _art_balls_transform = "matrix(" + _art_scale_factor +",0,0," + _art_scale_factor + "," + _art_translation_x + "," + _art_translation_y + ")">>
+<<set _art_transform = _art_balls_transform>>
+  <<set _art = "Art_Vector_Balls">>
   <<include _art>>
-<</if>>
\ No newline at end of file
+<</if>>
diff --git a/src/art/vector/layers/Balls.tw b/src/art/vector/layers/Balls.tw
new file mode 100644
index 00000000000..f18ca283b81
--- /dev/null
+++ b/src/art/vector/layers/Balls.tw
@@ -0,0 +1,3 @@
+:: Art_Vector_Balls [nobr]
+
+<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><g transform="'+_art_transform+'"id="g5023"><path style="fill:#000000" sodipodi:nodetypes="ccccccc" d="m 257.66607,496.61899 c 4.14944,1.13097 8.46586,0.43899 9.39342,0.34412 7.94674,3.97257 15.70719,1.85262 19.64687,-6.1883 2.20344,-4.85122 -0.36417,-11.7545 -3.29443,-19.13452 -2.1949,-5.45385 -5.06156,-11.54066 -6.62573,-13.27699 -9.84786,-9.91781 -13.13813,-2.67766 -21.91172,15.67268 -4.86509,8.27714 -8.95386,19.27496 2.79159,22.58301 z" id="path1992-1"/><path sodipodi:nodetypes="ccccccc" d="m 258.20272,495.47299 c 3.92914,1.10083 8.0164,0.42729 8.89473,0.33495 7.52486,3.86671 14.8733,1.80325 18.60382,-6.0234 2.08647,-4.72194 -0.0776,-11.80627 -2.85234,-18.98964 -2.07837,-5.30852 -4.29067,-11.23314 -5.77179,-12.9232 -9.32505,-9.65353 -13.21001,-2.2413 -21.51782,15.62006 -4.60678,8.05657 -8.4785,18.76133 2.6434,21.98123 z" class="skin scrotum" id="path1992"/></g></svg></html>' >>
\ No newline at end of file
diff --git a/src/art/vector/layers/Balls_0.tw b/src/art/vector/layers/Balls_0.tw
deleted file mode 100644
index d47036b922c..00000000000
--- a/src/art/vector/layers/Balls_0.tw
+++ /dev/null
@@ -1,3 +0,0 @@
-:: Art_Vector_Balls_0 [nobr]
-
-<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path id="path7093" d="m 264.41983,475.25851 c 1.93657,0.52783 3.95108,0.20488 4.38398,0.1606 3.70881,1.85403 7.33067,0.86464 9.16935,-2.88813 1.02837,-2.2641 -0.16996,-5.48591 -1.53754,-8.93023 -1.02438,-2.54535 -2.36227,-5.38611 -3.09228,-6.19647 -4.59607,-4.62873 -6.13167,-1.24969 -10.22637,7.31456 -2.27058,3.86301 -4.17884,8.99578 1.30286,10.53967 z" sodipodi:nodetypes="ccccccc" style="fill:#000000"/><path id="path7095" class="skin scrotum" d="m 264.67028,474.72366 c 1.83377,0.51377 3.74132,0.19942 4.15124,0.15633 3.51192,1.80462 6.9415,0.84159 8.68255,-2.81117 0.97378,-2.20377 -0.0362,-5.51008 -1.3312,-8.86262 -0.97,-2.47753 -2.00249,-5.24259 -2.69375,-6.03136 -4.35207,-4.50538 -6.16521,-1.04603 -10.04253,7.29001 -2.15002,3.76007 -3.95698,8.75606 1.23369,10.25881 z" sodipodi:nodetypes="ccccccc"/></svg></html>' >>
\ No newline at end of file
diff --git a/src/art/vector/layers/Balls_1.tw b/src/art/vector/layers/Balls_1.tw
deleted file mode 100644
index ef18b97112a..00000000000
--- a/src/art/vector/layers/Balls_1.tw
+++ /dev/null
@@ -1,3 +0,0 @@
-:: Art_Vector_Balls_1 [nobr]
-
-<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path sodipodi:nodetypes="ccccccc" d="m 261.10793,485.5631 c 3.043,0.8294 6.20846,0.32194 6.88869,0.25236 5.82776,2.9133 11.5189,1.35863 14.40808,-4.5382 1.6159,-3.55766 -0.26707,-8.62019 -2.41598,-14.03235 -1.60964,-3.99959 -3.71191,-8.46337 -4.859,-9.73671 -7.22195,-7.27326 -9.63488,-1.96367 -16.06901,11.4936 -3.56783,6.07006 -6.56634,14.13534 2.04722,16.5613 z" id="path7075" style="fill:#000000"/><path sodipodi:nodetypes="ccccccc" d="m 261.50148,484.72268 c 2.88145,0.8073 5.87885,0.31336 6.52297,0.24564 5.51838,2.83566 10.90738,1.32242 13.64316,-4.41728 1.53012,-3.46285 -0.0569,-8.65816 -2.09177,-13.9261 -1.52418,-3.89302 -3.14657,-8.23785 -4.23276,-9.47726 -6.83854,-7.07944 -9.68759,-1.64366 -15.78014,11.45501 -3.3784,5.90831 -6.21773,13.75867 1.93854,16.11999 z" class="skin scrotum" id="path7077"/></svg></html>' >>
\ No newline at end of file
diff --git a/src/art/vector/layers/Balls_2.tw b/src/art/vector/layers/Balls_2.tw
deleted file mode 100644
index cc1e2cc0f53..00000000000
--- a/src/art/vector/layers/Balls_2.tw
+++ /dev/null
@@ -1,3 +0,0 @@
-:: Art_Vector_Balls_2 [nobr]
-
-<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path id="path1992-1" d="m 257.66607,496.61899 c 4.14944,1.13097 8.46586,0.43899 9.39342,0.34412 7.94674,3.97257 15.70719,1.85262 19.64687,-6.1883 2.20344,-4.85122 -0.36417,-11.7545 -3.29443,-19.13452 -2.1949,-5.45385 -5.06156,-11.54066 -6.62573,-13.27699 -9.84786,-9.91781 -13.13813,-2.67766 -21.91172,15.67268 -4.86509,8.27714 -8.95386,19.27496 2.79159,22.58301 z" sodipodi:nodetypes="ccccccc" style="fill:#000000"/><path id="path1992" class="skin scrotum" d="m 258.20272,495.47299 c 3.92914,1.10083 8.0164,0.42729 8.89473,0.33495 7.52486,3.86671 14.8733,1.80325 18.60382,-6.0234 2.08647,-4.72194 -0.0776,-11.80627 -2.85234,-18.98964 -2.07837,-5.30852 -4.29067,-11.23314 -5.77179,-12.9232 -9.32505,-9.65353 -13.21001,-2.2413 -21.51782,15.62006 -4.60678,8.05657 -8.4785,18.76133 2.6434,21.98123 z" sodipodi:nodetypes="ccccccc"/></svg></html>' >>
\ No newline at end of file
diff --git a/src/art/vector/layers/Balls_3.tw b/src/art/vector/layers/Balls_3.tw
deleted file mode 100644
index cad29b29521..00000000000
--- a/src/art/vector/layers/Balls_3.tw
+++ /dev/null
@@ -1,3 +0,0 @@
-:: Art_Vector_Balls_3 [nobr]
-
-<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path sodipodi:nodetypes="ccccccc" d="m 254.20165,507.75763 c 5.25585,1.43253 10.72321,0.55604 11.8981,0.43588 10.06567,5.03182 19.89538,2.3466 24.88554,-7.83836 2.79097,-6.14476 -0.46127,-14.88874 -4.17286,-24.23658 -2.78015,-6.90808 -6.41119,-14.61788 -8.39243,-16.81719 -12.47371,-12.56231 -16.6413,-3.39164 -27.7543,19.85167 -6.16232,10.48417 -11.34133,24.41447 3.53595,28.60458 z" id="path7081" style="fill:#000000"/><path sodipodi:nodetypes="ccccccc" d="m 254.88139,506.30606 c 4.97681,1.39436 10.15391,0.54122 11.26644,0.42426 9.5313,4.89774 18.83914,2.28407 23.56437,-7.62949 2.64281,-5.981 -0.0983,-14.95431 -3.61289,-24.05307 -2.63255,-6.72399 -5.43474,-14.22836 -7.31079,-16.36906 -11.8115,-12.22756 -16.73235,-2.83893 -27.25537,19.78502 -5.83514,10.20478 -10.73922,23.76388 3.34824,27.84234 z" class="skin scrotum" id="path7083"/></svg></html>' >>
\ No newline at end of file
diff --git a/src/art/vector/layers/Balls_4.tw b/src/art/vector/layers/Balls_4.tw
deleted file mode 100644
index 6e734a38e63..00000000000
--- a/src/art/vector/layers/Balls_4.tw
+++ /dev/null
@@ -1,3 +0,0 @@
-:: Art_Vector_Balls_4 [nobr]
-
-<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path id="path7087" d="m 251.36225,517.52126 c 6.36228,1.7341 12.98059,0.6731 14.40281,0.52764 12.18462,6.09109 24.08361,2.84059 30.12426,-9.48843 3.37851,-7.43832 -0.55837,-18.02302 -5.0513,-29.3387 -3.3654,-8.36232 -7.76083,-17.69513 -10.15914,-20.35743 -15.09959,-15.20683 -20.14451,-4.10562 -33.59694,24.03071 -7.45957,12.69122 -13.72883,29.55403 4.28031,34.62621 z" sodipodi:nodetypes="ccccccc" style="fill:#000000"/><path id="path7089" class="skin scrotum" d="m 252.18508,515.76412 c 6.0245,1.68789 12.29144,0.65515 13.63818,0.51357 11.53776,5.92878 22.80502,2.7649 28.52497,-9.23559 3.19916,-7.24008 -0.11899,-18.10239 -4.37345,-29.11656 -3.18673,-8.13948 -6.57882,-17.22361 -8.8498,-19.81496 -14.29798,-14.80162 -20.25473,-3.43656 -32.99298,23.95003 -7.06352,12.35301 -12.99997,28.76648 4.05308,33.70351 z" sodipodi:nodetypes="ccccccc"/></svg></html>' >>
\ No newline at end of file
diff --git a/src/art/vector/layers/Balls_5.tw b/src/art/vector/layers/Balls_5.tw
deleted file mode 100644
index adee714c3a0..00000000000
--- a/src/art/vector/layers/Balls_5.tw
+++ /dev/null
@@ -1,3 +0,0 @@
-:: Art_Vector_Balls_5 [nobr]
-
-<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path sodipodi:nodetypes="ccccccc" d="m 247.74099,527.16294 c 7.46871,2.03567 15.23797,0.79016 16.90752,0.6194 14.30357,7.15036 28.27184,3.33458 35.36299,-11.1385 3.96604,-8.73188 -0.65548,-21.1573 -5.92974,-34.44082 -3.95066,-9.81656 -9.11047,-20.77239 -11.92586,-23.89767 -17.72547,-17.85136 -23.64772,-4.8196 -39.43958,28.20975 -8.75682,14.89827 -16.11633,34.69359 5.02467,40.64784 z" id="path7934" style="fill:#000000"/><path sodipodi:nodetypes="ccccccc" d="m 248.70691,525.10023 c 7.07219,1.98142 14.42898,0.76908 16.00992,0.60288 13.54422,6.95982 26.7709,3.24573 33.48558,-10.8417 3.7555,-8.49915 -0.13969,-21.25046 -5.13401,-34.18004 -3.74092,-9.55497 -7.72291,-20.21887 -10.38882,-23.26086 -16.78446,-17.37568 -23.77711,-4.03419 -38.73059,28.11503 -8.2919,14.50125 -15.26072,33.76909 4.75792,39.56469 z" class="skin scrotum" id="path7936"/></svg></html>' >>
\ No newline at end of file
diff --git a/src/art/vector/layers/Balls_6.tw b/src/art/vector/layers/Balls_6.tw
deleted file mode 100644
index e7128008925..00000000000
--- a/src/art/vector/layers/Balls_6.tw
+++ /dev/null
@@ -1,3 +0,0 @@
-:: Art_Vector_Balls_6 [nobr]
-
-<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path id="path7940" d="m 244.11974,536.2743 c 8.57513,2.33723 17.49535,0.9072 19.41222,0.71115 16.42253,8.20962 32.46009,3.82857 40.60172,-12.78858 4.55359,-10.02543 -0.75257,-24.29157 -6.80818,-39.54293 -4.53591,-11.2708 -10.46011,-23.84964 -13.69257,-27.43791 -20.35135,-20.49589 -27.15093,-5.53359 -45.28222,32.38878 -10.05407,17.10533 -18.50383,39.83316 5.76903,46.66949 z" sodipodi:nodetypes="ccccccc" style="fill:#000000"/><path id="path7942" class="skin scrotum" d="m 245.22876,533.90601 c 8.11987,2.27495 16.5665,0.88301 18.38165,0.69219 15.55068,7.99086 30.73679,3.72656 38.44618,-12.4478 4.31185,-9.75824 -0.16038,-24.39855 -5.89457,-39.24353 -4.2951,-10.97046 -8.86699,-23.21412 -11.92783,-26.70676 -19.27093,-19.94975 -27.29949,-4.63183 -44.4682,32.28004 -9.52027,16.64948 -17.52147,38.77169 5.46277,45.42586 z" sodipodi:nodetypes="ccccccc"/></svg></html>' >>
\ No newline at end of file
diff --git a/src/art/vector/layers/Balls_7.tw b/src/art/vector/layers/Balls_7.tw
deleted file mode 100644
index 7dd1203022f..00000000000
--- a/src/art/vector/layers/Balls_7.tw
+++ /dev/null
@@ -1,3 +0,0 @@
-:: Art_Vector_Balls_7 [nobr]
-
-<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path id="path7952" d="m 240.32171,545.03209 c 9.68156,2.6388 19.75272,1.02426 21.91693,0.80291 18.54148,9.26889 36.64832,4.32256 45.84045,-14.43865 5.14112,-11.31898 -0.84968,-27.42585 -7.68663,-44.64505 -5.12116,-12.72505 -11.80974,-26.9269 -15.45928,-30.97815 -22.97723,-23.14041 -30.65414,-6.24757 -51.12487,36.56782 -11.35131,19.31238 -20.89132,44.97272 6.5134,52.69112 z" sodipodi:nodetypes="ccccccc" style="fill:#000000"/><path id="path7954" class="skin scrotum" d="m 241.60976,542.86172 c 9.18709,2.58172 18.74388,1.00209 20.7976,0.78553 17.59455,9.0684 34.77661,4.22907 43.49927,-14.12636 4.87857,-11.07411 -0.18146,-27.68863 -6.66931,-44.53542 -4.85961,-12.4498 -10.0324,-26.34449 -13.49554,-30.30809 -21.80376,-22.63992 -30.88754,-5.25642 -50.31278,36.63291 -10.77155,18.89463 -19.82436,43.99996 6.18076,51.55143 z" sodipodi:nodetypes="ccccccc"/></svg></html>' >>
\ No newline at end of file
diff --git a/src/art/vector/layers/Balls_8.tw b/src/art/vector/layers/Balls_8.tw
deleted file mode 100644
index 602139a3bff..00000000000
--- a/src/art/vector/layers/Balls_8.tw
+++ /dev/null
@@ -1,3 +0,0 @@
-:: Art_Vector_Balls_8 [nobr]
-
-<<print '<html><svg viewBox="0 0 560 1000" class="'+_art_display_class+'"><path sodipodi:nodetypes="ccccccc" d="m 236.3469,553.43633 c 10.78799,2.94037 22.0101,1.14132 24.42164,0.89468 20.66043,10.32815 40.83655,4.81655 51.07917,-16.08874 5.72866,-12.61253 -0.94678,-30.56012 -8.56506,-49.74716 -5.70643,-14.17929 -13.15939,-30.00415 -17.226,-34.51839 -25.60311,-25.78494 -34.15735,-6.96155 -56.96751,40.74686 -12.64856,21.51943 -23.27882,50.11228 7.25776,58.71275 z" id="path7946" style="fill:#000000"/><path sodipodi:nodetypes="ccccccc" d="m 237.84992,551.46388 c 10.27384,2.88848 20.96111,1.12115 23.25776,0.87886 19.67583,10.14595 38.89037,4.73159 48.64485,-15.80491 5.45566,-12.38997 -0.20292,-30.9787 -7.45823,-49.8273 -5.43446,-13.92915 -11.21915,-29.47485 -15.09195,-33.90944 -24.38295,-25.33009 -34.54125,-5.881 -56.26432,40.9858 -12.04573,21.13977 -22.16941,49.22822 6.91189,57.67699 z" class="skin scrotum" id="path7948"/></svg></html>' >>
\ No newline at end of file
-- 
GitLab