<snapdata remixID="8994462"><project name='Unit 3 - Big Data Project' app='Snap! 5.4, http://snap.berkeley.edu' version='1'>
  <notes/>
  <thumbnail>data:image/png;base64,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</thumbnail>
  <stage inheritance='true' penlog='false' volume='100' height='360' tempo='60' lines='round' width='480' sublistIDs='false' name='Stage' threadsafe='false' codify='false' id='1' color='255,255,255,1' scheduled='false' pan='0' ternary='false' costume='0'>
    <pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAC99JREFUeAHt0DEBAAAAwqD1T20MH4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBj4DAyN/gABHhb3AgAAAABJRU5ErkJggg==</pentrails>
    <costumes>
      <list id='2' struct='atomic'/>
    </costumes>
    <sounds>
      <list id='3' struct='atomic'/>
    </sounds>
    <variables/>
    <blocks/>
    <scripts/>
    <sprites>
      <sprite draggable='true' x='0' pen='tip' id='8' y='0' name='Sprite' idx='1' volume='100' rotation='1' scale='1' color='80,80,80,1' hidden='true' pan='0' heading='90' costume='0'>
        <costumes>
          <list id='9' struct='atomic'/>
        </costumes>
        <sounds>
          <list id='10' struct='atomic'/>
        </sounds>
        <blocks/>
        <variables/>
        <scripts>
          <script x='29' y='10'>
            <block s='receiveGo'/>
            <custom-block s='set_data'/>
            <block s='doSetVar'>
              <l>mean</l>
              <custom-block s='mean %l'>
                <custom-block s='map %repRing over %l'>
                  <block s='reifyReporter'>
                    <autolambda>
                      <block s='reportListItem'>
                        <l>2</l>
                        <l/>
                      </block>
                    </autolambda>
                    <list/>
                  </block>
                  <block var='data'/>
                </custom-block>
              </custom-block>
            </block>
            <block s='doSetVar'>
              <l>median</l>
              <custom-block s='median %l'>
                <block var='data'/>
              </custom-block>
            </block>
            <block s='doSetVar'>
              <l>standard_deviation</l>
              <custom-block s='sd %l'>
                <block var='data'/>
              </custom-block>
            </block>
            <block s='doSetVar'>
              <l>p^hat</l>
              <custom-block s='phat %l'>
                <custom-block s='map %repRing over %l'>
                  <block s='reifyReporter'>
                    <autolambda>
                      <block s='reportListItem'>
                        <l>2</l>
                        <l/>
                      </block>
                    </autolambda>
                    <list/>
                  </block>
                  <block var='data'/>
                </custom-block>
              </custom-block>
            </block>
          </script>
        </scripts>
      </sprite>
      <watcher x='3' color='243,118,29' style='normal' y='203.499998' var='mean'/>
      <watcher x='3' color='243,118,29' style='normal' y='244' var='median'/>
      <watcher x='6' color='243,118,29' style='normal' y='320' var='p^hat'/>
      <watcher x='10' color='243,118,29' style='normal' hidden='true' y='10' var='success'/>
      <watcher var='data' x='6' color='243,118,29' style='normal' y='14' extX='134' extY='150'/>
      <watcher x='2' color='243,118,29' style='normal' y='281.00000000000006' var='standard_deviation'/>
    </sprites>
  </stage>
  <hidden/>
  <headers/>
  <code/>
  <blocks>
    <block-definition s='set_data' category='lists' type='command'>
      <header/>
      <code/>
      <translations/>
      <inputs/>
      <script>
        <block s='doSetVar'>
          <l>data</l>
          <block s='reportNewList'>
            <list>
              <block s='reportNewList'>
                <list>
                  <l>2000</l>
                  <l>478</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2001</l>
                  <l>482</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2002</l>
                  <l>480</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2003</l>
                  <l>506</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2004</l>
                  <l>551</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2005</l>
                  <l>547</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2006</l>
                  <l>608</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2007</l>
                  <l>631</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2008</l>
                  <l>607</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2009</l>
                  <l>521</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2010</l>
                  <l>538</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2011</l>
                  <l>601</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2012</l>
                  <l>669</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2013</l>
                  <l>689</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2014</l>
                  <l>707</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2015</l>
                  <l>706</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2016</l>
                  <l>737</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2017</l>
                  <l>740</l>
                </list>
              </block>
              <block s='reportNewList'>
                <list>
                  <l>2018</l>
                  <l>871</l>
                </list>
              </block>
            </list>
          </block>
          <comment collapsed='false' w='90'>sample data is year and graduation rate for PAUSD - has a minimum of 10 data points</comment>
        </block>
      </script>
    </block-definition>
    <block-definition s='mean %&apos;data_list&apos;' category='operators' type='reporter'>
      <comment x='0' w='90' collapsed='false' y='0'>Should report the mean value for your data.  With our sample data, this would return 94.47</comment>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doDeclareVariables'>
          <list>
            <l>a</l>
          </list>
        </block>
        <block s='doSetVar'>
          <l>a</l>
          <l>0</l>
        </block>
        <block s='doForEach'>
          <l>item</l>
          <block var='data_list'/>
          <script>
            <block s='doChangeVar'>
              <l>a</l>
              <block var='item'/>
            </block>
          </script>
        </block>
        <block s='doReport'>
          <block s='reportQuotient'>
            <block var='a'/>
            <block s='reportStringSize'>
              <block var='data_list'/>
            </block>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='label %&apos;text&apos; of size %&apos;size&apos;' category='pen' type='command'>
      <comment x='0' w='90' collapsed='false' y='0'>LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment>
      <header/>
      <code/>
      <translations>de:drucke _ in Größe _ca:etiqueta _ de mida _es:etiqueta _ de tamaño _fr:étiquette _ d&apos;une taille de _</translations>
      <inputs>
        <input type='%txt'>Hello!</input>
        <input type='%n'>12</input>
      </inputs>
      <script>
        <block s='doRun'>
          <block s='reportJSFunction'>
            <list>
              <l>text</l>
              <l>size</l>
              <l>process</l>
            </list>
            <l>var stage = this.parentThatIsA(StageMorph);if (this == stage) {    throw new Error(     &apos;LABEL cannot be used from the stage because the stage does not have a postion.\n&apos;     + &apos;Use LABEL from a sprite to draw text.&apos;);}if (typeof text !== &apos;string&apos;) {    throw new Error(&apos;LABEL can only draw text, not a &apos; + process.reportTypeOf(text)); }var context = stage.penTrails().getContext(&apos;2d&apos;),    rotation = radians(this.direction() - 90),    trans = new Point(      this.center().x - stage.left(),      this.center().y - stage.top()    ),    isWarped = this.Warped,    len,    pos;if (isWarped) {endWarp(); }context.save();context.font = size + &apos;px monospace&apos;;context.textAlign = &apos;left&apos;;context.textBaseline = &apos;alphabetic&apos;;context.fillStyle = this.color.toString();len = context.measureText(text).width;trans = trans.multiplyBy(1 / stage.scale);context.translate(trans.x, trans.y);context.rotate(rotation);context.fillText(text, 0, 0);context.translate(-trans.x, -trans.y);context.restore();pos = new Point(  len * Math.sin(radians(this.direction())),  len * Math.cos(radians(this.direction())));pos = pos.add(new Point(this.xPosition(), this.yPosition()));this.gotoXY(pos.x, pos.y, false);this.changed();if (isWarped) {this.startWarp(); }stage.changed();</l>
          </block>
          <list>
            <block var='text'/>
            <block var='size'/>
          </list>
        </block>
      </script>
    </block-definition>
    <block-definition s='keep items such that %&apos;pred&apos; from %&apos;data&apos;' category='lists' type='reporter'>
      <header/>
      <code/>
      <translations>de:behalte Elemente, die _ aus _ca:manté els elements on _ de _es:mantener los elementos donde _ de _fr:garder les items tels que _ de _</translations>
      <inputs>
        <input type='%predRing'/>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doIf'>
          <custom-block s='empty? %l'>
            <block var='data'/>
          </custom-block>
          <script>
            <block s='doReport'>
              <block s='reportNewList'>
                <list/>
              </block>
            </block>
          </script>
        </block>
        <block s='doIfElse'>
          <block s='evaluate'>
            <block var='pred'/>
            <list>
              <block s='reportListItem'>
                <l>1</l>
                <block var='data'/>
              </block>
            </list>
          </block>
          <script>
            <block s='doReport'>
              <block s='reportCONS'>
                <block s='reportListItem'>
                  <l>1</l>
                  <block var='data'/>
                </block>
                <custom-block s='keep items such that %predRing from %l'>
                  <block var='pred'/>
                  <block s='reportCDR'>
                    <block var='data'/>
                  </block>
                </custom-block>
              </block>
            </block>
          </script>
          <script>
            <block s='doReport'>
              <custom-block s='keep items such that %predRing from %l'>
                <block var='pred'/>
                <block s='reportCDR'>
                  <block var='data'/>
                </block>
              </custom-block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='combine with %&apos;function&apos; items of %&apos;data&apos;' category='lists' type='reporter'>
      <header/>
      <code/>
      <translations>de:kombiniere mit _ die Elemente von _ca:combina amb _ els elements de _es:combinar con _ los elementos de _fr:combine avec _ les items de _</translations>
      <inputs>
        <input type='%repRing'/>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doIf'>
          <custom-block s='empty? %l'>
            <block s='reportCDR'>
              <block var='data'/>
            </block>
          </custom-block>
          <script>
            <block s='doReport'>
              <block s='reportListItem'>
                <l>1</l>
                <block var='data'/>
              </block>
            </block>
          </script>
        </block>
        <block s='doReport'>
          <block s='evaluate'>
            <block var='function'/>
            <list>
              <block s='reportListItem'>
                <l>1</l>
                <block var='data'/>
              </block>
              <custom-block s='combine with %repRing items of %l'>
                <block var='function'/>
                <block s='reportCDR'>
                  <block var='data'/>
                </block>
              </custom-block>
            </list>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;' category='control' type='reporter'>
      <header/>
      <code/>
      <translations>de:wenn _ dann _ sonst _ca:si _ llavors _ si no _es:si _ entonces _ sino _fr:si _ alors _ sinon _</translations>
      <inputs>
        <input type='%b'/>
        <input type='%anyUE'/>
        <input type='%anyUE'/>
      </inputs>
      <script>
        <block s='doIfElse'>
          <block var='test'/>
          <script>
            <block s='doReport'>
              <block s='evaluate'>
                <block var='true'/>
                <list/>
              </block>
            </block>
          </script>
          <script>
            <block s='doReport'>
              <block s='evaluate'>
                <block var='false'/>
                <list/>
              </block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;' category='control' type='command'>
      <header/>
      <code/>
      <translations>de:für _ = _ bis _ _ca:per _ = _ fins _ _es:para _ = _ hasta _ _fr:pour _ allant de _ à _ _</translations>
      <inputs>
        <input type='%upvar'/>
        <input type='%n'>1</input>
        <input type='%n'>10</input>
        <input type='%cs'/>
      </inputs>
      <script>
        <block s='doDeclareVariables'>
          <list>
            <l>step</l>
            <l>tester</l>
          </list>
        </block>
        <block s='doIfElse'>
          <block s='reportGreaterThan'>
            <block var='start'/>
            <block var='end'/>
          </block>
          <script>
            <block s='doSetVar'>
              <l>step</l>
              <l>-1</l>
            </block>
            <block s='doSetVar'>
              <l>tester</l>
              <block s='reifyReporter'>
                <autolambda>
                  <block s='reportLessThan'>
                    <block var='i'/>
                    <block var='end'/>
                  </block>
                </autolambda>
                <list/>
              </block>
            </block>
          </script>
          <script>
            <block s='doSetVar'>
              <l>step</l>
              <l>1</l>
            </block>
            <block s='doSetVar'>
              <l>tester</l>
              <block s='reifyReporter'>
                <autolambda>
                  <block s='reportGreaterThan'>
                    <block var='i'/>
                    <block var='end'/>
                  </block>
                </autolambda>
                <list/>
              </block>
            </block>
          </script>
        </block>
        <block s='doSetVar'>
          <l>i</l>
          <block var='start'/>
        </block>
        <block s='doUntil'>
          <block s='evaluate'>
            <block var='tester'/>
            <list/>
          </block>
          <script>
            <block s='doRun'>
              <block var='action'/>
              <list/>
            </block>
            <block s='doChangeVar'>
              <l>i</l>
              <block var='step'/>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='join words %&apos;words&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations>de:füge Wörter zusammen _ca:uneix les paraules _es:unir las palabras _fr:fusionne les mots _</translations>
      <inputs>
        <input type='%mult%txt'/>
      </inputs>
      <script>
        <block s='doIf'>
          <custom-block s='empty? %l'>
            <block s='reportCDR'>
              <block var='words'/>
            </block>
          </custom-block>
          <script>
            <block s='doReport'>
              <block s='reportListItem'>
                <l>1</l>
                <block var='words'/>
              </block>
            </block>
          </script>
        </block>
        <block s='doIf'>
          <block s='reportEquals'>
            <l/>
            <block s='reportListItem'>
              <l>1</l>
              <block var='words'/>
            </block>
          </block>
          <script>
            <block s='doReport'>
              <custom-block s='join words %mult%txt'>
                <block s='reportCDR'>
                  <block var='words'/>
                </block>
              </custom-block>
            </block>
          </script>
        </block>
        <block s='doIf'>
          <block s='reportEquals'>
            <l/>
            <block s='reportListItem'>
              <l>2</l>
              <block var='words'/>
            </block>
          </block>
          <script>
            <block s='doReport'>
              <custom-block s='join words %mult%txt'>
                <block s='reportCONS'>
                  <block s='reportListItem'>
                    <l>1</l>
                    <block var='words'/>
                  </block>
                  <block s='reportCDR'>
                    <block s='reportCDR'>
                      <block var='words'/>
                    </block>
                  </block>
                </block>
              </custom-block>
            </block>
          </script>
        </block>
        <block s='doReport'>
          <block s='reportJoinWords'>
            <list>
              <block s='reportListItem'>
                <l>1</l>
                <block var='words'/>
              </block>
              <l/>
              <custom-block s='join words %mult%txt'>
                <block s='reportCDR'>
                  <block var='words'/>
                </block>
              </custom-block>
            </list>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='list $arrowRight sentence %&apos;data&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations>de:Liste $arrowRight Satz _ca:llista $arrowRight frase _es:lista $arrowRight frase _fr:liste $arrowRight phrase _</translations>
      <inputs>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doReport'>
          <custom-block s='join words %mult%txt'>
            <block var='data'/>
          </custom-block>
        </block>
      </script>
    </block-definition>
    <block-definition s='sentence $arrowRight list %&apos;text&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations>de:Satz $arrowRight Liste _ca:frase $arrowRight llista _es:frase $arrowRight lista _fr:phrase $arrowRight liste _</translations>
      <inputs>
        <input type='%txt'/>
      </inputs>
      <script>
        <block s='doReport'>
          <block s='reportTextSplit'>
            <block var='text'/>
            <l>
              <option>whitespace</option>
            </l>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='catch %&apos;tag&apos; %&apos;action&apos;' category='control' type='command'>
      <header/>
      <code/>
      <translations>de:fange _ _ca:agafa _ _es:atrapar _ _fr:attrape _ _</translations>
      <inputs>
        <input type='%upvar'/>
        <input type='%cs'/>
      </inputs>
      <script>
        <block s='doCallCC'>
          <block s='reifyScript'>
            <script>
              <block s='doSetVar'>
                <l>tag</l>
                <block var='cont'/>
              </block>
              <block s='doRun'>
                <block var='action'/>
                <list/>
              </block>
            </script>
            <list>
              <l>cont</l>
            </list>
          </block>
        </block>
        <custom-block s='ignore %s'>
          <l>3</l>
        </custom-block>
      </script>
    </block-definition>
    <block-definition s='throw %&apos;cont&apos;' category='control' type='command'>
      <header/>
      <code/>
      <translations>de:wirf _ca:llança _es:lanzar _fr:lance _</translations>
      <inputs>
        <input type='%s'>catchtag</input>
      </inputs>
      <script>
        <block s='doRun'>
          <block var='cont'/>
          <list/>
        </block>
      </script>
    </block-definition>
    <block-definition s='catch %&apos;tag&apos; %&apos;value&apos;' category='control' type='reporter'>
      <header/>
      <code/>
      <translations>de:fange _ _ca:agafa _ _es:atrapar _ _fr:attrape _ _</translations>
      <inputs>
        <input type='%upvar'/>
        <input type='%anyUE'/>
      </inputs>
      <script>
        <block s='doCallCC'>
          <block s='reifyScript'>
            <script>
              <block s='doSetVar'>
                <l>tag</l>
                <block var='cont'/>
              </block>
              <block s='doReport'>
                <block s='evaluate'>
                  <block var='value'/>
                  <list/>
                </block>
              </block>
            </script>
            <list>
              <l>cont</l>
            </list>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='throw %&apos;tag&apos; %&apos;value&apos;' category='control' type='command'>
      <header/>
      <code/>
      <translations>de:wirf _ _ca:llança _ _es:lanzar _ _fr:lance _ _</translations>
      <inputs>
        <input type='%s'>catchtag</input>
        <input type='%s'/>
      </inputs>
      <script>
        <block s='doRun'>
          <block var='tag'/>
          <list>
            <block var='value'/>
          </list>
        </block>
      </script>
    </block-definition>
    <block-definition s='for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;' category='lists' type='command'>
      <header/>
      <code/>
      <translations>de:für jedes _ von _ _ca:per cada _ de _ _es:para cada _ de _ _fr:pour chaque _ de _ _</translations>
      <inputs>
        <input type='%upvar'/>
        <input type='%l'/>
        <input type='%cs'/>
      </inputs>
      <script>
        <block s='doUntil'>
          <custom-block s='empty? %l'>
            <block var='data'/>
          </custom-block>
          <script>
            <block s='doSetVar'>
              <l>item</l>
              <block s='reportListItem'>
                <l>1</l>
                <block var='data'/>
              </block>
            </block>
            <block s='doRun'>
              <block var='action'/>
              <list>
                <block s='reportListItem'>
                  <l>1</l>
                  <block var='data'/>
                </block>
              </list>
            </block>
            <block s='doSetVar'>
              <l>data</l>
              <block s='reportCDR'>
                <block var='data'/>
              </block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0' category='control' type='command'>
      <header/>
      <code/>
      <translations>de:falls _ dann _ und pause $pause-1-255-220-0ca:si _ fes _ i atura-ho tot $pause-1-255-220-0es:si _ haz _ y páralo todo $pause-1-255-220-0fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0</translations>
      <inputs>
        <input type='%boolUE'/>
        <input type='%cs'/>
      </inputs>
      <script>
        <block s='doDeclareVariables'>
          <list>
            <l>breakpoint</l>
          </list>
        </block>
        <block s='doIf'>
          <block s='evaluate'>
            <block var='test'/>
            <list/>
          </block>
          <script>
            <block s='doSetVar'>
              <l>breakpoint</l>
              <block var='test'/>
            </block>
            <block s='doShowVar'>
              <l>breakpoint</l>
            </block>
            <block s='doRun'>
              <block var='action'/>
              <list/>
            </block>
            <block s='doPauseAll'/>
            <block s='doHideVar'>
              <l/>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='word $arrowRight list %&apos;word&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations>de:Wort $arrowRight Liste _ca:paraula $arrowRight llista _es:palabra $arrowRight lista _fr:mot $arrowRight liste _</translations>
      <inputs>
        <input type='%txt'/>
      </inputs>
      <script>
        <block s='doReport'>
          <block s='reportTextSplit'>
            <block var='word'/>
            <l>
              <option>letter</option>
            </l>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition category='control' s='ignore %&apos;x&apos;' type='command'>
      <header/>
      <code/>
      <translations>de:ignoriere _ca:ignora _es:ignorar _fr:ignore _</translations>
      <inputs>
        <input type='%s'/>
      </inputs>
    </block-definition>
    <block-definition s='list $arrowRight word %&apos;list&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations>de:Liste $arrowRight Wort _ca:llista $arrowRight paraula _es:lista $arrowRight palabra _fr:liste $arrowRight mot _</translations>
      <inputs>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doReport'>
          <block s='reportJoinWords'>
            <block var='list'/>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='%&apos;x&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%s'/>
      </inputs>
      <script>
        <block s='doReport'>
          <block var='x'/>
        </block>
      </script>
    </block-definition>
    <block-definition s='numbers from %&apos;from&apos; to %&apos;to&apos;' category='lists' type='reporter'>
      <header/>
      <code/>
      <translations>de:Zahlen von _ bis _ca:nombres des de _ a _es:números de _ a _fr:nombres de _ à _</translations>
      <inputs>
        <input type='%n'>1</input>
        <input type='%n'>10</input>
      </inputs>
      <script>
        <block s='doIf'>
          <block s='reportGreaterThan'>
            <block var='from'/>
            <block var='to'/>
          </block>
          <script>
            <block s='doReport'>
              <block s='reportNewList'>
                <list/>
              </block>
            </block>
          </script>
        </block>
        <block s='doReport'>
          <block s='reportCONS'>
            <block var='from'/>
            <custom-block s='numbers from %n to %n'>
              <block s='reportSum'>
                <block var='from'/>
                <l>1</l>
              </block>
              <block var='to'/>
            </custom-block>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='map %&apos;func&apos; over %&apos;data&apos;' category='lists' type='reporter'>
      <header/>
      <code/>
      <translations>de:wende _ an auf _ca:mapeja _ sobre _es:mapear _ sobre _fr:appliquer _ à _</translations>
      <inputs>
        <input type='%repRing'/>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doIf'>
          <custom-block s='empty? %l'>
            <block var='data'/>
          </custom-block>
          <script>
            <block s='doReport'>
              <block var='data'/>
            </block>
          </script>
        </block>
        <block s='doReport'>
          <block s='reportCONS'>
            <block s='evaluate'>
              <block var='func'/>
              <list>
                <block s='reportListItem'>
                  <l>1</l>
                  <block var='data'/>
                </block>
              </list>
            </block>
            <custom-block s='map %repRing over %l'>
              <block var='func'/>
              <block s='reportCDR'>
                <block var='data'/>
              </block>
            </custom-block>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='median %&apos;data_list&apos;' category='operators' type='reporter'>
      <comment x='0' w='90' collapsed='true' y='0'>Reports the Median - ours is 94.5</comment>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doDeclareVariables'>
          <list>
            <l>a</l>
          </list>
          <comment collapsed='true' w='90'>Weird glitch - couldn&apos;t rename the variable - you should!</comment>
        </block>
        <block s='doSetVar'>
          <l>a</l>
          <custom-block s='sort %l ordering with %predRing'>
            <custom-block s='map %repRing over %l'>
              <block s='reifyReporter'>
                <autolambda>
                  <block s='reportListItem'>
                    <l>2</l>
                    <l/>
                  </block>
                </autolambda>
                <list/>
              </block>
              <block var='data_list'/>
            </custom-block>
            <block s='reifyPredicate'>
              <autolambda>
                <block s='reportLessThan'>
                  <l/>
                  <l/>
                </block>
              </autolambda>
              <list/>
            </block>
          </custom-block>
          <comment collapsed='false' w='90'>creates an ordered list from smallest to greatest</comment>
        </block>
        <block s='doReport'>
          <block s='reportListItem'>
            <block s='reportQuotient'>
              <block s='reportStringSize'>
                <block var='a'/>
              </block>
              <l>2</l>
            </block>
            <block var='a'/>
          </block>
          <comment collapsed='false' w='90'>You need to update.  How do you get the middle value?  What if the list is of even length?  Odd length?</comment>
        </block>
      </script>
    </block-definition>
    <block-definition s='append %&apos;lists&apos;' category='lists' type='reporter'>
      <comment x='0' w='287' collapsed='false' y='0'>Take any number of input lists, and create a new list containing the items of the input lists.  So              APPEND [A B] [C D]where the [,,,] are lists reports the list              [A B C D]not [[A B] [C D]].</comment>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%mult%l'/>
      </inputs>
      <script>
        <block s='doWarp'>
          <script>
            <block s='doIf'>
              <block s='reportEquals'>
                <block var='lists'/>
                <block s='reportNewList'>
                  <list/>
                </block>
              </block>
              <script>
                <block s='doReport'>
                  <block s='reportNewList'>
                    <list/>
                  </block>
                </block>
              </script>
            </block>
            <block s='doIf'>
              <block s='reportEquals'>
                <block s='reportListLength'>
                  <block var='lists'/>
                </block>
                <l>1</l>
              </block>
              <script>
                <block s='doReport'>
                  <block s='reportListItem'>
                    <l>1</l>
                    <block var='lists'/>
                  </block>
                </block>
              </script>
            </block>
            <block s='doIf'>
              <block s='reportEquals'>
                <block s='reportListItem'>
                  <l>1</l>
                  <block var='lists'/>
                </block>
                <block s='reportNewList'>
                  <list/>
                </block>
              </block>
              <script>
                <block s='doReport'>
                  <custom-block s='append %mult%l'>
                    <block s='reportCDR'>
                      <block var='lists'/>
                    </block>
                  </custom-block>
                </block>
              </script>
            </block>
            <block s='doReport'>
              <block s='reportCONS'>
                <block s='reportListItem'>
                  <l>1</l>
                  <block s='reportListItem'>
                    <l>1</l>
                    <block var='lists'/>
                  </block>
                </block>
                <custom-block s='append %mult%l'>
                  <block s='reportCONS'>
                    <block s='reportCDR'>
                      <block s='reportListItem'>
                        <l>1</l>
                        <block var='lists'/>
                      </block>
                    </block>
                    <block s='reportCDR'>
                      <block var='lists'/>
                    </block>
                  </block>
                </custom-block>
              </block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='reverse %&apos;data&apos;' category='lists' type='reporter'>
      <comment x='0' w='223' collapsed='false' y='0'>Reports a new list containing the items of the input list, but in the opposite order.</comment>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doDeclareVariables'>
          <list>
            <l>helper</l>
          </list>
        </block>
        <block s='doSetVar'>
          <l>helper</l>
          <block s='reifyScript'>
            <script>
              <block s='doIf'>
                <block s='reportEquals'>
                  <block var='input'/>
                  <block s='reportNewList'>
                    <list/>
                  </block>
                </block>
                <script>
                  <block s='doReport'>
                    <block var='result'/>
                  </block>
                </script>
              </block>
              <block s='doReport'>
                <block s='evaluate'>
                  <block var='helper'/>
                  <list>
                    <block s='reportCDR'>
                      <block var='input'/>
                    </block>
                    <block s='reportCONS'>
                      <block s='reportListItem'>
                        <l>1</l>
                        <block var='input'/>
                      </block>
                      <block var='result'/>
                    </block>
                  </list>
                </block>
              </block>
            </script>
            <list>
              <l>input</l>
              <l>result</l>
            </list>
          </block>
        </block>
        <block s='doWarp'>
          <script>
            <block s='doReport'>
              <block s='evaluate'>
                <block var='helper'/>
                <list>
                  <block var='data'/>
                  <block s='reportNewList'>
                    <list/>
                  </block>
                </list>
              </block>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='remove duplicates from %&apos;data&apos;' category='lists' type='reporter'>
      <comment x='0' w='209' collapsed='false' y='0'>Reports a new list whose items are the same as in the input list, except that if two or more equal items appear in the input list, only the last one is kept in the result.</comment>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doWarp'>
          <script>
            <block s='doIf'>
              <block s='reportEquals'>
                <block var='data'/>
                <block s='reportNewList'>
                  <list/>
                </block>
              </block>
              <script>
                <block s='doReport'>
                  <block s='reportNewList'>
                    <list/>
                  </block>
                </block>
              </script>
            </block>
            <block s='doIfElse'>
              <block s='reportListContainsItem'>
                <block s='reportCDR'>
                  <block var='data'/>
                </block>
                <block s='reportListItem'>
                  <l>1</l>
                  <block var='data'/>
                </block>
              </block>
              <script>
                <block s='doReport'>
                  <custom-block s='remove duplicates from %l'>
                    <block s='reportCDR'>
                      <block var='data'/>
                    </block>
                  </custom-block>
                </block>
              </script>
              <script>
                <block s='doReport'>
                  <block s='reportCONS'>
                    <block s='reportListItem'>
                      <l>1</l>
                      <block var='data'/>
                    </block>
                    <custom-block s='remove duplicates from %l'>
                      <block s='reportCDR'>
                        <block var='data'/>
                      </block>
                    </custom-block>
                  </block>
                </block>
              </script>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='sort %&apos;data&apos; ordering with %&apos;function&apos;' category='lists' type='reporter'>
      <comment x='0' w='204' collapsed='false' y='0'>Reports a sorted version of the list in its first input slot, using the comparison function in the second input slot.  For a list of numbers, using &lt; as the comparison function will sort from low to high; using &gt; will sort from high to low.</comment>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%l'/>
        <input type='%predRing'/>
      </inputs>
      <script>
        <block s='doDeclareVariables'>
          <list>
            <l>even items</l>
            <l>odd items</l>
            <l>merge</l>
          </list>
        </block>
        <block s='doSetVar'>
          <l>odd items</l>
          <block s='reifyScript'>
            <script>
              <block s='doIf'>
                <block s='reportEquals'>
                  <l/>
                  <block s='reportNewList'>
                    <list/>
                  </block>
                </block>
                <script>
                  <block s='doReport'>
                    <block s='reportNewList'>
                      <list/>
                    </block>
                  </block>
                </script>
              </block>
              <block s='doReport'>
                <block s='reportCONS'>
                  <block s='reportListItem'>
                    <l>1</l>
                    <l/>
                  </block>
                  <block s='evaluate'>
                    <block var='even items'/>
                    <list>
                      <block s='reportCDR'>
                        <l/>
                      </block>
                    </list>
                  </block>
                </block>
              </block>
            </script>
            <list/>
          </block>
        </block>
        <block s='doSetVar'>
          <l>even items</l>
          <block s='reifyScript'>
            <script>
              <block s='doIf'>
                <block s='reportEquals'>
                  <l/>
                  <block s='reportNewList'>
                    <list/>
                  </block>
                </block>
                <script>
                  <block s='doReport'>
                    <block s='reportNewList'>
                      <list/>
                    </block>
                  </block>
                </script>
              </block>
              <block s='doReport'>
                <block s='evaluate'>
                  <block var='odd items'/>
                  <list>
                    <block s='reportCDR'>
                      <l/>
                    </block>
                  </list>
                </block>
              </block>
            </script>
            <list/>
          </block>
        </block>
        <block s='doSetVar'>
          <l>merge</l>
          <block s='reifyScript'>
            <script>
              <block s='doIf'>
                <block s='reportEquals'>
                  <block var='#1'/>
                  <block s='reportNewList'>
                    <list/>
                  </block>
                </block>
                <script>
                  <block s='doReport'>
                    <block var='#2'/>
                  </block>
                </script>
              </block>
              <block s='doIf'>
                <block s='reportEquals'>
                  <block var='#2'/>
                  <block s='reportNewList'>
                    <list/>
                  </block>
                </block>
                <script>
                  <block s='doReport'>
                    <block var='#1'/>
                  </block>
                </script>
              </block>
              <block s='doIfElse'>
                <block s='evaluate'>
                  <block var='function'/>
                  <list>
                    <block s='reportListItem'>
                      <l>1</l>
                      <block var='#1'/>
                    </block>
                    <block s='reportListItem'>
                      <l>1</l>
                      <block var='#2'/>
                    </block>
                  </list>
                </block>
                <script>
                  <block s='doReport'>
                    <block s='reportCONS'>
                      <block s='reportListItem'>
                        <l>1</l>
                        <block var='#1'/>
                      </block>
                      <block s='evaluate'>
                        <block var='merge'/>
                        <list>
                          <block s='reportCDR'>
                            <block var='#1'/>
                          </block>
                          <block var='#2'/>
                        </list>
                      </block>
                    </block>
                  </block>
                </script>
                <script>
                  <block s='doReport'>
                    <block s='reportCONS'>
                      <block s='reportListItem'>
                        <l>1</l>
                        <block var='#2'/>
                      </block>
                      <block s='evaluate'>
                        <block var='merge'/>
                        <list>
                          <block var='#1'/>
                          <block s='reportCDR'>
                            <block var='#2'/>
                          </block>
                        </list>
                      </block>
                    </block>
                  </block>
                </script>
              </block>
            </script>
            <list>
              <l>#1</l>
              <l>#2</l>
            </list>
          </block>
        </block>
        <block s='doIf'>
          <block s='reportEquals'>
            <block var='data'/>
            <block s='reportNewList'>
              <list/>
            </block>
          </block>
          <script>
            <block s='doReport'>
              <block s='reportNewList'>
                <list/>
              </block>
            </block>
          </script>
        </block>
        <block s='doIf'>
          <block s='reportEquals'>
            <block s='reportCDR'>
              <block var='data'/>
            </block>
            <block s='reportNewList'>
              <list/>
            </block>
          </block>
          <script>
            <block s='doReport'>
              <block var='data'/>
            </block>
          </script>
        </block>
        <block s='doReport'>
          <block s='evaluate'>
            <block var='merge'/>
            <list>
              <custom-block s='sort %l ordering with %predRing'>
                <block s='evaluate'>
                  <block var='odd items'/>
                  <list>
                    <block var='data'/>
                  </list>
                </block>
                <block var='function'/>
              </custom-block>
              <custom-block s='sort %l ordering with %predRing'>
                <block s='evaluate'>
                  <block var='even items'/>
                  <list>
                    <block var='data'/>
                  </list>
                </block>
                <block var='function'/>
              </custom-block>
            </list>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='assoc %&apos;key&apos; %&apos;a-list&apos;' category='lists' type='reporter'>
      <comment x='0' w='289.3333333333333' collapsed='false' y='0'>The second input is an "association list," a list of two-item lists.  Each of those smaller lists has a "key" as its first item and a "value" as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%s'/>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doIf'>
          <block s='reportEquals'>
            <block var='a-list'/>
            <block s='reportNewList'>
              <list/>
            </block>
          </block>
          <script>
            <block s='doReport'>
              <block s='reportNewList'>
                <list/>
              </block>
            </block>
          </script>
        </block>
        <block s='doIf'>
          <block s='reportEquals'>
            <block var='key'/>
            <block s='reportListItem'>
              <l>1</l>
              <block s='reportListItem'>
                <l>1</l>
                <block var='a-list'/>
              </block>
            </block>
          </block>
          <script>
            <block s='doReport'>
              <block s='reportListItem'>
                <l>1</l>
                <block var='a-list'/>
              </block>
            </block>
          </script>
        </block>
        <block s='doReport'>
          <custom-block s='assoc %s %l'>
            <block var='key'/>
            <block s='reportCDR'>
              <block var='a-list'/>
            </block>
          </custom-block>
        </block>
      </script>
    </block-definition>
    <block-definition s='%&apos;#&apos; map %&apos;function&apos; over %&apos;lists&apos;' category='lists' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%upvar'/>
        <input type='%repRing'/>
        <input type='%mult%l'/>
      </inputs>
      <script>
        <block s='doWarp'>
          <script>
            <block s='doDeclareVariables'>
              <list>
                <l>mapone</l>
                <l>mapmany</l>
              </list>
            </block>
            <block s='doSetVar'>
              <l>mapone</l>
              <block s='reifyScript'>
                <script>
                  <block s='doIf'>
                    <custom-block s='empty? %l'>
                      <block var='data'/>
                    </custom-block>
                    <script>
                      <block s='doReport'>
                        <block s='reportNewList'>
                          <list/>
                        </block>
                      </block>
                    </script>
                  </block>
                  <block s='doSetVar'>
                    <l>#</l>
                    <block var='count'/>
                  </block>
                  <block s='doReport'>
                    <block s='reportCONS'>
                      <block s='evaluate'>
                        <block var='function'/>
                        <list>
                          <block s='reportListItem'>
                            <l>1</l>
                            <block var='data'/>
                          </block>
                        </list>
                      </block>
                      <block s='evaluate'>
                        <block var='mapone'/>
                        <list>
                          <block s='reportCDR'>
                            <block var='data'/>
                          </block>
                          <block s='reportSum'>
                            <block var='count'/>
                            <l>1</l>
                          </block>
                        </list>
                      </block>
                    </block>
                  </block>
                </script>
                <list>
                  <l>data</l>
                  <l>count</l>
                </list>
              </block>
            </block>
            <block s='doSetVar'>
              <l>mapmany</l>
              <block s='reifyScript'>
                <script>
                  <block s='doIf'>
                    <custom-block s='empty? %l'>
                      <block s='reportListItem'>
                        <l>1</l>
                        <block var='data lists'/>
                      </block>
                    </custom-block>
                    <script>
                      <block s='doReport'>
                        <block s='reportNewList'>
                          <list/>
                        </block>
                      </block>
                    </script>
                  </block>
                  <block s='doSetVar'>
                    <l>#</l>
                    <block var='count'/>
                  </block>
                  <block s='doReport'>
                    <block s='reportCONS'>
                      <block s='evaluate'>
                        <block var='function'/>
                        <custom-block s='%upvar map %repRing over %mult%l'>
                          <l>#</l>
                          <block s='reifyReporter'>
                            <autolambda>
                              <block s='reportListItem'>
                                <l>1</l>
                                <l/>
                              </block>
                            </autolambda>
                            <list/>
                          </block>
                          <list>
                            <block var='data lists'/>
                          </list>
                        </custom-block>
                      </block>
                      <block s='evaluate'>
                        <block var='mapmany'/>
                        <list>
                          <custom-block s='%upvar map %repRing over %mult%l'>
                            <l>#</l>
                            <block s='reifyReporter'>
                              <autolambda>
                                <block s='reportCDR'>
                                  <l/>
                                </block>
                              </autolambda>
                              <list/>
                            </block>
                            <list>
                              <block var='data lists'/>
                            </list>
                          </custom-block>
                          <block s='reportSum'>
                            <block var='count'/>
                            <l>1</l>
                          </block>
                        </list>
                      </block>
                    </block>
                  </block>
                </script>
                <list>
                  <l>data lists</l>
                  <l>count</l>
                </list>
              </block>
            </block>
            <block s='doIfElse'>
              <custom-block s='empty? %l'>
                <block s='reportCDR'>
                  <block var='lists'/>
                </block>
              </custom-block>
              <script>
                <block s='doReport'>
                  <block s='evaluate'>
                    <block var='mapone'/>
                    <list>
                      <block s='reportListItem'>
                        <l>1</l>
                        <block var='lists'/>
                      </block>
                      <l>1</l>
                    </list>
                  </block>
                </block>
              </script>
              <script>
                <block s='doReport'>
                  <block s='evaluate'>
                    <block var='mapmany'/>
                    <list>
                      <block var='lists'/>
                      <l>1</l>
                    </list>
                  </block>
                </block>
              </script>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='empty? %&apos;data&apos;' category='lists' type='predicate'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doReport'>
          <block s='reportEquals'>
            <block var='data'/>
            <block s='reportNewList'>
              <list/>
            </block>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='%&apos;#&apos; keep items such that %&apos;pred&apos; from %&apos;data&apos;' category='lists' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%upvar'/>
        <input type='%predRing'/>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doDeclareVariables'>
          <list>
            <l>keep-helper</l>
          </list>
        </block>
        <block s='doSetVar'>
          <l>keep-helper</l>
          <block s='reifyScript'>
            <script>
              <block s='doWarp'>
                <script>
                  <block s='doIf'>
                    <custom-block s='empty? %l'>
                      <block var='data'/>
                    </custom-block>
                    <script>
                      <block s='doReport'>
                        <block s='reportNewList'>
                          <list/>
                        </block>
                      </block>
                    </script>
                  </block>
                  <block s='doSetVar'>
                    <l>#</l>
                    <block var='count'/>
                  </block>
                  <block s='doIfElse'>
                    <block s='evaluate'>
                      <block var='pred'/>
                      <list>
                        <block s='reportListItem'>
                          <l>1</l>
                          <block var='data'/>
                        </block>
                      </list>
                    </block>
                    <script>
                      <block s='doReport'>
                        <block s='reportCONS'>
                          <block s='reportListItem'>
                            <l>1</l>
                            <block var='data'/>
                          </block>
                          <block s='evaluate'>
                            <block var='keep-helper'/>
                            <list>
                              <block s='reportCDR'>
                                <block var='data'/>
                              </block>
                              <block s='reportSum'>
                                <block var='count'/>
                                <l>1</l>
                              </block>
                            </list>
                          </block>
                        </block>
                      </block>
                    </script>
                    <script>
                      <block s='doReport'>
                        <block s='evaluate'>
                          <block var='keep-helper'/>
                          <list>
                            <block s='reportCDR'>
                              <block var='data'/>
                            </block>
                            <block s='reportSum'>
                              <block var='count'/>
                              <l>1</l>
                            </block>
                          </list>
                        </block>
                      </block>
                    </script>
                  </block>
                </script>
              </block>
            </script>
            <list>
              <l>data</l>
              <l>count</l>
            </list>
          </block>
        </block>
        <block s='doReport'>
          <block s='evaluate'>
            <block var='keep-helper'/>
            <list>
              <block var='data'/>
              <l>1</l>
            </list>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='%&apos;#&apos; for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;' category='lists' type='command'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%upvar'/>
        <input type='%upvar'/>
        <input type='%l'/>
        <input type='%cs'/>
      </inputs>
      <script>
        <block s='doSetVar'>
          <l>#</l>
          <l>1</l>
        </block>
        <block s='doUntil'>
          <custom-block s='empty? %l'>
            <block var='data'/>
          </custom-block>
          <script>
            <block s='doSetVar'>
              <l>item</l>
              <block s='reportListItem'>
                <l>1</l>
                <block var='data'/>
              </block>
            </block>
            <block s='doRun'>
              <block var='action'/>
              <list>
                <block s='reportListItem'>
                  <l>1</l>
                  <block var='data'/>
                </block>
              </list>
            </block>
            <block s='doSetVar'>
              <l>data</l>
              <block s='reportCDR'>
                <block var='data'/>
              </block>
            </block>
            <block s='doChangeVar'>
              <l>#</l>
              <l>1</l>
            </block>
          </script>
        </block>
      </script>
    </block-definition>
    <block-definition s='sd %&apos;data_list&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doReport'>
          <block s='reportMonadic'>
            <l>
              <option>sqrt</option>
            </l>
            <custom-block s='mean %l'>
              <custom-block s='map %repRing over %l'>
                <block s='reifyReporter'>
                  <autolambda>
                    <custom-block s='square %n'>
                      <block s='reportDifference'>
                        <l/>
                        <block var='mean'/>
                      </block>
                    </custom-block>
                  </autolambda>
                  <list/>
                </block>
                <custom-block s='map %repRing over %l'>
                  <block s='reifyReporter'>
                    <autolambda>
                      <block s='reportListItem'>
                        <l>2</l>
                        <l/>
                      </block>
                    </autolambda>
                    <list/>
                  </block>
                  <block var='data_list'/>
                </custom-block>
              </custom-block>
            </custom-block>
          </block>
        </block>
      </script>
      <scripts>
        <comment x='12.857142857142858' w='90' collapsed='false' y='138.28571428571428'>Calculates the standard deviation.  You do NOT need to alter this block.</comment>
      </scripts>
    </block-definition>
    <block-definition s='square %&apos;num&apos;' category='operators' type='reporter'>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%n'/>
      </inputs>
      <script>
        <block s='doReport'>
          <block s='reportProduct'>
            <block var='num'/>
            <block var='num'/>
          </block>
        </block>
      </script>
    </block-definition>
    <block-definition s='phat %&apos;data_list&apos;' category='operators' type='reporter'>
      <comment x='0' w='176.85714285714286' collapsed='false' y='0'>This statistic is calculated by the (number of successes) / (total number of outcomes)</comment>
      <header/>
      <code/>
      <translations/>
      <inputs>
        <input type='%l'/>
      </inputs>
      <script>
        <block s='doSetVar'>
          <l>success</l>
          <block s='reportNewList'>
            <list/>
          </block>
        </block>
        <block s='doForEach'>
          <l>item</l>
          <block var='data_list'/>
          <script>
            <block s='doIf'>
              <block s='reportGreaterThan'>
                <block var='item'/>
                <l>600</l>
              </block>
              <script>
                <block s='doAddToList'>
                  <block var='item'/>
                  <block var='success'/>
                </block>
              </script>
            </block>
          </script>
        </block>
        <block s='doReport'>
          <block s='reportQuotient'>
            <block s='reportStringSize'>
              <block var='success'/>
            </block>
            <block s='reportStringSize'>
              <block var='data_list'/>
            </block>
          </block>
        </block>
      </script>
    </block-definition>
  </blocks>
  <variables>
    <variable name='data'>
      <list id='1497'>
        <item>
          <list id='1498' struct='atomic'>2000,478</list>
        </item>
        <item>
          <list id='1499' struct='atomic'>2001,482</list>
        </item>
        <item>
          <list id='1500' struct='atomic'>2002,480</list>
        </item>
        <item>
          <list id='1501' struct='atomic'>2003,506</list>
        </item>
        <item>
          <list id='1502' struct='atomic'>2004,551</list>
        </item>
        <item>
          <list id='1503' struct='atomic'>2005,547</list>
        </item>
        <item>
          <list id='1504' struct='atomic'>2006,608</list>
        </item>
        <item>
          <list id='1505' struct='atomic'>2007,631</list>
        </item>
        <item>
          <list id='1506' struct='atomic'>2008,607</list>
        </item>
        <item>
          <list id='1507' struct='atomic'>2009,521</list>
        </item>
        <item>
          <list id='1508' struct='atomic'>2010,538</list>
        </item>
        <item>
          <list id='1509' struct='atomic'>2011,601</list>
        </item>
        <item>
          <list id='1510' struct='atomic'>2012,669</list>
        </item>
        <item>
          <list id='1511' struct='atomic'>2013,689</list>
        </item>
        <item>
          <list id='1512' struct='atomic'>2014,707</list>
        </item>
        <item>
          <list id='1513' struct='atomic'>2015,706</list>
        </item>
        <item>
          <list id='1514' struct='atomic'>2016,737</list>
        </item>
        <item>
          <list id='1515' struct='atomic'>2017,740</list>
        </item>
        <item>
          <list id='1516' struct='atomic'>2018,871</list>
        </item>
      </list>
    </variable>
    <variable name='mean'>
      <l>614.1578947368421</l>
    </variable>
    <variable name='median'>
      <l>607</l>
    </variable>
    <variable name='standard_deviation'>
      <l>105.57674343084562</l>
    </variable>
    <variable name='p^hat'>
      <l>0.5789473684210527</l>
    </variable>
    <variable name='success'>
      <list id='1517' struct='atomic'>608,631,607,601,669,689,707,706,737,740,871</list>
    </variable>
  </variables>
</project><media name="Unit 3 - Big Data Project" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>