<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ndbx formatVersion="20" type="file" uuid="d1dece5a-ea27-4262-a876-532c7912d751">
    <property name="canvasHeight" value="660"/>
    <property name="canvasWidth" value="880"/>
    <property name="canvasX" value="0"/>
    <property name="canvasY" value="0"/>
    <node name="root" prototype="core.network" renderedChild="translate1">
        <node name="BoxBack" position="-9.00,14.00" prototype="core.network" renderedChild="colorize2">
            <node name="colorize2" position="-1.00,-7.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000010"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="rect2" position="-1.00,-8.00" prototype="corevector.rect">
                <port name="position" type="point" value="98.00,-141.00"/>
                <port name="width" type="float" value="585.0"/>
                <port name="height" type="float" value="240.0"/>
            </node>
            <conn input="colorize2.shape" output="rect2"/>
        </node>
        <node name="BoxFront" position="-9.00,16.00" prototype="core.network" renderedChild="combine1">
            <node name="colorize1" position="9.00,-15.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="combine1" position="6.00,-8.00" prototype="list.combine"/>
            <node name="line1" position="3.00,-10.00" prototype="corevector.line"/>
            <node name="lookup5" outputRange="list" position="8.00,-11.00" prototype="data.lookup">
                <port name="key" type="string" value="points"/>
            </node>
            <node name="lookup6" outputRange="list" position="5.00,-12.00" prototype="data.lookup">
                <port name="key" type="string" value="points"/>
            </node>
            <node name="rect1" position="9.00,-16.00" prototype="corevector.rect">
                <port name="position" type="point" value="-18.00,-48.00"/>
                <port name="width" type="float" value="623.0"/>
                <port name="height" type="float" value="266.0"/>
            </node>
            <port childReference="lookup5.list" description="The input value." label="" name="list" range="value" type="list" widget="none"/>
            <conn input="colorize1.shape" output="rect1"/>
            <conn input="lookup6.list" output="colorize1"/>
            <conn input="line1.point1" output="lookup6"/>
            <conn input="line1.point2" output="lookup5"/>
            <conn input="combine1.list1" output="line1"/>
            <conn input="combine1.list2" output="colorize1"/>
        </node>
        <node name="Crank" position="-21.00,14.00" prototype="core.network" renderedChild="combine1">
            <node name="colorize1" position="13.00,5.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="colorize2" position="21.00,7.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="colorize3" position="18.00,10.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="stroke" type="color" value="#fa0000ff"/>
                <port name="strokeWidth" type="float" value="2.0"/>
            </node>
            <node name="combine1" position="20.00,17.00" prototype="list.combine"/>
            <node name="link1" position="18.00,9.00" prototype="corevector.link"/>
            <node name="rect1" position="13.00,4.00" prototype="corevector.rect">
                <port name="height" type="float" value="5.0"/>
            </node>
            <node name="rect2" position="21.00,6.00" prototype="corevector.rect">
                <port name="position" type="point" value="102.00,0.00"/>
                <port name="width" type="float" value="50.0"/>
                <port name="height" type="float" value="1.0"/>
            </node>
            <node name="reflect1" position="15.00,7.00" prototype="corevector.reflect">
                <port name="angle" type="float" value="0.0"/>
                <port name="keep_original" type="boolean" value="false"/>
            </node>
            <port childReference="reflect1.angle" description="The angle at which to mirror the shape." label="" name="angle" range="value" type="float" value="0.0" widget="float"/>
            <conn input="colorize1.shape" output="rect1"/>
            <conn input="colorize2.shape" output="rect2"/>
            <conn input="colorize3.shape" output="link1"/>
            <conn input="link1.shape2" output="colorize2"/>
            <conn input="reflect1.shape" output="colorize1"/>
            <conn input="combine1.list1" output="reflect1"/>
            <conn input="link1.shape1" output="reflect1"/>
            <conn input="combine1.list3" output="colorize2"/>
            <conn input="combine1.list2" output="colorize3"/>
        </node>
        <node name="Output" position="-15.00,14.00" prototype="core.network" renderedChild="switch1">
            <node name="Wobble" position="5.00,11.00" prototype="core.network" renderedChild="translate1">
                <node name="add1" position="-1.00,7.00" prototype="math.add"/>
                <node name="divide1" position="7.00,3.00" prototype="math.divide">
                    <port name="value2" type="float" value="50.0"/>
                </node>
                <node name="fit1" position="-1.00,12.00" prototype="corevector.fit">
                    <port name="width" type="float" value="13.0"/>
                    <port name="height" type="float" value="19.0"/>
                    <port name="keep_proportions" type="boolean" value="false"/>
                </node>
                <node name="lookup1" position="-2.00,4.00" prototype="data.lookup">
                    <port name="key" type="string" value="bounds.width"/>
                </node>
                <node name="lookup2" position="2.00,4.00" prototype="data.lookup">
                    <port name="key" type="string" value="bounds.height"/>
                </node>
                <node name="multiply1" position="7.00,5.00" prototype="math.multiply">
                    <port name="value2" type="float" value="5.0"/>
                </node>
                <node name="null1" position="-4.00,0.00" prototype="corevector.null"/>
                <node name="subtract1" position="7.00,4.00" prototype="math.subtract">
                    <port name="value2" type="float" value="1.0"/>
                </node>
                <node name="subtract2" position="3.00,8.00" prototype="math.subtract"/>
                <node name="translate1" position="-1.00,13.00" prototype="corevector.translate">
                    <port name="translate" type="point" value="0.00,-7.00"/>
                </node>
                <node name="wave1" position="7.00,2.00" prototype="math.wave">
                    <port name="period" type="float" value="36.0"/>
                    <port name="offset" type="float" value="6.0"/>
                </node>
                <port childReference="wave1.offset" description="" label="" name="offset" range="value" type="float" value="6.0" widget="float"/>
                <port childReference="null1.shape" description="The input shape." label="" name="text" range="value" type="geometry" widget="none"/>
                <conn input="divide1.value1" output="wave1"/>
                <conn input="subtract1.value1" output="divide1"/>
                <conn input="multiply1.value1" output="subtract1"/>
                <conn input="add1.value1" output="lookup1"/>
                <conn input="add1.value2" output="multiply1"/>
                <conn input="subtract2.value1" output="lookup2"/>
                <conn input="subtract2.value2" output="multiply1"/>
                <conn input="fit1.width" output="add1"/>
                <conn input="fit1.height" output="subtract2"/>
                <conn input="lookup2.list" output="null1"/>
                <conn input="lookup1.list" output="null1"/>
                <conn input="fit1.shape" output="null1"/>
                <conn input="translate1.shape" output="fit1"/>
            </node>
            <node name="add1" position="18.00,-3.00" prototype="math.add">
                <port name="value2" type="float" value="130.0"/>
            </node>
            <node name="add2" position="21.00,-3.00" prototype="math.add">
                <port name="value2" type="float" value="160.0"/>
            </node>
            <node name="add3" position="14.00,-4.00" prototype="math.add">
                <port name="value2" type="float" value="200.0"/>
            </node>
            <node name="character_at1" position="9.00,5.00" prototype="string.character_at"/>
            <node name="colorize1" position="15.00,11.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#ffffffff"/>
                <port name="stroke" type="color" value="#ff0000ff"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="compare1" position="20.00,13.00" prototype="math.compare">
                <port name="value2" type="float" value="849.0"/>
                <port name="comparator" type="string" value="&gt;"/>
            </node>
            <node name="convert_range1" position="20.00,4.00" prototype="math.convert_range">
                <port name="source_start" type="float" value="140.0"/>
                <port name="source_end" type="float" value="240.0"/>
                <port name="target_start" type="float" value="-157.0"/>
                <port name="target_end" type="float" value="150.0"/>
            </node>
            <node name="convert_range2" position="2.00,9.00" prototype="math.convert_range">
                <port name="source_start" type="float" value="50.0"/>
                <port name="source_end" type="float" value="89.0"/>
                <port name="target_start" type="float" value="21.0"/>
                <port name="target_end" type="float" value="67.0"/>
            </node>
            <node name="length1" position="19.00,-11.00" prototype="string.length"/>
            <node name="make_point1" position="11.00,10.00" prototype="corevector.make_point">
                <port name="x" type="float" value="205.0"/>
            </node>
            <node name="mod1" position="14.00,1.00" prototype="math.mod"/>
            <node name="mod2" position="0.00,7.00" prototype="math.mod">
                <port name="value2" type="float" value="100.0"/>
            </node>
            <node name="multiply1" position="14.00,-5.00" prototype="math.multiply">
                <port name="value2" type="float" value="100.0"/>
            </node>
            <node name="multiply2" position="20.00,-5.00" prototype="math.multiply">
                <port name="value2" type="float" value="100.0"/>
            </node>
            <node name="multiply3" position="26.00,-5.00" prototype="math.multiply">
                <port name="value2" type="float" value="24.0"/>
            </node>
            <node name="multiply4" position="23.00,-5.00" prototype="math.multiply">
                <port name="value2" type="float" value="3.0"/>
            </node>
            <node name="range1" position="21.00,-9.00" prototype="math.range"/>
            <node name="subtract1" position="17.00,-5.00" prototype="math.subtract">
                <port name="value1" type="float" value="7.0"/>
            </node>
            <node name="subtract2" position="28.00,-1.00" prototype="math.subtract">
                <port name="value1" type="float" value="72.0"/>
            </node>
            <node name="subtract3" position="25.00,-1.00" prototype="math.subtract"/>
            <node name="switch1" position="11.00,17.00" prototype="list.switch"/>
            <node name="textpath1" position="5.00,9.00" prototype="corevector.textpath">
                <port name="text" type="string" value="X"/>
            </node>
            <node name="textpath2" position="15.00,10.00" prototype="corevector.textpath">
                <port name="text" type="string" value="X"/>
                <port name="font_name" type="string" value="Verdana-Bold"/>
            </node>
            <node name="theTime" position="0.00,-6.00" prototype="corevector.null"/>
            <node name="theWord" position="16.00,-14.00" prototype="corevector.null"/>
            <node name="translate1" position="8.00,13.00" prototype="corevector.translate"/>
            <node name="translate2" position="14.00,13.00" prototype="corevector.translate"/>
            <port childReference="theWord.shape" description="The input shape." label="" name="shape" range="value" type="geometry" widget="none"/>
            <port childReference="theTime.shape" description="The input shape." label="" name="time" range="value" type="geometry" widget="none"/>
            <conn input="make_point1.y" output="convert_range1"/>
            <conn input="multiply1.value1" output="length1"/>
            <conn input="convert_range1.value" output="mod1"/>
            <conn input="range1.end" output="length1"/>
            <conn input="subtract1.value2" output="range1"/>
            <conn input="character_at1.index" output="subtract1"/>
            <conn input="multiply2.value1" output="range1"/>
            <conn input="add1.value1" output="multiply2"/>
            <conn input="add2.value1" output="multiply2"/>
            <conn input="textpath1.text" output="character_at1"/>
            <conn input="multiply3.value1" output="range1"/>
            <conn input="subtract2.value2" output="multiply3"/>
            <conn input="convert_range1.target_end" output="subtract2"/>
            <conn input="convert_range1.source_start" output="add1"/>
            <conn input="add3.value1" output="multiply1"/>
            <conn input="mod1.value2" output="add3"/>
            <conn input="multiply4.value1" output="range1"/>
            <conn input="subtract3.value1" output="add2"/>
            <conn input="subtract3.value2" output="multiply4"/>
            <conn input="subtract1.value1" output="length1"/>
            <conn input="convert_range1.source_end" output="subtract3"/>
            <conn input="Wobble.text" output="textpath1"/>
            <conn input="translate1.shape" output="Wobble"/>
            <conn input="translate1.translate" output="make_point1"/>
            <conn input="convert_range2.value" output="mod2"/>
            <conn input="Wobble.offset" output="convert_range2"/>
            <conn input="compare1.value1" output="mod1"/>
            <conn input="switch1.index" output="compare1"/>
            <conn input="switch1.input1" output="translate1"/>
            <conn input="translate2.shape" output="colorize1"/>
            <conn input="translate2.translate" output="make_point1"/>
            <conn input="switch1.input2" output="translate2"/>
            <conn input="textpath2.text" output="character_at1"/>
            <conn input="colorize1.shape" output="textpath2"/>
            <conn input="length1.string" output="theWord"/>
            <conn input="character_at1.string" output="theWord"/>
            <conn input="mod1.value1" output="theTime"/>
            <conn input="mod2.value1" output="theTime"/>
        </node>
        <node name="Plumbing" position="-12.00,14.00" prototype="core.network" renderedChild="combine4">
            <node name="colorize10" position="37.00,0.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#008500ff"/>
            </node>
            <node name="colorize7" position="20.00,1.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00d000ff"/>
            </node>
            <node name="colorize8" position="32.00,3.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00d000ff"/>
            </node>
            <node name="colorize9" position="25.00,-2.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#008500ff"/>
            </node>
            <node name="combine4" position="25.00,10.00" prototype="list.combine"/>
            <node name="combine5" position="20.00,-2.00" prototype="list.combine"/>
            <node name="combine6" position="32.00,0.00" prototype="list.combine"/>
            <node name="compound1" position="20.00,0.00" prototype="corevector.compound">
                <port name="function" type="string" value="subtracted"/>
            </node>
            <node name="compound2" position="32.00,2.00" prototype="corevector.compound">
                <port name="function" type="string" value="subtracted"/>
            </node>
            <node name="ellipse4" position="25.00,-3.00" prototype="corevector.ellipse">
                <port name="position" type="point" value="-119.00,-78.00"/>
                <port name="width" type="float" value="13.0"/>
                <port name="height" type="float" value="32.0"/>
            </node>
            <node name="ellipse5" position="21.00,-4.00" prototype="corevector.ellipse">
                <port name="position" type="point" value="-295.00,-78.00"/>
                <port name="width" type="float" value="13.0"/>
                <port name="height" type="float" value="32.0"/>
            </node>
            <node name="ellipse7" position="37.00,-1.00" prototype="corevector.ellipse">
                <port name="position" type="point" value="205.00,-229.00"/>
                <port name="width" type="float" value="74.0"/>
                <port name="height" type="float" value="32.0"/>
            </node>
            <node name="polygon1" position="30.00,-5.00" prototype="corevector.polygon">
                <port name="position" type="point" value="-205.00,204.00"/>
                <port name="radius" type="float" value="42.0"/>
                <port name="align" type="boolean" value="true"/>
            </node>
            <node name="rect3" position="20.00,-5.00" prototype="corevector.rect">
                <port name="position" type="point" value="-207.00,-78.00"/>
                <port name="width" type="float" value="176.0"/>
                <port name="height" type="float" value="32.0"/>
            </node>
            <node name="rect4" position="33.00,-4.00" prototype="corevector.rect">
                <port name="position" type="point" value="205.00,-163.00"/>
                <port name="width" type="float" value="26.0"/>
                <port name="height" type="float" value="44.0"/>
            </node>
            <node name="rotate1" position="30.00,-4.00" prototype="corevector.rotate">
                <port name="angle" type="float" value="180.0"/>
            </node>
            <port childReference="combine4.list4" description="The fourth list." label="" name="fluids" range="list" type="list" widget="none"/>
            <conn input="colorize9.shape" output="ellipse4"/>
            <conn input="compound1.shape1" output="combine5"/>
            <conn input="compound1.shape2" output="colorize9"/>
            <conn input="combine5.list1" output="rect3"/>
            <conn input="combine5.list2" output="ellipse5"/>
            <conn input="colorize7.shape" output="compound1"/>
            <conn input="combine4.list3" output="colorize9"/>
            <conn input="combine4.list5" output="colorize7"/>
            <conn input="colorize10.shape" output="ellipse7"/>
            <conn input="compound2.shape1" output="combine6"/>
            <conn input="compound2.shape2" output="colorize10"/>
            <conn input="colorize8.shape" output="compound2"/>
            <conn input="rotate1.shape" output="polygon1"/>
            <conn input="combine6.list1" output="rotate1"/>
            <conn input="combine6.list2" output="rect4"/>
            <conn input="combine4.list2" output="colorize10"/>
            <conn input="combine4.list6" output="colorize8"/>
        </node>
        <node name="Projectiles" position="-12.00,13.00" prototype="core.network" renderedChild="translate1">
            <node name="Letters" position="-15.00,6.00" prototype="core.network" renderedChild="textpath1">
                <node name="characters1" position="-1.00,0.00" prototype="string.characters"/>
                <node name="concatenate1" position="-1.00,-1.00" prototype="string.concatenate"/>
                <node name="concatenate2" position="-1.00,-15.00" prototype="string.concatenate">
                    <port name="string1" type="string" value="  "/>
                </node>
                <node name="divide2" position="10.00,-13.00" prototype="math.divide">
                    <port name="value2" type="float" value="100.0"/>
                </node>
                <node name="floor1" position="10.00,-3.00" prototype="math.floor"/>
                <node name="integer1" position="2.00,0.00" prototype="math.integer"/>
                <node name="length1" position="6.00,-11.00" prototype="string.length"/>
                <node name="mod1" position="10.00,-6.00" prototype="math.mod">
                    <port name="value2" type="float" value="6.0"/>
                </node>
                <node name="multiply1" position="10.00,-2.00" prototype="math.multiply">
                    <port name="value2" type="float" value="3.0"/>
                </node>
                <node name="multiply2" position="1.00,-6.00" prototype="math.multiply">
                    <port name="value2" type="float" value="2.0"/>
                </node>
                <node name="range1" position="2.00,-1.00" prototype="math.range">
                    <port name="step" type="float" value="-1.0"/>
                </node>
                <node name="slice1" position="4.00,5.00" prototype="list.slice">
                    <port name="start_index" type="int" value="3"/>
                    <port name="size" type="int" value="3"/>
                </node>
                <node name="slice2" position="0.00,2.00" prototype="list.slice">
                    <port name="size" type="int" value="3"/>
                </node>
                <node name="subtract1" position="1.00,-5.00" prototype="math.subtract">
                    <port name="value2" type="float" value="3.0"/>
                </node>
                <node name="subtract2" position="5.00,-3.00" prototype="math.subtract"/>
                <node name="textpath1" position="4.00,6.00" prototype="corevector.textpath"/>
                <port childReference="divide2.value1" description="" label="" name="time" range="value" type="float" value="0.0" widget="float"/>
                <port childReference="concatenate2.string2" description="" label="" name="string" range="value" type="string" value="" widget="string"/>
                <conn input="floor1.value" output="mod1"/>
                <conn input="multiply1.value1" output="floor1"/>
                <conn input="slice1.start_index" output="multiply1"/>
                <conn input="mod1.value1" output="divide2"/>
                <conn input="textpath1.text" output="slice1"/>
                <conn input="characters1.string" output="concatenate1"/>
                <conn input="slice2.list" output="characters1"/>
                <conn input="slice2.start_index" output="integer1"/>
                <conn input="slice1.list" output="slice2"/>
                <conn input="mod1.value2" output="length1"/>
                <conn input="multiply2.value1" output="length1"/>
                <conn input="subtract1.value1" output="multiply2"/>
                <conn input="range1.start" output="subtract1"/>
                <conn input="subtract2.value1" output="subtract1"/>
                <conn input="subtract2.value2" output="length1"/>
                <conn input="range1.end" output="subtract2"/>
                <conn input="integer1.value" output="range1"/>
                <conn input="length1.string" output="concatenate2"/>
                <conn input="concatenate1.string1" output="concatenate2"/>
                <conn input="concatenate1.string2" output="concatenate2"/>
            </node>
            <node name="Spin" position="-17.00,8.00" prototype="core.network" renderedChild="rotate1">
                <node name="combine1" position="-8.00,6.00" prototype="list.combine"/>
                <node name="convert_range1" position="-8.00,1.00" prototype="math.convert_range">
                    <port name="target_start" type="float" value="-90.0"/>
                    <port name="target_end" type="float" value="720.0"/>
                </node>
                <node name="mod1" position="-8.00,0.00" prototype="math.mod">
                    <port name="value2" type="float" value="100.0"/>
                </node>
                <node name="number1" position="-11.00,4.00" prototype="math.number">
                    <port name="value" type="float" value="-90.0"/>
                </node>
                <node name="number2" position="-8.00,4.00" prototype="math.number">
                    <port name="value" type="float" value="-90.0"/>
                </node>
                <node name="number3" position="-5.00,4.00" prototype="math.number"/>
                <node name="rotate1" position="-8.00,9.00" prototype="corevector.rotate">
                    <port name="angle" type="float" value="60.0"/>
                </node>
                <port childReference="rotate1.shape" description="The input shape." label="" name="shape" range="list" type="geometry" widget="none"/>
                <port childReference="mod1.value1" description="" label="" name="value1" range="value" type="float" value="0.0" widget="float"/>
                <conn input="combine1.list1" output="number1"/>
                <conn input="combine1.list2" output="number2"/>
                <conn input="combine1.list3" output="number3"/>
                <conn input="rotate1.angle" output="combine1"/>
                <conn input="convert_range1.value" output="mod1"/>
                <conn input="number3.value" output="convert_range1"/>
            </node>
            <node name="Trajectory" position="-12.00,6.00" prototype="core.network" renderedChild="point_on_path1">
                <node name="add1" position="8.00,-1.00" prototype="math.add">
                    <port name="value1" type="float" value="-66.0"/>
                </node>
                <node name="add2" position="11.00,-1.00" prototype="math.add">
                    <port name="value1" type="float" value="-205.0"/>
                </node>
                <node name="add3" position="7.00,-8.00" prototype="math.add">
                    <port name="value2" type="float" value="1.0"/>
                </node>
                <node name="combine4" position="4.00,8.00" prototype="list.combine"/>
                <node name="concatenate2" position="11.00,-9.00" prototype="string.concatenate">
                    <port name="string1" type="string" value="  "/>
                </node>
                <node name="divide2" position="7.00,-9.00" prototype="math.divide">
                    <port name="value2" type="float" value="100.0"/>
                </node>
                <node name="floor1" position="10.00,-4.00" prototype="math.floor"/>
                <node name="length1" position="11.00,-8.00" prototype="string.length"/>
                <node name="line1" position="6.00,4.00" prototype="corevector.line">
                    <port name="point1" type="point" value="-20.00,-70.00"/>
                    <port name="point2" type="point" value="-20.00,-205.00"/>
                </node>
                <node name="line2" position="3.00,2.00" prototype="corevector.line">
                    <port name="point1" type="point" value="-280.00,-75.00"/>
                    <port name="point2" type="point" value="-14.00,-75.00"/>
                </node>
                <node name="make_point1" position="7.00,1.00" prototype="corevector.make_point">
                    <port name="x" type="float" value="-20.0"/>
                </node>
                <node name="make_point2" position="10.00,1.00" prototype="corevector.make_point">
                    <port name="x" type="float" value="-20.0"/>
                </node>
                <node name="mod1" position="10.00,-5.00" prototype="math.mod">
                    <port name="value2" type="float" value="6.0"/>
                </node>
                <node name="multiply1" position="10.00,-3.00" prototype="math.multiply">
                    <port name="value2" type="float" value="3.33"/>
                </node>
                <node name="null1" position="1.00,-11.00" prototype="corevector.null"/>
                <node name="point_on_path1" position="1.00,11.00" prototype="corevector.point_on_path"/>
                <node name="quad_curve1" position="6.00,6.00" prototype="corevector.quad_curve">
                    <port name="point1" type="point" value="-15.00,-223.00"/>
                    <port name="point2" type="point" value="210.00,-167.00"/>
                    <port name="t" type="float" value="21.0"/>
                    <port name="distance" type="float" value="-375.0"/>
                </node>
                <port childReference="null1.shape" description="The input shape." label="" name="timing" range="value" type="geometry" widget="none"/>
                <port childReference="concatenate2.string2" description="" label="" name="string" range="value" type="string" value="" widget="string"/>
                <conn input="combine4.list4" output="quad_curve1"/>
                <conn input="combine4.list3" output="line1"/>
                <conn input="combine4.list2" output="line2"/>
                <conn input="point_on_path1.shape" output="combine4"/>
                <conn input="floor1.value" output="mod1"/>
                <conn input="multiply1.value1" output="floor1"/>
                <conn input="mod1.value2" output="length1"/>
                <conn input="length1.string" output="concatenate2"/>
                <conn input="point_on_path1.t" output="null1"/>
                <conn input="divide2.value1" output="null1"/>
                <conn input="line1.point1" output="make_point1"/>
                <conn input="line1.point2" output="make_point2"/>
                <conn input="add1.value2" output="multiply1"/>
                <conn input="make_point1.y" output="add1"/>
                <conn input="add2.value2" output="multiply1"/>
                <conn input="make_point2.y" output="add2"/>
                <conn input="add3.value1" output="divide2"/>
                <conn input="mod1.value1" output="add3"/>
            </node>
            <node name="null1" position="-14.00,2.00" prototype="corevector.null"/>
            <node name="null2" position="-17.00,2.00" prototype="corevector.null"/>
            <node name="translate1" position="-14.00,11.00" prototype="corevector.translate"/>
            <port childReference="null1.shape" description="The input shape." label="" name="shape_1" range="value" type="geometry" widget="none"/>
            <port childReference="null2.shape" description="The input shape." label="" name="shape_2" range="value" type="geometry" widget="none"/>
            <conn input="translate1.translate" output="Trajectory"/>
            <conn input="Spin.shape" output="Letters"/>
            <conn input="translate1.shape" output="Spin"/>
            <conn input="Trajectory.string" output="null1"/>
            <conn input="Letters.string" output="null1"/>
            <conn input="Trajectory.timing" output="null2"/>
            <conn input="Letters.time" output="null2"/>
            <conn input="Spin.value1" output="null2"/>
        </node>
        <node name="Speed" position="-19.00,7.00" prototype="math.multiply">
            <port name="value2" type="float" value="2.0"/>
        </node>
        <node name="Tread" position="-18.00,14.00" prototype="core.network" renderedChild="combine1">
            <node name="Bucket" position="-37.00,11.00" prototype="core.network" renderedChild="connect1">
                <node name="combine1" position="-29.00,-25.00" prototype="list.combine"/>
                <node name="connect1" position="-29.00,-23.00" prototype="corevector.connect"/>
                <node name="point1" position="-29.00,-31.00" prototype="corevector.point"/>
                <node name="point2" position="-28.00,-30.00" prototype="corevector.point">
                    <port name="value" type="point" value="7.00,0.00"/>
                </node>
                <node name="point3" position="-27.00,-29.00" prototype="corevector.point">
                    <port name="value" type="point" value="7.00,-18.00"/>
                </node>
                <node name="point4" position="-26.00,-28.00" prototype="corevector.point">
                    <port name="value" type="point" value="0.00,-9.00"/>
                </node>
                <conn input="combine1.list1" output="point1"/>
                <conn input="combine1.list2" output="point2"/>
                <conn input="combine1.list3" output="point3"/>
                <conn input="combine1.list4" output="point4"/>
                <conn input="connect1.points" output="combine1"/>
            </node>
            <node name="add1" position="-31.00,6.00" prototype="math.add">
                <port name="value2" type="float" value="200.0"/>
            </node>
            <node name="colorize4" position="-25.00,18.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#0000002b"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="colorize5" position="-30.00,18.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="stroke" type="color" value="#004cffff"/>
                <port name="strokeWidth" type="float" value="2.0"/>
            </node>
            <node name="colorize6" position="-22.00,18.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#0000002b"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="combine1" position="-25.00,21.00" prototype="list.combine"/>
            <node name="combine2" position="-30.00,17.00" prototype="list.combine"/>
            <node name="connect1" position="-30.00,13.00" prototype="corevector.connect"/>
            <node name="divide1" position="-25.00,1.00" prototype="math.divide">
                <port name="value2" type="float" value="3.0"/>
            </node>
            <node name="divide2" position="-34.00,4.00" prototype="math.divide"/>
            <node name="ellipse1" position="-25.00,17.00" prototype="corevector.ellipse">
                <port name="width" type="float" value="32.0"/>
                <port name="height" type="float" value="32.0"/>
            </node>
            <node name="ellipse2" position="-22.00,17.00" prototype="corevector.ellipse">
                <port name="position" type="point" value="0.00,-199.00"/>
                <port name="width" type="float" value="32.0"/>
                <port name="height" type="float" value="32.0"/>
            </node>
            <node name="lookup3" outputRange="list" position="-33.00,10.00" prototype="data.lookup">
                <port name="key" type="string" value="points"/>
            </node>
            <node name="number2" position="-35.00,2.00" prototype="math.number">
                <port name="value" type="float" value="100.0"/>
            </node>
            <node name="pi1" position="-32.00,2.00" prototype="math.pi"/>
            <node name="rect4" position="-33.00,8.00" prototype="corevector.rect">
                <port name="position" type="point" value="0.00,-100.00"/>
                <port name="width" type="float" value="31.8309886"/>
                <port name="height" type="float" value="232.0"/>
                <port name="roundness" type="point" value="16.00,16.00"/>
            </node>
            <node name="resample1" position="-33.00,9.00" prototype="corevector.resample">
                <port name="method" type="string" value="amount"/>
                <port name="points" type="int" value="120"/>
            </node>
            <node name="shape_on_path1" position="-33.00,15.00" prototype="corevector.shape_on_path">
                <port name="amount" type="int" value="15"/>
                <port name="alignment" type="string" value="distributed"/>
                <port name="spacing" type="float" value="0.0"/>
            </node>
            <node name="shift1" position="-30.00,12.00" prototype="list.shift">
                <port name="amount" type="int" value="25"/>
            </node>
            <port childReference="divide1.value1" description="" label="" name="time" range="value" type="float" value="0.0" widget="float"/>
            <conn input="colorize5.shape" output="combine2"/>
            <conn input="combine2.list2" output="shape_on_path1"/>
            <conn input="resample1.shape" output="rect4"/>
            <conn input="lookup3.list" output="resample1"/>
            <conn input="shift1.list" output="lookup3"/>
            <conn input="connect1.points" output="shift1"/>
            <conn input="shape_on_path1.path" output="connect1"/>
            <conn input="combine2.list1" output="connect1"/>
            <conn input="combine1.list1" output="colorize5"/>
            <conn input="colorize4.shape" output="ellipse1"/>
            <conn input="colorize6.shape" output="ellipse2"/>
            <conn input="combine1.list2" output="colorize4"/>
            <conn input="combine1.list3" output="colorize6"/>
            <conn input="shift1.amount" output="divide1"/>
            <conn input="shape_on_path1.shape" output="Bucket"/>
            <conn input="divide2.value1" output="number2"/>
            <conn input="divide2.value2" output="pi1"/>
            <conn input="rect4.width" output="divide2"/>
            <conn input="add1.value1" output="divide2"/>
            <conn input="rect4.height" output="add1"/>
        </node>
        <node name="combine3" position="-14.00,19.00" prototype="list.combine"/>
        <node name="frame1" position="-19.00,5.00" prototype="core.frame"/>
        <node name="string1" position="-16.00,7.00" prototype="string.string">
            <port name="value" type="string" value="NODEBOX"/>
        </node>
        <node name="translate1" position="-14.00,20.00" prototype="corevector.translate">
            <port name="translate" type="point" value="-23.00,155.00"/>
        </node>
        <conn input="Output.shape" output="string1"/>
        <conn input="combine3.list5" output="Plumbing"/>
        <conn input="combine3.list4" output="Output"/>
        <conn input="combine3.list3" output="Tread"/>
        <conn input="combine3.list2" output="Crank"/>
        <conn input="combine3.list7" output="BoxFront"/>
        <conn input="combine3.list1" output="BoxBack"/>
        <conn input="BoxFront.list" output="BoxBack"/>
        <conn input="Speed.value1" output="frame1"/>
        <conn input="Crank.angle" output="Speed"/>
        <conn input="Tread.time" output="Speed"/>
        <conn input="Projectiles.shape_1" output="string1"/>
        <conn input="Projectiles.shape_2" output="Speed"/>
        <conn input="Plumbing.fluids" output="Projectiles"/>
        <conn input="Output.time" output="Speed"/>
        <conn input="translate1.shape" output="combine3"/>
    </node>
</ndbx>
