<snapdata remixID="11419240"><project name="digi4all-Hobert" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="digi4all-Hobert"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="%&apos;attribute&apos; of sound %&apos;sound&apos;" type="reporter" category="sound"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">duration<options>name&#xD;duration&#xD;length&#xD;number of channels&#xD;sample rate&#xD;samples</options></input><input type="%obj"></input></inputs><script><block s="doIf"><block s="reportEquals"><block var="attribute"/><l>name</l></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l></list><l>return sound.name;</l></block><list><block var="sound"/></list></block></block></script></block><block s="doIf"><block s="reportEquals"><block var="attribute"/><l>samples</l></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>audioBuffer</l></list><l>var result, i;&#xD;if (audioBuffer.numberOfChannels &gt; 1) {&#xD;    result = new List();&#xD;    for (i = 0; i &lt; audioBuffer.numberOfChannels; i += 1) {&#xD;        result.add(new List(audioBuffer.getChannelData(i)));&#xD;    }&#xD;    return result;&#xD;}&#xD;return new List(audioBuffer.getChannelData(0));</l></block><list><custom-block s="%s of sound %obj"><l></l><block var="sound"/></custom-block></list></block></block></script></block><block s="doRun"><block s="reportJSFunction"><list><l>sound</l></list><l>var base64, binaryString, len, bytes, i,&#xD;    arrayBuffer, audioCtx;&#xD;if (sound.audioBuffer) {&#xD;    return;&#xD;}&#xD;base64 = sound.audio.src.split(&apos;,&apos;)[1];&#xD;binaryString =  window.atob(base64);&#xD;len = binaryString.length;&#xD;bytes = new Uint8Array(len);&#xD;for (i = 0; i &lt; len; i += 1)        {&#xD;  bytes[i] = binaryString.charCodeAt(i);&#xD;}&#xD;arrayBuffer = bytes.buffer;&#xD;Note.prototype.setupContext();&#xD;audioCtx = Note.prototype.audioContext;&#xD;audioCtx.decodeAudioData(arrayBuffer, function(buffer) {&#xD;   sound.audioBuffer = buffer;&#xD;});</l></block><list><block var="sound"/></list></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l></list><l>return !isNil(sound.audioBuffer);</l></block><list><block var="sound"/></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l><l>choice</l></list><l>switch (choice) {&#xD;case &apos;sample rate&apos;:&#xD;    return sound.audioBuffer.sampleRate;&#xD;case &apos;duration&apos;:&#xD;    return sound.audioBuffer.duration;&#xD;case &apos;length&apos;:&#xD;    return sound.audioBuffer.length;&#xD;case &apos;number of channels&apos;:&#xD;    return sound.audioBuffer.numberOfChannels;&#xD;default:&#xD;    return sound.audioBuffer;&#xD;}</l></block><list><block var="sound"/><block var="attribute"/></list></block></block></script></block-definition><block-definition s="turbo %&apos;action&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>begin</l></list></block><block s="doSetVar"><l>begin</l><block s="reportGlobalFlag"><l><option>turbo mode</option></l></block></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>true</bool></l></block><block s="doRun"><block var="action"/><list></list></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><block var="begin"/></block></script></block-definition><block-definition s="play %&apos;samples&apos; at %&apos;sampleRate&apos; Hz" type="command" category="sound"><comment x="0" y="0" w="164" collapsed="false">play back a sound, a list of samples (single channel), or a list of lists (multiple channels) at the given sample rate.&#xD;for demo purposes this block also fast-plots the samples on the stage</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="samples"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><custom-block s="%s of sound %obj"><l>samples</l><block var="samples"/></custom-block></block></script></block><block s="doRun"><block s="reportJSFunction"><list><l>samples</l><l>rate</l></list><l>var audioCtx, channels, frameCount, arrayBuffer, i, source;&#xD;Note.prototype.setupContext();&#xD;audioCtx = Note.prototype.audioContext;&#xD;channels = (samples.at(1) instanceof List) ? samples.length() : 1; &#xD;frameCount = (channels === 1) ? samples.length() : samples.at(1).length(); &#xD;arrayBuffer = audioCtx.createBuffer(channels, frameCount, rate);&#xD;if (!arrayBuffer.copyToChannel) {&#xD;    arrayBuffer.copyToChannel = function (src, channel) {&#xD;        var buffer = this.getChannelData(channel);&#xD;        for (i = 0; i &lt; src.length; i += 1) {&#xD;            buffer[i] = src[i];&#xD;        }&#xD;    }&#xD;}&#xD;if (channels === 1) {&#xD;    arrayBuffer.copyToChannel(Float32Array.from(samples.asArray()), 0, 0);&#xD;} else {&#xD;    for (i = 0; i &lt; channels; i += 1) {&#xD;        arrayBuffer.copyToChannel(Float32Array.from(samples.at(i + 1).asArray()), i, 0);&#xD;    }&#xD;}&#xD;source = audioCtx.createBufferSource();&#xD;source.buffer = arrayBuffer;&#xD;source.connect(audioCtx.destination);&#xD;source.start();&#xD;source.pause = source.stop;&#xD;this.parentThatIsA(StageMorph).activeSounds.push(source);</l></block><list><block var="samples"/><block var="sampleRate"/></list></block><custom-block s="plot sound %obj"><block var="samples"/></custom-block></script></block-definition><block-definition s="%&apos;frequency&apos; Hz for %&apos;duration&apos; secs at %&apos;sample rate&apos; Hz sample rate" type="reporter" category="sound"><comment x="0" y="0" w="205" collapsed="false">generate a list of samples representing a sine wave at the given frequency, duration and sample rate</comment><header></header><code></code><translations></translations><inputs><input type="%n">440<options>a 55=55&#xD;a 110=110&#xD;a 220=220&#xD;a 440=440&#xD;a 880=880&#xD;a 1760=1760&#xD;a 3520=3520</options></input><input type="%n">1</input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doDeclareVariables"><list><l>output</l><l>sample period</l><l>duration in samples</l><l>time</l></list></block><block s="doSetVar"><l>sample period</l><block s="reportQuotient"><l>1</l><block var="sample rate"/></block></block><block s="doSetVar"><l>duration in samples</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportVariadicProduct"><list><block var="duration"/><block var="sample rate"/></list></block></block></block><block s="doSetVar"><l>time</l><l>0</l></block><block s="doSetVar"><l>output</l><block s="reportNewList"><list></list></block></block><block s="doWarp"><script><block s="doRepeat"><block var="duration in samples"/><script><block s="doAddToList"><block s="reportMonadic"><l><option>sin</option></l><custom-block s="degrees %n"><block s="reportVariadicProduct"><list><l>2</l><block s="reportVariadicProduct"><list><custom-block s="PI"></custom-block><block s="reportVariadicProduct"><list><block var="frequency"/><block var="time"/></list></block></list></block></list></block></custom-block></block><block var="output"/></block><block s="doChangeVar"><l>time</l><block var="sample period"/></block></script></block></script></block><block s="doReport"><block var="output"/></block></script></block-definition><block-definition s="PI" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="degrees %&apos;radians&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">0.5</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="radians"/><l>180</l></list></block><custom-block s="PI"></custom-block></block></block></script></block-definition><block-definition s="find first in %&apos;list&apos; such that %&apos;test&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doIf"><block s="reportEquals"><block var="list"/><block s="reportNewList"><list></list></block></block><script><custom-block s="error %s"><l>item not found in list</l></custom-block></script></block><block s="doIf"><block s="evaluate"><block var="test"/><list><block s="reportListItem"><l>1</l><block var="list"/></block></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="list"/></block></block></script></block><block s="doReport"><custom-block s="find first in %l such that %predRing"><block s="reportCDR"><block var="list"/></block><block var="test"/></custom-block></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>msg</l></list><l>throw new Error(msg)</l></block><list><block var="msg"/></list></block></script></block-definition><block-definition s="sound named %&apos;name&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="find first in %l such that %predRing"><block s="reportGet"><l><option>sounds</option></l></block><block s="reifyPredicate"><autolambda><block s="reportEquals"><custom-block s="%s of sound %obj"><l>name</l><block var="sound"/></custom-block><block var="name"/></block></autolambda><list><l>sound</l></list></block></custom-block></block></script></block-definition><block-definition s="plot sound %&apos;sound&apos;" type="command" category="pen"><comment x="0" y="0" w="164" collapsed="false">quickly plot the samples of a sound, a list of samples (single channel), or a list of lists (multiple channels) to the stage at a lower resolution.</comment><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doDeclareVariables"><list><l>samples</l><l>step</l><l>offset</l><l>i</l><l>stage height</l></list></block><block s="doSetVar"><l>stage height</l><custom-block s="stage height"></custom-block></block><block s="doIfElse"><block s="reportIsA"><block var="sound"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><custom-block s="%s of sound %obj"><l>samples</l><block var="sound"/></custom-block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><custom-block s="%s of sound %obj"><l>length</l><block var="sound"/></custom-block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block></script><script><block s="doSetVar"><l>samples</l><block var="sound"/></block></script></block><block s="clear"></block><block s="up"></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="samples"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="samples"/></block></block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block><block s="doSetVar"><l>offset</l><block s="reportQuotient"><block var="stage height"/><l>4</l></block></block><custom-block s="for each %upvar of %l %cs"><l>channel</l><block var="samples"/><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="gotoXY"><block s="reportQuotient"><custom-block s="stage width"></custom-block><l>-2</l></block><block var="offset"/></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="channel"/></block><block s="reportQuotient"><block var="stage height"/><l>6.4</l></block></list></block><block var="offset"/></list></block></block></script></block></script></custom-block><block s="up"></block><block s="doChangeVar"><l>offset</l><block s="reportQuotient"><custom-block s="stage height"></custom-block><l>-2</l></block></block></script></custom-block></script><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="samples"/></block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block><block s="gotoXY"><block s="reportQuotient"><custom-block s="stage width"></custom-block><l>-2</l></block><l>0</l></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="samples"/></block><block s="reportQuotient"><block var="stage height"/><l>3.2</l></block></list></block></block></script></block></script></custom-block><block s="up"></block></script></block></script></block-definition><block-definition s="stage width" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return StageMorph.prototype.dimensions.x;</l></block><list></list></block></block></script></block-definition><block-definition s="stage height" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return StageMorph.prototype.dimensions.y;</l></block><list></list></block></block></script></block-definition><block-definition s="$circleSolid-1-255-0-0 record" type="reporter" category="sensing"><comment x="0" y="0" w="192" collapsed="false">records an audio snippet and reports it as a new sound, or zero if the user cancels</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>test</l><l>pic</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var soundRecorder,&#xD;    result = false;&#xD;&#xD;soundRecorder = new SoundRecorderDialogMorph(&#xD;    function (audio) {&#xD;        if (audio) {&#xD;            result = new Sound(audio, &apos;recording&apos;);&#xD;        } else {&#xD;            result = null;&#xD;            this.destroy();&#xD;        }&#xD;    }&#xD;);&#xD;&#xD;soundRecorder.cancel = function () {&#xD;    result = null;&#xD;    this.destroy();&#xD;};&#xD;&#xD;soundRecorder.key = &apos;microphone&apos;;&#xD;soundRecorder.popUp(this.world());&#xD;return function () {return result; };</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block s="reifyScript"><script><block s="doSetVar"><l>pic</l><block s="evaluate"><block var="test"/><list></list></block></block><block s="doReport"><block s="reportNot"><block s="reportEquals"><block var="pic"/><block s="reportBoolean"><l><bool>false</bool></l></block></block></block></block></script><list></list></block><list></list></block></block><block s="doReport"><block var="pic"/></block></script></block-definition><block-definition s="loudness" type="reporter" category="sensing"><header></header><code></code><translations>ca:volum del so&#xD;es:volumen del sonido&#xD;</translations><inputs></inputs><script><block s="doIf"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return typeof meter == &apos;undefined&apos;</l></block><list></list></block><script><block s="doRun"><block s="reportJSFunction"><list></list><l>navigator.getUserMedia = ( navigator.getUserMedia ||&#xD;                       navigator.webkitGetUserMedia ||&#xD;                       navigator.mozGetUserMedia ||&#xD;                       navigator.msGetUserMedia);&#xD;&#xD;var audioContext = new AudioContext();&#xD;&#xD;/*&#xD;The MIT License (MIT)&#xD;&#xD;Copyright (c) 2014 Chris Wilson&#xD;&#xD;Permission is hereby granted, free of charge, to any person obtaining a copy&#xD;of this software and associated documentation files (the "Software"), to deal&#xD;in the Software without restriction, including without limitation the rights&#xD;to use, copy, modify, merge, publish, distribute, sublicense, and/or sell&#xD;copies of the Software, and to permit persons to whom the Software is&#xD;furnished to do so, subject to the following conditions:&#xD;&#xD;The above copyright notice and this permission notice shall be included in all&#xD;copies or substantial portions of the Software.&#xD;&#xD;THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&#xD;IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&#xD;FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE&#xD;AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER&#xD;LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,&#xD;OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE&#xD;SOFTWARE.&#xD;*/&#xD;&#xD;function createAudioMeter (audioContext,clipLevel,averaging,clipLag) {&#xD;	 var processor = audioContext.createScriptProcessor(512);&#xD;	 processor.onaudioprocess = volumeAudioProcess;&#xD;	 processor.clipping = false;&#xD;	 processor.lastClip = 0;&#xD;	 processor.volume = 0;&#xD;	 processor.clipLevel = clipLevel || 0.98;&#xD;	 processor.averaging = averaging || 0.95;&#xD;	 processor.clipLag = clipLag || 750;&#xD; 	processor.connect(audioContext.destination);&#xD; 	return processor;&#xD;};&#xD;&#xD;function volumeAudioProcess (event) {&#xD;  var buf = event.inputBuffer.getChannelData(0),&#xD;      bufLength = buf.length,&#xD; 	    sum = 0,&#xD;      x;&#xD;  for (var i=0; i&lt;bufLength; i++) {&#xD;   	x = buf[i];&#xD;   	if (Math.abs(x)&gt;=this.clipLevel) {&#xD;    		this.clipping = true;&#xD;    		this.lastClip = window.performance.now();&#xD;   	}&#xD;   	sum += x * x;&#xD;  }&#xD;  var rms =  Math.sqrt(sum / bufLength);&#xD;  this.volume = Math.max(rms, this.volume*this.averaging);&#xD;};&#xD;&#xD;function gotStream (stream) {&#xD;  mediaStreamSource = audioContext.createMediaStreamSource(stream);&#xD;  window.meter = createAudioMeter(audioContext);&#xD;  mediaStreamSource.connect(meter);&#xD;};&#xD;&#xD;navigator.getUserMedia(&#xD;  {&#xD;    "audio": {&#xD;      "mandatory": {&#xD;        "googEchoCancellation": "false",&#xD;        "googAutoGainControl": "false",&#xD;        "googNoiseSuppression": "false",&#xD;        "googHighpassFilter": "false"&#xD;      },&#xD;      "optional": []&#xD;    },&#xD;  }, gotStream, nop);</l></block><list></list></block></script></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return typeof meter != &apos;undefined&apos;</l></block><list></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return Math.floor(meter.volume * 100);</l></block><list></list></block></block></script></block-definition><block-definition s="$flash map %&apos;fn&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicMap(fn, data);</l></block><list><block var="fn"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash keep %&apos;test&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicKeep(fn, data);</l></block><list><block var="test"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash combine %&apos;fn&apos; with %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicCombine(fn, data);</l></block><list><block var="fn"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; by %&apos;fn&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>data</l><l>fn</l><l>proc</l></list><l>return proc.reportAtomicSort(data, fn);</l></block><list><block var="data"/><block var="fn"/></list></block></block></script></block-definition><block-definition s="$flash reverse %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>list</l></list><l>return new List(list.asArray().slice().reverse());</l></block><list><block var="list"/></list></block></block></script></block-definition><block-definition s="Leap number of hands" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).hands.length;</l></block><list></list></block></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; position of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doIfElse"><block s="reportNot"><block s="reportGreaterThan"><block var="num"/><custom-block s="Leap number of hands"></custom-block></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var a = {x:0, y:1, z:2}[pos]; return window.controller.frame(0).hands[num-1].stabilizedPalmPosition[a];</l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; rotation of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">yaw<options>yaw&#xD;pitch&#xD;roll</options></input><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportGreaterThan"><block var="num"/><custom-block s="Leap number of hands"></custom-block></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var f = window.controller.frame(0);&#xD;switch (pos){&#xD;  case "yaw":&#xD;    return f.hands[num-1].yaw();&#xD;  case "pitch":&#xD;    return f.hands[num-1].pitch();&#xD;  case "roll":&#xD;    return f.hands[num-1].roll();&#xD;};&#xD;            &#xD;        </l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; position of finger %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportGreaterThan"><block var="num"/><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).fingers.length;</l></block><list></list></block></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var a = {x:0, y:1, z:2}[pos]; return window.controller.frame(0).fingers[num-1].stabilizedTipPosition[a];</l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap hand %&apos;num&apos; is pinching" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportGreaterThan"><block var="num"/><custom-block s="Leap number of hands"></custom-block></block></block><script><block s="doReport"><block s="reportGreaterThan"><block s="evaluate"><block s="reportJSFunction"><list><l>num</l></list><l>return window.controller.frame(0).hands[num-1].pinchStrength;</l></block><list><block var="num"/></list></block><l>0.75</l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="Leap pinch strength of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportGreaterThan"><block var="num"/><custom-block s="Leap number of hands"></custom-block></block></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="evaluate"><block s="reportJSFunction"><list><l>num</l></list><l>return window.controller.frame(0).hands[num-1].pinchStrength;</l></block><list><block var="num"/></list></block><l>100</l></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap $flag" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller !== undefined</l></block><list></list></block><script><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var leapScript,&#xD;    done = false;&#xD;leapScript = document.createElement(&apos;script&apos;),&#xD;leapScript.onload = function () {&#xD;    done = true;&#xD;    console.log(&apos;leap is ready&apos;);&#xD;};&#xD;document.head.appendChild(leapScript);&#xD;leapScript.src = &apos;https://js.leapmotion.com/leap-0.6.4.min.js&apos;;&#xD;return function () {return done; }</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block var="test"/><list></list></block></block><block s="doRun"><block s="reportJSFunction"><list></list><l>window.controller = new Leap.Controller({enableGestures: true, background: true}); window.controller.connect();</l></block><list></list></block></script></block-definition><block-definition s="square %&apos;side&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRepeat"><l>4</l><script><block s="forward"><block var="side"/></block><block s="turn"><l>90</l></block></script></block></script></block-definition><block-definition s="polygon corner: %&apos;corner&apos; side: %&apos;side&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doRepeat"><block var="corner"/><script><block s="forward"><block var="side"/></block><block s="turn"><l>45</l></block></script></block></script><scripts><script x="186.7744160625" y="106.000002"><block s="reportQuotient"><l></l><l></l></block></script></scripts></block-definition><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">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></header><code></code><translations>de:drucke _ in Größe _&#xD;ca:etiqueta _ de mida _&#xD;es:etiqueta _ de tamaño _&#xD;fr:étiquette _ d&apos;une taille de _&#xD;</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></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations>de:ist _ leer?&#xD;ca:_ buida?&#xD;es:_ vacía?&#xD;fr:_ vide?&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:behalte Elemente, die _ aus _&#xD;ca:manté els elements on _ de _&#xD;es:mantener los elementos donde _ de _&#xD;fr:garder les items tels que _ de _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></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;" type="reporter" category="lists"><header></header><code></code><translations>de:kombiniere mit _ die Elemente von _&#xD;ca:combina amb _ els elements de _&#xD;es:combinar con _ los elementos de _&#xD;fr:combine avec _ les items de _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></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;" type="reporter" category="control"><header></header><code></code><translations>de:wenn _ dann _ sonst _&#xD;ca:si _ llavors _ si no _&#xD;es:si _ entonces _ sino _&#xD;fr:si _ alors _ sinon _&#xD;</translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></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;" type="command" category="control"><header></header><code></code><translations>de:für _ = _ bis _ _&#xD;ca:per _ = _ fins _ _&#xD;es:para _ = _ hasta _ _&#xD;fr:pour _ allant de _ à _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></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></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></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></list></block><script><block s="doRun"><block var="action"/><list></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;" type="reporter" category="operators"><header></header><code></code><translations>de:füge Wörter zusammen _&#xD;ca:uneix les paraules _&#xD;es:unir las palabras _&#xD;fr:fusionne les mots _&#xD;</translations><inputs><input type="%mult%txt"></input></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></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></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> </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;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;ca:llista $arrowRight frase _&#xD;es:lista $arrowRight frase _&#xD;fr:liste $arrowRight phrase _&#xD;</translations><inputs><input type="%l"></input></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;" type="reporter" category="operators"><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></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;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></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></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;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;</translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></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></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;</translations><inputs><input type="%s">catchtag</input><input type="%s"></input></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;" type="command" category="lists"><header></header><code></code><translations>de:für jedes _ von _ _&#xD;ca:per cada _ de _ _&#xD;es:para cada _ de _ _&#xD;fr:pour chaque _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></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" type="command" category="control"><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></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></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Wort $arrowRight Liste _&#xD;ca:paraula $arrowRight llista _&#xD;es:palabra $arrowRight lista _&#xD;fr:mot $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;ca:llista $arrowRight paraula _&#xD;es:lista $arrowRight palabra _&#xD;fr:liste $arrowRight mot _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="numbers from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Zahlen von _ bis _&#xD;ca:nombres des de _ a _&#xD;es:números de _ a _&#xD;fr:nombres de _ à _&#xD;</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></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportVariadicSum"><list><block var="from"/><l>1</l></list></block><block var="to"/></custom-block></block></block></script></block-definition><block-definition s="map %&apos;func&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:wende _ an auf _&#xD;ca:mapeja _ sobre _&#xD;es:mapear _ sobre _&#xD;fr:appliquer _ à _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></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></blocks><stage name="Bühne" width="480" height="360" costume="1" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="1404"><pentrails>data:image/png;base64,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</pentrails><costumes><list id="1405"><item><ref mediaID="Bühne_cst_Unbenannt"></ref></item></list></costumes><sounds><list struct="atomic" id="1406"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Stift" idx="1" x="-1.1041265679523349e-9" y="-1.9895196601282805e-13" heading="306.9999999999616" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="217,148,255,1" pen="tip" id="1411"><costumes><list struct="atomic" id="1412"></list></costumes><sounds><list struct="atomic" id="1413"></list></sounds><blocks></blocks><variables></variables><scripts><script x="355" y="462.33333333333337"><block s="gotoXY"><l>0</l><l>0</l></block></script><script x="314" y="35"><block s="receiveGo"></block><block s="setColor"><color>217,148,255,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>70</l></block><block s="doSetVar"><l>seitenzahl</l><l>8</l></block><block s="doForever"><script><block s="clear"></block><block s="doWarp"><script><block s="doRepeat"><block var="seitenzahl"/><script><block s="forward"><block var="seitenlänge"/></block><block s="turn"><block s="reportQuotient"><l>360</l><block var="seitenzahl"/></block></block></script></block></script></block><block s="turn"><l>25</l></block></script></block></script><script x="64" y="35"><block s="receiveGo"></block><block s="setColor"><color>217,148,255,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>50</l></block><block s="doSetVar"><l>seitenzahl</l><l>8</l></block><block s="doForever"><script><block s="clear"></block><block s="doWarp"><script><block s="doRepeat"><block var="seitenzahl"/><script><block s="forward"><block var="seitenlänge"/></block><block s="turn"><block s="reportQuotient"><l>360</l><block var="seitenzahl"/></block></block></script></block></script></block><block s="turn"><l>20</l></block></script></block></script></scripts></sprite><watcher var="seitenlänge" style="normal" x="10" y="10" color="243,118,29"/><watcher var="seitenzahl" style="normal" x="10" y="31.000001999999995" color="243,118,29"/></sprites></stage><variables><variable name="seitenlänge"><l>70</l></variable><variable name="seitenzahl"><l>8</l></variable></variables></scene></scenes></project><media name="digi4all-Hobert" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Unbenannt" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADotJREFUeF7t1cEJADAMxLBk/6Fb6BD1R1ngQAS8M3PGESBAgAABAl8FVoC/ehsjQIAAAQJPQIA9AgECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBATYDxAgQIAAgUBAgAN0kwQIECBAQID9AAECBAgQCAQEOEA3SYAAAQIEBNgPECBAgACBQECAA3STBAgQIEBAgP0AAQIECBAIBAQ4QDdJgAABAgQE2A8QIECAAIFAQIADdJMECBAgQECA/QABAgQIEAgEBDhAN0mAAAECBC5oYGgQUTbVPQAAAABJRU5ErkJggg==" mediaID="Bühne_cst_Unbenannt"/></media></snapdata>