<snapdata remixID="12434884"><project name="MachineLearningPoseFinch" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAGT1JREFUeF7tnQd0VMX3x28qgZBQgwQQKfoHQUSKAtKlhAQIvYmKgiAoFqSoCALSESkKKiKoYAUVEEFQRJBAOumNdAigJJBACITU3/lO/m/zZt/uJll2l82+uefkBHbfezNz55M7b+7cuWNXWlpaSkKEBu6RBuwEgPdI86JYpgEBoADhnmpAL4CBgYHUrFkzcnV1vacV1FX47du3KS0tjXr06GF1dRMVqpoGFABevHiRkpOTGXzGiF1pCWUG/EwNXOyNud3gPSUlxeTa8znKz89n150/f55atWpFzZs3N3lZ4oGW0YACwOPHj1PTpk2NLj074CdqF7ON7O2MfoTBG+/0n0dZLb0011y+fJl69+5NDg4O5ilQPNWsGuAA9PPzo3r16nEFHjhwgMaNG0enTp2iJ598krZs2cK+f/zxxwkT6D59+hCGREkcw/dS08id5DzwDbxiEhUXUHF6KDm0KhsuC45/RE69p1PJhXDNZ4WhPxHlXyenntOo4NhGcuozg0oyIjXfl+ZeocLAb9n9pb1fpvMth3N1vHXrFquPkOqnAQ5ADL03b97kWjF9+nT67rvvaO3atTR37lz64Ycf6LnnnqOlS5ey98OFCxfStWvXNPe4RO9jALquSKC8RW3Y584D51BRzBEGlF1Nd3LqMYXylndinwO+0uwLZFfvfqo5cy8VHttINUatooLjW8ixyxi6tbYXV5+SXrMotbkP91mNGjWobdu21U/7osb8LPjChQv033//KQAEdGvWrKEFCxbQyy+/THl5efThhx/SN998wwDMzMzU3OOW8BsDsPaqJCo4vpVKcjLIvm4zBqB947Zk36AFOfV4TieATl3GkuNjI8nOuSYVBn1PTr2mUqHfTipO8afilABWRnGvmZToOVjRdV27dhXdWQ01wFnAgICyTpbLV199RRjiAOeGDRto//791KFDB9q8eTOzOrCCAPL1119n1rNe8hEOQOlZdm4e5NCmH935bja5TNmhF0Cn7s9Qof8uIjt7DYAYxgv+3soeVdTzJYpvNICrY+3atemRRx6phuoXVeYAhGsjKiqK6taty2mmcePGVFxczCzd/fffz2CsU6cOubi4EIY/SHZ2NuXm5lKj838xAM0lBT2mU0yD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</thumbnail><scenes select="1"><scene name="MachineLearningPoseFinch"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Predict" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>predictionJS</l></list></block><block s="doDeclareVariables"><list><l>predictionList</l><l>tempTable</l></list></block><block s="doUntil"><block s="reportKeyPressed"><l><option>x</option></l></block><script><block s="doRun"><block s="reportJSFunction"><list><l>videoCapture</l></list><l>const report_predictions = (prediction) =&gt; {&#xD;   let class_names = window.poseModel.getClassLabels();&#xD;   let names_and_scores = prediction.map((score, index) =&gt; [class_names[index], score.probability]);&#xD;   &#xD;   //console.log(prediction)&#xD;&#xD;   window.prediction = names_and_scores&#xD;};&#xD;&#xD;const make_pose_prediction = (pose) =&gt; {&#xD;   poseModel.predict(pose.posenetOutput).then(report_predictions);&#xD;} &#xD;&#xD;const halt_execution = () =&gt; {&#xD;    alert("There was a problem making predictions. Check your URL and load your model again.")&#xD;    //Trick snap into thinking that the x key has been pressed&#xD;    world.keyboardFocus.fireKeyEvent(&apos;x&apos;)&#xD;    setTimeout(() =&gt; { world.keyboardFocus.removePressedKey(&apos;x&apos;) }, 1000)&#xD;}&#xD;&#xD;if (typeof window.poseModel == &apos;undefined&apos; || window.poseModel == null) {&#xD;    console.log("poseModel not loaded.")&#xD;    halt_execution()&#xD;    return&#xD;}&#xD;&#xD;// Have to estimate the pose and then run it through the teachable machine&#xD;window.poseModel.estimatePose(videoCapture.contents).then(make_pose_prediction).catch(error =&gt; {&#xD;    console.log("Pose error:")&#xD;    console.log(error)&#xD;    halt_execution()&#xD;})&#xD;     </l></block><list><block s="reportVideo"><l><option>snap</option></l><l>Stage</l></block></list></block><block s="doSetVar"><l>predictionJS</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.prediction ?? ""</l></block><list></list></block></block><block s="doSetVar"><l>predictionList</l><block s="reportTextSplit"><block s="reportJoinWords"><list><block var="predictionJS"/></list></block><l>,</l></block></block><block s="doSetVar"><l>tempTable</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="predictionList"/></block><l>2</l></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><block s="reportDifference"><block s="reportVariadicProduct"><list><l>2</l><block var="i"/></list></block><l>1</l></block><block var="predictionList"/></block><block s="reportListItem"><block s="reportVariadicProduct"><list><l>2</l><block var="i"/></list></block><block var="predictionList"/></block></list></block><block var="tempTable"/></block></script></block><block s="doSetVar"><l>PredictionTable</l><block var="tempTable"/></block><block s="doSetVar"><l>Prediction</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>2</l><l/></block></autolambda><list></list></block><block var="PredictionTable"/></block></block></script></block></script></block-definition><block-definition s="Load Model %&apos;URL&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list></list><l>console.log("Loading scripts...")&#xD;window.scriptsHaveLoaded = false&#xD;delete window.tf&#xD;delete window.tmPose&#xD;delete window._tfengine&#xD;console.log(window)&#xD;&#xD;let script = document.createElement("script");&#xD;script.type = "text/javascript"; &#xD;script.src = "https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.3.1/dist/tf.min.js";  &#xD;script.onload = () =&gt; {&#xD;    console.log("tfjs has loaded")&#xD;    let script2 = document.createElement("script");&#xD;    script2.type = "text/javascript";&#xD;    script2.src = "https://cdn.jsdelivr.net/npm/@teachablemachine/pose@0.8/dist/teachablemachine-pose.min.js";&#xD;    script2.onload = () =&gt; {&#xD;        console.log("teachablemachine-pose has loaded")&#xD;        window.scriptsHaveLoaded = true&#xD;    }&#xD;    document.head.appendChild(script2);  &#xD;}&#xD;document.head.appendChild(script);&#xD;   </l></block><list></list></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list><l></l></list><l>console.log("Checking if scripts have loaded...")&#xD;return window.scriptsHaveLoaded</l></block><list></list></block></block><block s="doRun"><block s="reportJSFunction"><list><l>URL</l></list><l>&#xD;URL = URL.trim()&#xD;const modelURL = URL + "model.json"; // model topology&#xD;const metadataURL = URL + "metadata.json"; // model metadata&#xD;&#xD;window.ensureModelLoadedResult = null&#xD;&#xD;const recognizer = tmPose.load(modelURL, metadataURL).then(loaded_model =&gt; {&#xD;    console.log("Pose model has loaded")&#xD;    window.poseModel = loaded_model;&#xD;    window.ensureModelLoadedResult = "Model loaded successfully"&#xD;}).catch(error =&gt; {&#xD;    console.log("Model load error:")&#xD;    console.log(error)&#xD;    if (error.message.startsWith("Failed to fetch")) {&#xD;        window.ensureModelLoadedResult = "The URL could not be reached"&#xD;    } else {&#xD;        window.ensureModelLoadedResult = error.message&#xD;    }&#xD;})</l></block><list><block var="URL"/></list></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list><l></l></list><l>console.log("Checking if the model has loaded...")&#xD;return (window.ensureModelLoadedResult != null)</l></block><list></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l></l></list><l>return window.ensureModelLoadedResult</l></block><list></list></block></block></script></block-definition><block-definition s="Finch Distance (cm)" type="reporter" category="sensing"><header></header><code></code><translations>ca:Finch Distància (cm)&#xD;de:Finch Entfernung (cm)&#xD;es:Finch Distancia (cm)&#xD;fr:Finch Distance (cm)&#xD;he:Finch מרחק (cm)&#xD;ko:Finch 거리 센서 (cm)&#xD;nl:Finch Afstand (cm)&#xD;pt:Finch Distância (cm)&#xD;zh_CN:Finch 距离 (cm)&#xD;zh_TW:Finch 距離 (cm)&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportURL"><l>http://127.0.0.1:30061/hummingbird/in/Distance/static</l></block></block></script></block-definition><block-definition s="Finch %&apos;port&apos; Light" type="reporter" category="sensing"><header></header><code></code><translations>ca:Finch _ Llum&#xD;de:Finch _ Licht&#xD;es:Finch _ Luz&#xD;fr:Finch _ Lumière&#xD;he:Finch _ אור&#xD;ko:Finch _ 빛 센서&#xD;nl:Finch _ Licht&#xD;pt:Finch _ Luz&#xD;zh_CN:Finch _ 灯光&#xD;zh_TW:Finch _ 燈光&#xD;</translations><inputs><input type="%txt" readonly="true">Right<options>Left&#xD;Right</options></input></inputs><script><block s="doReport"><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/in/Light/</l><block var="port"/></list></block></block></block></script></block-definition><block-definition s="Finch %&apos;port&apos; Line" type="reporter" category="sensing"><header></header><code></code><translations>ca:Finch _ Línia&#xD;de:Finch _ Linie&#xD;es:Finch _ Línea&#xD;fr:Finch _ Ligne&#xD;he:Finch _ קו&#xD;ko:Finch _ 선&#xD;nl:Finch _ Lijn&#xD;pt:Finch _ Linha&#xD;zh_CN:Finch _ 线&#xD;zh_TW:Finch _ 線&#xD;</translations><inputs><input type="%txt" readonly="true">Right<options>Left&#xD;Right</options></input></inputs><script><block s="doDeclareVariables"><list><l>value</l></list></block><block s="doSetVar"><l>value</l><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/in/Line/</l><block var="port"/></list></block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="value"/><l>Not Connected</l></list></block></block><script><block s="doReport"><block s="reportRound"><block var="value"/></block></block></script><script><block s="doReport"><l>Not Connected</l></block></script></block></script></block-definition><block-definition s="Finch %&apos;port&apos; Encoder (rotations)" type="reporter" category="sensing"><header></header><code></code><translations>ca:Finch Recompte de voltes _&#xD;de:Finch _ Kodierer&#xD;es:Finch Recuento de vueltas _&#xD;fr:Finch _ Encodeur&#xD;he:Finch _ קודאי&#xD;ko:Finch _ 인코더&#xD;nl:Finch _ Encoder&#xD;pt:Finch _ Código&#xD;zh_CN:Finch _ 编码器&#xD;zh_TW:Finch _ 編碼器&#xD;</translations><inputs><input type="%txt" readonly="true">Right<options>Left&#xD;Right</options></input></inputs><script><block s="doDeclareVariables"><list><l>value</l></list></block><block s="doSetVar"><l>value</l><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/in/Encoder/</l><block var="port"/></list></block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="value"/><l>Not Connected</l></list></block></block><script><block s="doReport"><block var="value"/></block></script><script><block s="doReport"><l>Not Connected</l></block></script></block></script></block-definition><block-definition s="Finch Reset Encoders" type="command" category="sensing"><header></header><code></code><translations>ca:Finch Reinicialitza els comptadors de voltes&#xD;de:Finch Kodierer Zurücksetzen&#xD;es:Finch Reinicializar los contadores de vueltas&#xD;fr:Finch Réinitialiser les encodeurs&#xD;he:Finch לאפס קודאי&#xD;ko:Finch 인코더 리셋하기&#xD;nl:Finch Encoders Resetten&#xD;pt:Finch Redefinir Código&#xD;zh_CN:Finch 重置编码器&#xD;zh_TW:Finch 重置編碼器&#xD;</translations><inputs></inputs><script><block s="doRun"><block s="reifyReporter"><autolambda><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/out/resetEncoders/A/</l></list></block></block></autolambda><list></list></block><list></list></block><block s="doWait"><l>0.2</l></block></script></block-definition><block-definition s="Finch Play Note %&apos;note&apos; for %&apos;beats&apos; beats" type="command" category="sound"><header></header><code></code><translations>ko:Finch _ 번 음을 _ 박자로 연주하기&#xD;de:Finch Spiele Note _ für _ Schläge&#xD;pt:Finch Toque Notas _ por _ Batidas&#xD;fr:Finch Jouer la note _ pour _ battement(s)&#xD;nl:Finch Speel Noot _ voor _ Beats&#xD;zh_CN:Finch 演奏 音阶 _ 于 _ 拍&#xD;zh_TW:Finch 演奏 音階 _ 於 _ 拍&#xD;ar:Finch تشغيل الموسيقى _ _&#xD;dk:Finch Spil tone _ i _ slag&#xD;he:Finch נגן תו _ במשך _ פעימות&#xD;es:Finch Emitir un sonido _ por _ pulsos&#xD;ca:Finch Toca nota _ durant _ temps&#xD;fi:Finch Soita sävel _ _ iskun ajan&#xD;sv:Finch Spela not _ _&#xD;</translations><inputs><input type="%n">60<options>§_pianoKeyboardMenu</options></input><input type="%n">0.5</input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="note"/><l>135</l></list></block><script><block s="doSetVar"><l>note</l><l>135</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><l>32</l><block var="note"/></list></block><script><block s="doSetVar"><l>note</l><l>32</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="beats"/><l>16</l></list></block><script><block s="doSetVar"><l>beats</l><l>16</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><l>0</l><block var="beats"/></list></block><script><block s="doSetVar"><l>beats</l><l>0</l></block></script></block><block s="doSetVar"><l>beats</l><block s="reportRound"><block s="reportVariadicProduct"><list><block s="reportQuotient"><l>60000</l><block s="getTempo"></block></block><block var="beats"/></list></block><comment w="242" collapsed="false">BPM = tempo&#xD;60 * 1000/BPM = BPMS beats per millisecond&#xD;beats&#xD;                            = Duration in ms = BPMS * number of beats&#xD;                        </comment></block></block><block s="doSetVar"><l>note</l><block s="reportRound"><block var="note"/></block></block><block s="doRun"><block s="reifyReporter"><autolambda><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/out/playnote/</l><block var="note"/><l>/</l><block var="beats"/></list></block></block></autolambda><list></list></block><list></list></block><block s="doWait"><block s="reportQuotient"><block var="beats"/><l>1000</l></block><comment w="205" collapsed="false">block for number of seconds</comment></block></script></block-definition><block-definition s="micro:bit Button %&apos;button&apos;" type="predicate" category="sensing"><header></header><code></code><translations>ko:micro:bit 버튼 _&#xD;de:micro:bit Knopf _&#xD;pt:micro:bit Tecla _&#xD;fr:micro:bit Bouton _&#xD;nl:micro:bit Knop _&#xD;zh_CN:micro:bit 按钮 _&#xD;zh_TW:micro:bit 按鈕 _&#xD;ar:micro:bit زر _&#xD;dk:micro:bit Knap _&#xD;he:micro:bit לחצן _&#xD;es:micro:bit Pulsador _&#xD;ca:micro:bit Botó _&#xD;fi:micro:bit Painike _&#xD;sv:micro:bit Knapp _&#xD;</translations><inputs><input type="%txt" readonly="true">A<options>A&#xD;B&#xD;Logo (V2)</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="button"/><l>Logo (V2)</l></list></block><script><block s="doSetVar"><l>button</l><l>Logo</l></block></script></block><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/in/button/</l><block var="button"/></list></block></block></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="result"/><l>true</l></list></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="result"/><l>false</l></list></block><block s="reportBoolean"><l><bool>false</bool></l></block><block var="result"/></block></block></block></script></block-definition><block-definition s="micro:bit V2 %&apos;sensor&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">Sound<options>Sound&#xD;Temperature (°C)</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="sensor"/><l>Temperature (°C)</l></list></block><script><block s="doSetVar"><l>sensor</l><l>Temperature</l></block></script></block><block s="doReport"><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/in/V2sensor/</l><block var="sensor"/></list></block></block></block></script></block-definition><block-definition s="Finch %&apos;dim&apos;" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">Beak Up<options>Beak Up&#xD;Beak Down&#xD;Tilt Left&#xD;Tilt Right&#xD;Level&#xD;Upside Down&#xD;Shake</options></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/in/finchOrientation/</l><block var="dim"/></list></block></block><l>true</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></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="Finch %&apos;device&apos; %&apos;dim&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">Accelerometer (m/s²)<options>Accelerometer (m/s²)&#xD;Magnetometer (µT)</options></input><input type="%txt" readonly="true">X<options>X&#xD;Y&#xD;Z</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="device"/><l>Accelerometer (m/s²)</l></list></block><script><block s="doSetVar"><l>device</l><l>finchAccel</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="device"/><l>Magnetometer (µT)</l></list></block><script><block s="doSetVar"><l>device</l><l>finchMag</l></block></script></block><block s="doReport"><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/in/</l><block var="device"/><l>/</l><block var="dim"/></list></block></block></block></script></block-definition><block-definition s="Finch Compass" type="reporter" category="sensing"><header></header><code></code><translations>ko:Finch 나침반 센서&#xD;de:Finch Kompass&#xD;pt:Finch Bússola&#xD;fr:Finch Compas&#xD;nl:Finch Kompas&#xD;zh_CN:Finch 指南针&#xD;zh_TW:Finch 指南針&#xD;ar:Finch بوصلة&#xD;dk:Finch Kompas&#xD;he:Finch מצפן&#xD;es:Finch Brujula&#xD;ca:Finch Brúixola&#xD;fi:Finch Kompassi&#xD;sv:Finch Kompass&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/in/</l><l>finchCompass/static</l></list></block></block></block></script></block-definition><block-definition s="stop all" type="command" category="control"><header></header><code></code><translations>ko:모두 멈추기&#xD;de:stoppe alles&#xD;pt:pare todos&#xD;fr:stop tout&#xD;nl:stop alle&#xD;zh_CN:停止 全部&#xD;zh_TW:停止 全部&#xD;ar:توقف الكل&#xD;dk:stop alle&#xD;he:להפסיק הכל&#xD;es:detener todo&#xD;ca:atura tot&#xD;fi:pysäytä kaikki&#xD;sv:stop allt&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/out/stopall</l></list></block></block></block></script></block-definition><block-definition s="Finch Move %&apos;direction&apos; %&apos;distance&apos; cm at %&apos;speed&apos; %" type="command" category="motion"><header></header><code></code><translations>ca:Finch Mou-te cap _ _ cm  a velocitat _ %&#xD;de:Finch Gehe _ _ cm mit _ %&#xD;es:Finch Mover hacia _ _ cm a velocidad _ %&#xD;fr:Finch Déplacer _ _ cm sur _ %&#xD;he:Finch זוז _ _ ס&apos;&apos;מ ב _ %&#xD;ko:Finch _ _ cm 로 움직이기 빠르기 _ %&#xD;nl:Finch Beweeg _ _ cm op _ %&#xD;pt:Finch Mova _ _ cm  a _ %&#xD;zh_CN:Finch 移动 _ _ cm 以 _ %&#xD;zh_TW:Finch 移動  _ _ 厘米在 _ %&#xD;</translations><inputs><input type="%txt" readonly="true">Forward<options>Forward&#xD;Backward</options></input><input type="%n">10</input><input type="%n">50</input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="distance"/><l>-10000</l></list></block><script><block s="doSetVar"><l>distance</l><l>-10000</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="distance"/><l>10000</l></list></block><script><block s="doSetVar"><l>distance</l><l>10000</l></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="speed"/><l>0</l></list></block><script><block s="doSetVar"><l>speed</l><l>0</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="speed"/><l>100</l></list></block><script><block s="doSetVar"><l>speed</l><l>100</l></block></script></block><block s="doDeclareVariables"><list><l>wasMoving</l><l>isMoving</l><l>commandSendTime</l></list></block><block s="doSetVar"><l>isMoving</l><block s="reportURL"><l>http://127.0.0.1:30061/hummingbird/in/finchIsMoving/static/</l></block></block><block s="doSetVar"><l>wasMoving</l><block var="isMoving"/></block><block s="doSetVar"><l>commandSendTime</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doRun"><block s="reifyReporter"><autolambda><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/out/move/A/</l><block var="direction"/><l>/</l><block var="distance"/><l>/</l><block var="speed"/></list></block></block></autolambda><list></list></block><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="wasMoving"/><l>true</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportDate"><l><option>time in milliseconds</option></l></block><block s="reportVariadicSum"><list><block var="commandSendTime"/><l>500</l></list></block></list></block></list></block><block s="reportVariadicEquals"><list><block var="isMoving"/><l>false</l></list></block></list></block><block s="reportVariadicEquals"><list><block var="isMoving"/><l>Not Connected</l></list></block></list></block><script><block s="doSetVar"><l>wasMoving</l><block var="isMoving"/></block><block s="doWait"><l>0.01</l></block><block s="doSetVar"><l>isMoving</l><block s="reportURL"><l>http://127.0.0.1:30061/hummingbird/in/finchIsMoving/static/</l></block></block></script></block><custom-block s="Finch Stop"><comment w="170" collapsed="true">Compensate for firmware bug</comment></custom-block><block s="doWait"><l>0.1</l></block></script></block-definition><block-definition s="Finch Turn %&apos;direction&apos; %&apos;angle&apos; ° at %&apos;speed&apos; %" type="command" category="motion"><header></header><code></code><translations>ca:Finch Gira cap a la _ _ ° a velocitat _ %&#xD;de:Finch Drehe _ _ ° mit _ %&#xD;es:Finch Girar hacia la _ _ ° a velocidad _ %&#xD;fr:Finch Tournez _ _ ° à _ %&#xD;he:Finch הסתובב _ _ מעלות ב _ %&#xD;ko:Finch _ _ ° 로 회전하기 빠르기 _ %&#xD;nl:Finch Draai _ _ ° op _ %&#xD;pt:Finch Gire _ _ ° a _ %&#xD;zh_CN:Finch 转动 _ _ ° 以 _ %&#xD;zh_TW:Finch 轉動 _ _ °在 _ %&#xD;</translations><inputs><input type="%txt" readonly="true">Right<options>Right&#xD;Left</options></input><input type="%n">90</input><input type="%n">50</input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="angle"/><l>-360000</l></list></block><script><block s="doSetVar"><l>angle</l><l>-360000</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="angle"/><l>360000</l></list></block><script><block s="doSetVar"><l>angle</l><l>360000</l></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="speed"/><l>0</l></list></block><script><block s="doSetVar"><l>speed</l><l>0</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="speed"/><l>100</l></list></block><script><block s="doSetVar"><l>speed</l><l>100</l></block></script></block><block s="doDeclareVariables"><list><l>wasMoving</l><l>isMoving</l><l>commandSendTime</l></list></block><block s="doSetVar"><l>isMoving</l><block s="reportURL"><l>http://127.0.0.1:30061/hummingbird/in/finchIsMoving/static/</l></block></block><block s="doSetVar"><l>wasMoving</l><block var="isMoving"/></block><block s="doSetVar"><l>commandSendTime</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doRun"><block s="reifyReporter"><autolambda><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/out/turn/A/</l><block var="direction"/><l>/</l><block var="angle"/><l>/</l><block var="speed"/></list></block></block></autolambda><list></list></block><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="wasMoving"/><l>true</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportDate"><l><option>time in milliseconds</option></l></block><block s="reportVariadicSum"><list><block var="commandSendTime"/><l>500</l></list></block></list></block></list></block><block s="reportVariadicEquals"><list><block var="isMoving"/><l>false</l></list></block></list></block><block s="reportVariadicEquals"><list><block var="isMoving"/><l>Not Connected</l></list></block></list></block><script><block s="doSetVar"><l>wasMoving</l><block var="isMoving"/></block><block s="doWait"><l>0.01</l></block><block s="doSetVar"><l>isMoving</l><block s="reportURL"><l>http://127.0.0.1:30061/hummingbird/in/finchIsMoving/static/</l></block></block></script></block><custom-block s="Finch Stop"><comment w="170" collapsed="true">Compensate for firmware bug</comment></custom-block><block s="doWait"><l>0.1</l></block></script></block-definition><block-definition s="Finch Wheels L %&apos;left&apos; % R %&apos;right&apos; %" type="command" category="motion"><header></header><code></code><translations>ca:Finch Posa les rodes a velocitat E _ % D _ %&#xD;de:Finch Räder L _ % R _ %&#xD;es:Finch Poner las ruedas a velocidad I _ % D _ %&#xD;fr:Finch Roues L _ % R _ %&#xD;he:Finch גלגלים שמאל _ % ימין _ %&#xD;ko:Finch 바퀴 왼쪽 _ % 오른쪽 _ %&#xD;nl:Finch Wielen L _ % R _ %&#xD;pt:Finch Rodas E _ % D _ %&#xD;zh_CN:Finch 左轮 _ % 右轮 _ %&#xD;zh_TW:Finch 車輪  左 _ % 右 _ %&#xD;</translations><inputs><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="left"/><l>-100</l></list></block><script><block s="doSetVar"><l>left</l><l>-100</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="left"/><l>100</l></list></block><script><block s="doSetVar"><l>left</l><l>100</l></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="right"/><l>-100</l></list></block><script><block s="doSetVar"><l>right</l><l>-100</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="right"/><l>100</l></list></block><script><block s="doSetVar"><l>right</l><l>100</l></block></script></block><block s="doDeclareVariables"><list><l>response</l></list><comment w="228" collapsed="true">Storing the url response in a variable forces the block to wait for a response before returning.</comment></block><block s="doSetVar"><l>response</l><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/out/wheels/A/</l><block var="left"/><l>/</l><block var="right"/></list></block></block></block></script></block-definition><block-definition s="Finch Stop" type="command" category="motion"><header></header><code></code><translations>ca:Finch Atura&#xD;de:Finch Stoppe&#xD;es:Finch Detener&#xD;fr:Finch Stop&#xD;he:Finch להפסיק&#xD;ko:Finch 멈추기&#xD;nl:Finch Stop&#xD;pt:Finch Pare&#xD;zh_CN:Finch 停止&#xD;zh_TW:Finch 停止&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>response</l></list><comment w="228" collapsed="true">Storing the url response in a variable forces the block to wait for a response before returning.</comment></block><block s="doSetVar"><l>response</l><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/out/stopFinch/A/</l></list></block></block></block></script></block-definition><block-definition s="Finch Beak R %&apos;redLED&apos; % G %&apos;greenLED&apos; % B %&apos;blueLED&apos; %" type="command" category="looks"><header></header><code></code><translations>ca:Finch Encén el bec de color R _ % G _ % B _ %&#xD;de:Finch Schnabel R _ % G _ % B _ %&#xD;es:Finch Encender el pico de color R _ % V _ % A _ %&#xD;fr:Finch Bec R _ % G _ % B _ %&#xD;he:Finch מקור אדום _ % ירוק _ % כחול _ %&#xD;ko:Finch 부리 빨강 _ % 초록 _ % 파랑 _ %&#xD;nl:Finch Bek R _ % G _ % B _ %&#xD;pt:Finch Bico R _ % G _ % B _ %&#xD;zh_CN:Finch 鸟喙 R _ % G _ % B _ %&#xD;zh_TW:Finch 鳥嘴 紅 _ % 綠 _ % 藍 _ %&#xD;</translations><inputs><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="redLED"/><l>0</l></list></block><script><block s="doSetVar"><l>redLED</l><l>0</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="redLED"/><l>100</l></list></block><script><block s="doSetVar"><l>redLED</l><l>100</l></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="greenLED"/><l>0</l></list></block><script><block s="doSetVar"><l>greenLED</l><l>0</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="greenLED"/><l>100</l></list></block><script><block s="doSetVar"><l>greenLED</l><l>100</l></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="blueLED"/><l>0</l></list></block><script><block s="doSetVar"><l>blueLED</l><l>0</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="blueLED"/><l>100</l></list></block><script><block s="doSetVar"><l>blueLED</l><l>100</l></block></script></block><block s="doSetVar"><l>redLED</l><block s="reportRound"><block s="reportVariadicProduct"><list><block var="redLED"/><l>2.55</l></list><comment w="90" collapsed="false">Scale factor 255/100</comment></block></block></block><block s="doSetVar"><l>blueLED</l><block s="reportRound"><block s="reportVariadicProduct"><list><block var="blueLED"/><l>2.55</l></list><comment w="90" collapsed="false">Scale factor 255/100</comment></block></block></block><block s="doSetVar"><l>greenLED</l><block s="reportRound"><block s="reportVariadicProduct"><list><block var="greenLED"/><l>2.55</l></list><comment w="90" collapsed="false">Scale factor 255/100</comment></block></block></block><block s="doDeclareVariables"><list><l>response</l></list><comment w="228" collapsed="true">Storing the url response in a variable forces the block to wait for a response before returning.</comment></block><block s="doSetVar"><l>response</l><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/out/triled/1/</l><block var="redLED"/><l>/</l><block var="greenLED"/><l>/</l><block var="blueLED"/></list></block></block></block></script></block-definition><block-definition s="Finch Tail %&apos;port&apos; R %&apos;redLED&apos; % G %&apos;greenLED&apos; % B %&apos;blueLED&apos; %" type="command" category="looks"><header></header><code></code><translations>ca:Finch Encén la cua de color _ R _ % G _ % B _ %&#xD;de:Finch Schwanz _ R _ % G _ % B _ %&#xD;es:Finch Encender la cola de color _ R _ % V _ % A _ %&#xD;fr:Finch Queue _ R _ % G _ % B _ %&#xD;he:Finch זנב _ אדום _ % ירוק _ % כחול _ %&#xD;ko:Finch 꼬리 _ 빨강 _ % 초록 _ % 파랑 _ %&#xD;nl:Finch Staart _ R _ % G _ % B _ %&#xD;pt:Finch Cauda _ R _ % G _ % B _ %&#xD;zh_CN:Finch 鸟尾 _ R _ % G _ % B _ %&#xD;zh_TW:Finch 尾巴 _ 紅 _ % 綠 _ % 藍 _ %&#xD;</translations><inputs><input type="%txt" readonly="true">all<options>all&#xD;1&#xD;2&#xD;3&#xD;4</options></input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="port"/><l>all</l></list></block></block><script><block s="doSetVar"><l>port</l><block s="reportVariadicSum"><list><block var="port"/><l>1</l></list></block></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="redLED"/><l>0</l></list></block><script><block s="doSetVar"><l>redLED</l><l>0</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="redLED"/><l>100</l></list></block><script><block s="doSetVar"><l>redLED</l><l>100</l></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="greenLED"/><l>0</l></list></block><script><block s="doSetVar"><l>greenLED</l><l>0</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="greenLED"/><l>100</l></list></block><script><block s="doSetVar"><l>greenLED</l><l>100</l></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="blueLED"/><l>0</l></list></block><script><block s="doSetVar"><l>blueLED</l><l>0</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="blueLED"/><l>100</l></list></block><script><block s="doSetVar"><l>blueLED</l><l>100</l></block></script></block><block s="doSetVar"><l>redLED</l><block s="reportRound"><block s="reportVariadicProduct"><list><block var="redLED"/><l>2.55</l></list><comment w="90" collapsed="false">Scale factor 255/100</comment></block></block></block><block s="doSetVar"><l>blueLED</l><block s="reportRound"><block s="reportVariadicProduct"><list><block var="blueLED"/><l>2.55</l></list><comment w="90" collapsed="false">Scale factor 255/100</comment></block></block></block><block s="doSetVar"><l>greenLED</l><block s="reportRound"><block s="reportVariadicProduct"><list><block var="greenLED"/><l>2.55</l></list><comment w="90" collapsed="false">Scale factor 255/100</comment></block></block></block><block s="doDeclareVariables"><list><l>response</l></list><comment w="228" collapsed="true">Storing the url response in a variable forces the block to wait for a response before returning.</comment></block><block s="doSetVar"><l>response</l><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/out/triled/</l><block var="port"/><l>/</l><block var="redLED"/><l>/</l><block var="greenLED"/><l>/</l><block var="blueLED"/></list></block></block></block></script></block-definition><block-definition s="micro:bit Print %&apos;string&apos;" type="command" category="looks"><header></header><code></code><translations>ko:micro:bit 출력 _&#xD;de:micro:bit Drucke _&#xD;pt:micro:bit Imprimir _&#xD;fr:micro:bit Imprimer _&#xD;nl:micro:bit Schrijf _&#xD;zh_CN:micro:bit 打印 _&#xD;zh_TW:micro:bit 打印 _&#xD;ar:micro:bit طباعة _&#xD;dk:micro:bit Vis _&#xD;he:micro:bit הדפס _&#xD;es:micro:bit Imprimir _&#xD;ca:micro:bit Escriu _&#xD;fi:micro:bit Näytä teksti _&#xD;sv:micro:bit Visa text _&#xD;</translations><inputs><input type="%txt">Hello</input></inputs><script><block s="doRun"><block s="reifyReporter"><autolambda><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/out/print/</l><block var="string"/></list></block></block></autolambda><list></list></block><list></list></block><block s="doWait"><block s="reportVariadicProduct"><list><block s="reportStringSize"><block var="string"/></block><l>0.6</l></list></block></block></script></block-definition><block-definition s="micro:bit Display $nl %&apos;11&apos; %&apos;12&apos; %&apos;13&apos; %&apos;14&apos; %&apos;15&apos; $nl %&apos;21&apos; %&apos;22&apos; %&apos;23&apos; %&apos;24&apos; %&apos;25&apos; $nl %&apos;31&apos; %&apos;32&apos; %&apos;33&apos; %&apos;34&apos; %&apos;35&apos; $nl %&apos;41&apos; %&apos;42&apos; %&apos;43&apos; %&apos;44&apos; %&apos;45&apos; $nl %&apos;51&apos; %&apos;52&apos; %&apos;53&apos; %&apos;54&apos; %&apos;55&apos;" type="command" category="looks"><header></header><code></code><translations>ko:micro:bit 보이기 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;de:micro:bit LED Anzeige _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;pt:micro:bit Visor _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;fr:micro:bit Display _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;nl:micro:bit Scherm _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;zh_CN:micro:bit 显示 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;zh_TW:micro:bit 顯示 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;ar:micro:bit عرض _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;dk:micro:bit Display _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;he:micro:bit מסך _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;es:micro:bit Monitor _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;ca:micro:bit Pantalla _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;fi:micro:bit Näytä _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;sv:micro:bit Skärm _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;</translations><inputs><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input></inputs><script><block s="doDeclareVariables"><list><l>response</l></list><comment w="228" collapsed="true">Storing the url response in a variable forces the block to wait for a response before returning.</comment></block><block s="doSetVar"><l>response</l><block s="reportURL"><block s="reportJoinWords"><list><l>http://127.0.0.1:30061/hummingbird/out/symbol/A/</l><block var="11"/><l>/</l><block var="12"/><l>/</l><block var="13"/><l>/</l><block var="14"/><l>/</l><block var="15"/><l>/</l><block var="21"/><l>/</l><block var="22"/><l>/</l><block var="23"/><l>/</l><block var="24"/><l>/</l><block var="25"/><l>/</l><block var="31"/><l>/</l><block var="32"/><l>/</l><block var="33"/><l>/</l><block var="34"/><l>/</l><block var="35"/><l>/</l><block var="41"/><l>/</l><block var="42"/><l>/</l><block var="43"/><l>/</l><block var="44"/><l>/</l><block var="45"/><l>/</l><block var="51"/><l>/</l><block var="52"/><l>/</l><block var="53"/><l>/</l><block var="54"/><l>/</l><block var="55"/></list></block></block></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="1261"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="1262"></list></costumes><sounds><list struct="atomic" id="1263"></list></sounds><variables></variables><blocks></blocks><scripts><script x="181" y="13"><block s="receiveGo"></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/bbtSnapExtension.js</l></list></block></script><script x="26" y="11.333333333333343"><block s="receiveInteraction"><l><option>stopped</option></l></block><custom-block s="stop all"></custom-block></script></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="0" y="2.842170943040401e-14" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="1277"><costumes><list struct="atomic" id="1278"></list></costumes><sounds><list struct="atomic" id="1279"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="143.3571428571427"><block s="receiveKey"><l><option>space</option></l><list></list></block><custom-block s="Predict"><comment w="178" collapsed="false">When you run this the first time, it will take a minute to start predicting. Press x to stop predicting. </comment></custom-block></script><script x="32.30952380952382" y="258.8809523809522"><block s="receiveKey"><l><option>space</option></l><list></list></block><block s="doUntil"><block s="reportKeyPressed"><l><option>x</option></l></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="Prediction"/></block><l>.9</l></list></block><script><custom-block s="Finch Beak R %n % G %n % B %n %"><l>0</l><l>100</l><l>0</l></custom-block></script><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>2</l><block var="Prediction"/></block><l>.9</l></list></block><script><custom-block s="Finch Beak R %n % G %n % B %n %"><l>0</l><l>0</l><l>100</l></custom-block></script><script><custom-block s="Finch Beak R %n % G %n % B %n %"><l>0</l><l>0</l><l>0</l></custom-block></script></block></script></block></script></block></script><script x="25.714285714285705" y="40.33333333333329"><block s="doSetVar"><l>URL</l><l>EDIT ME</l><comment w="90" collapsed="false">Click on this stack when you open the project.</comment></block><block s="doReport"><custom-block s="Load Model %s"><block var="URL"/></custom-block></block></script></scripts></sprite><watcher var="URL" style="normal" x="10" y="10" color="243,118,29"/><watcher var="PredictionTable" style="normal" x="9" y="43" color="243,118,29" extX="175.5615234375" extY="115"/><watcher var="Prediction" style="normal" x="13" y="187.00000000000003" color="243,118,29" extX="80" extY="69.99999999999997"/></sprites></stage><variables><variable name="URL"><l>EDIT ME</l></variable><variable name="PredictionTable"><list id="1349"><item><list struct="atomic" id="1350">Class 1,0</list></item><item><list struct="atomic" id="1351">Class 2,0</list></item><item><list struct="atomic" id="1352">Class 3,0</list></item></list></variable><variable name="Prediction"><list struct="atomic" id="1353">0,0,0</list></variable></variables></scene></scenes></project><media name="MachineLearningPoseFinch" app="Snap! 8.2, https://snap.berkeley.edu" version="2"></media></snapdata>