<snapdata remixID="9433673"><project name="dont touch your face go girl version 4" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes>This illustrates a use of a deep learning model called PoseNet. It defines blocks for obtaining up to 17 locations on one or more people (nose, elbow, knee, etc.). This program tracks the eyes, nose, and wrists and mirrors their movements. If a hand comes close to the face a warning is issued.</notes><thumbnail>data:image/png;base64,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</thumbnail><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" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="right wrist" idx="6" x="0" y="-360" heading="90" scale="0.3075" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="0,145.35,5.8140000000000045,1" pen="tip" id="8"><costumes><list id="9"><item><costume name="Untitled" center-x="39" center-y="33" image="data:image/png;base64,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" id="10"/></item></list></costumes><sounds><list struct="atomic" id="11"></list></sounds><blocks></blocks><variables><variable name="pose property number"><l>22</l></variable></variables><scripts><script x="14.285714285714286" y="7.142857142857143"><block s="receiveMessage"><l>follow pose</l></block><custom-block s="Follow pose %l and adjust y by %n"><block var="pose"/><custom-block s="distance between the eyes in %l"><block var="pose"/></custom-block></custom-block></script><comment x="13.571428571428573" y="81.00000000000003" w="347.8571428571429" collapsed="false">Adjust y by a guess at the distance from the wrist to the center of the hand. Guessing that that is about the same as the distance between the eyes.</comment></scripts></sprite><sprite name="right eye" idx="4" x="-61" y="-2" heading="90" scale="0.3075" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="0,145.35,5.8140000000000045,1" pen="tip" id="22"><costumes><list id="23"><item><costume name="Untitled" center-x="72" center-y="30.5" image="data:image/png;base64,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" id="24"/></item></list></costumes><sounds><list struct="atomic" id="25"></list></sounds><blocks></blocks><variables><variable name="pose property number"><l>6</l></variable></variables><scripts><script x="14.285714285714286" y="7.142857142857143"><block s="receiveMessage"><l>follow pose</l></block><custom-block s="Follow pose %l and adjust y by %n"><block var="pose"/><l>0</l></custom-block></script></scripts></sprite><sprite name="left wrist" idx="5" x="0" y="-360" heading="90" scale="0.3075" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="0,145.35,5.8140000000000045,1" pen="tip" id="34"><costumes><list id="35"><item><costume name="Untitled" center-x="39" center-y="33.5" image="data:image/png;base64,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" id="36"/></item></list></costumes><sounds><list struct="atomic" id="37"></list></sounds><blocks></blocks><variables><variable name="pose property number"><l>20</l></variable></variables><scripts><script x="21.42857142857143" y="21.42857142857143"><block s="receiveMessage"><l>follow pose</l></block><custom-block s="Follow pose %l and adjust y by %n"><block var="pose"/><custom-block s="distance between the eyes in %l"><block var="pose"/></custom-block></custom-block></script><comment x="23.571428571428573" y="97.85714285714286" w="341.42857142857144" collapsed="false">Adjust y by a guess at the distance from the wrist to the center of the hand. Guessing that that is about the same as the distance between the eyes.</comment></scripts></sprite><sprite name="left eye" idx="3" x="-20" y="-3" heading="90" scale="0.3075" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="0,145.35,5.8140000000000045,1" pen="tip" id="48"><costumes><list id="49"><item><costume name="Untitled" center-x="72" center-y="30.5" image="data:image/png;base64,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" id="50"/></item></list></costumes><sounds><list struct="atomic" id="51"></list></sounds><blocks></blocks><variables><variable name="pose property number"><l>4</l></variable></variables><scripts><script x="14.285714285714286" y="7.142857142857143"><block s="receiveMessage"><l>follow pose</l></block><custom-block s="Follow pose %l and adjust y by %n"><block var="pose"/><l>0</l></custom-block></script></scripts></sprite><sprite name="nose" idx="2" x="-38" y="-24" heading="90" scale="0.3075" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="0,145.35,5.8140000000000045,1" pen="tip" id="60"><costumes><list id="61"><item><costume name="Untitled" center-x="38" center-y="65" image="data:image/png;base64,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" id="62"/></item></list></costumes><sounds><list struct="atomic" id="63"></list></sounds><blocks><block-definition s="location" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportShown"></block><script><block s="doReport"><block s="reportNewList"><list><block s="xPosition"></block><block s="yPosition"></block></list></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition></blocks><variables></variables><scripts><script x="15.714285714285715" y="20"><block s="receiveMessage"><l>follow pose</l></block><custom-block s="Follow pose %l and adjust y by %n"><block var="pose"/><l>0</l><comment w="242.14285714285717" collapsed="false">if confidence in the pose is above the threshold moves this sprite to the location of the pose element.</comment></custom-block></script></scripts></sprite><sprite name="App" idx="1" x="1.0410094637222755" y="-0.09463722397470065" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="94"><costumes><list id="95"><item><costume name="Untitled" center-x="17" center-y="-1" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAHCAYAAAAvZezQAAAAQklEQVQYV2P8//+/MgMDQz8DBBQy/v//v5aBgaEJKlAHEmhgYGCohwo0EieQyMDAMA+qJYkRxPj//785iGZkZDwJAI1wHnfhxUFJAAAAAElFTkSuQmCC" id="96"/></item></list></costumes><sounds><list struct="atomic" id="97"></list></sounds><blocks><block-definition s="distance between %&apos;A&apos; and %&apos;B&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="247.14285714285717" collapsed="false">Reports the distance between two pose elements if they are visible. Otherwise a big number is reported.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><custom-block s="let %upvar be %s"><l>location of A</l><block s="reportAskFor"><block var="A"/><block s="reifyReporter"><autolambda><custom-block s="location if visible"></custom-block></autolambda><list></list></block><list></list></block></custom-block><custom-block s="let %upvar be %s"><l>location of B</l><block s="reportAskFor"><block var="B"/><block s="reifyReporter"><autolambda><custom-block s="location if visible"></custom-block></autolambda><list></list></block><list></list></block></custom-block><block s="doIfElse"><block s="reportOr"><block s="reportEquals"><block var="location of A"/><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="reportEquals"><block var="location of B"/><block s="reportBoolean"><l><bool>false</bool></l></block></block></block><script><block s="doReport"><l>999</l><comment w="333.5714285714286" collapsed="true">If not visible then report a number larger than any true distance.</comment></block></script><script><block s="doReport"><block s="reportRound"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportSum"><block s="reportPower"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="location of A"/></block><block s="reportListItem"><l>1</l><block var="location of B"/></block></block><l>2</l></block><block s="reportPower"><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="location of A"/></block><block s="reportListItem"><l>2</l><block var="location of B"/></block></block><l>2</l></block></block></block></block></block></script></block></script></block-definition></blocks><variables></variables><scripts><script x="17.689034598214366" y="7.142857142857143"><block s="receiveGo"></block><block s="bubble"><l>Once everything has loaded you should see your eyes, wrists, and nose moving.</l></block><custom-block s="let %upvar be %s"><l>touching the face now</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><custom-block s="let %upvar be %s"><l>number of warnings</l><l>0</l></custom-block><block s="doResetTimer"></block><block s="doForever"><script><custom-block s="let %upvar be %s"><l>poses</l><custom-block s="poses of costume %s"><custom-block s="costume from camera %b mirrored"><l><bool>true</bool></l></custom-block></custom-block></custom-block><block s="doIfElse"><block s="reportGreaterThan"><block s="reportListLength"><block var="poses"/></block><l>0</l></block><script><block s="doSetVar"><l>pose</l><block s="reportListItem"><l>1</l><block var="poses"/><comment w="449.285714285714" collapsed="true">&apos;poses&apos; can report poses of each person in front of the camera. We only want one.</comment></block></block><block s="doBroadcastAndWait"><l>follow pose</l><comment w="340" collapsed="true">Tell the nose, eye, and wrist sprites to move to the new pose.</comment></block><block s="doSetVar"><l>left wrist to left eye</l><custom-block s="distance between %txt and %txt" scope="local"><l>left wrist</l><l>left eye</l></custom-block><comment w="357.14285714285717" collapsed="true">Compute the distances between each hand and the eyes and nose.</comment></block><block s="doSetVar"><l>left wrist to right eye</l><custom-block s="distance between %txt and %txt" scope="local"><l>left wrist</l><l>right eye</l></custom-block></block><block s="doSetVar"><l>left wrist to nose</l><custom-block s="distance between %txt and %txt" scope="local"><l>left wrist</l><l>nose</l></custom-block></block><block s="doSetVar"><l>right wrist to left eye</l><custom-block s="distance between %txt and %txt" scope="local"><l>right wrist</l><l>left eye</l></custom-block></block><block s="doSetVar"><l>right wrist to right eye</l><custom-block s="distance between %txt and %txt" scope="local"><l>right wrist</l><l>right eye</l></custom-block></block><block s="doSetVar"><l>right wrist to nose</l><custom-block s="distance between %txt and %txt" scope="local"><l>right wrist</l><l>nose</l></custom-block></block><block s="doSetVar"><l>shortest distance between a wrist and an eye or nose</l><custom-block s="smallest element %l"><block s="reportNewList"><list><block var="left wrist to left eye"/><block var="left wrist to nose"/><block var="left wrist to right eye"/><block var="right wrist to left eye"/><block var="right wrist to right eye"/><block var="right wrist to right eye"/></list></block></custom-block><comment w="240.00000000000003" collapsed="true">Find the shortest distance from a hand. </comment></block><block s="doIfElse"><block s="reportLessThan"><block var="shortest distance between a wrist and an eye or nose"/><block s="reportProduct"><custom-block s="distance between the eyes in %l"><block var="pose"/></custom-block><l>2</l></block><comment w="320.71428571428567" collapsed="true">You can decide what is too close and how to react.</comment></block><script><block s="doIfElse"><block s="reportLessThan"><block s="getTimer"></block><l>5</l></block><script><block s="bubble"><block s="reportJoinWords"><list><l>Stop touching your face! It has been </l><block s="getTimer"></block><l> seconds.</l></list></block></block></script><script><block s="bubble"><block s="reportJoinWords"><list><l>It has been way to long! It has been </l><block s="getTimer"></block><l> seconds.</l></list></block></block></script></block><block s="doIf"><block s="reportNot"><block var="touching the face now"/></block><script><block s="doSetVar"><l>touching the face now</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doChangeVar"><l>number of warnings</l><l>1</l></block><custom-block s="Speak %txt"><block s="reportJoinWords"><list><l>You have touched your face </l><block s="reportIfElse"><block s="reportGreaterThan"><block var="number of warnings"/><l>1</l></block><block s="reportJoinWords"><list><block var="number of warnings"/><l> times. Stop it!.</l></list></block><l>once.</l></block></list></block></custom-block></script></block></script><script><block s="doSetVar"><l>touching the face now</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="bubble"><l></l><comment w="273.5714285714286" collapsed="true">All is well. Remove any message being displayed.</comment></block><block s="doResetTimer"></block></script></block></script><script><block s="doSetVar"><l>touching the face now</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doResetTimer"></block><block s="bubble"><l></l><comment w="507.14285714285717" collapsed="true">No poses. Might be a temporary problem. Or no one is front of the camera. Or a camera isn&apos;t available.</comment></block></script></block></script></block></script><script x="31.974748883928736" y="1004.8571428571419"><block s="doSetVar"><l>confidence threshold</l><l>50</l><comment w="301.42857142857144" collapsed="true">Ignore pose locations that are less than 50% confident.</comment></block><block s="doSetVar"><l>distance threshold</l><l>100</l><comment w="367.14285714285717" collapsed="true">Only respond when a hand is closer than this distance to a nose or eye. </comment></block></script><script x="179.83189174107144" y="1103.999999999999"><custom-block s="Open support panel %txt"><l>posenet</l><comment w="185" collapsed="true">Click to open the interface panel.</comment></custom-block></script></scripts></sprite><sprite name="mouth" idx="7" x="-38" y="-65" heading="90" scale="0.205" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="244.79999999999998,29.375999999999998,0,1" pen="tip" id="376"><costumes><list id="377"><item><costume name="Untitled" center-x="117" center-y="24.5" image="data:image/png;base64,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" id="378"/></item></list></costumes><sounds><list struct="atomic" id="379"></list></sounds><blocks></blocks><variables></variables><scripts><script x="55.714285714285715" y="62.85714285714284"><block s="receiveMessage"><l>follow pose</l></block><block s="doGotoObject"><custom-block s="pose property %txt of %l using stage coordinates %b"><l>location of nose</l><block var="pose"/><l><bool>true</bool></l></custom-block></block><block s="changeYPosition"><block s="reportProduct"><custom-block s="distance between the eyes in %l"><block var="pose"/></custom-block><l>-1</l></block></block><block s="setScale"><block s="reportProduct"><custom-block s="distance between the eyes in %l"><block var="pose"/></custom-block><l>.5</l></block></block></script></scripts></sprite><watcher var="confidence threshold" style="normal" x="10" y="37.800002000000006" color="243,118,29" hidden="true"/><watcher var="pose" style="normal" x="10" y="65.600004" color="243,118,29" hidden="true"/><watcher var="right wrist to nose" style="normal" x="274" y="56.00001000000006" color="243,118,29" hidden="true"/><watcher var="right wrist to right eye" style="normal" x="248" y="28.200008000000025" color="243,118,29" hidden="true"/><watcher var="right wrist to left eye" style="normal" x="257" y="0.40000600000001896" color="243,118,29" hidden="true"/><watcher var="left wrist to nose" style="normal" x="1" y="-1.7999919999999747" color="243,118,29" hidden="true"/><watcher var="left wrist to left eye" style="normal" x="-2" y="27.40000600000002" color="243,118,29" hidden="true"/><watcher var="left wrist to right eye" style="normal" x="-2" y="54.200008000000025" color="243,118,29" hidden="true"/><watcher var="shortest distance between a wrist and an eye or nose" style="normal" x="5" y="5.400006000000019" color="243,118,29"/><watcher scope="left wrist" s="xPosition" style="normal" x="10" y="190.600006" color="74,108,212" hidden="true"/><watcher scope="Stage" s="reportMouseX" style="normal" x="10" y="218.40000800000007" color="4,148,220" hidden="true"/><watcher var="distance threshold" style="normal" x="10" y="246.20001000000002" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="location if visible" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportLessThan"><block s="getEffect"><l><option>ghost</option></l></block><l>90</l></block><script><block s="doReport"><block s="reportNewList"><list><block s="xPosition"></block><block s="yPosition"></block></list></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block><comment w="231.42857142857144" collapsed="true">If nearly transparent location can&apos;t be trusted.</comment></block></script></block></script></block-definition><block-definition s="smallest element %&apos;list&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><custom-block s="let %upvar be %s"><l>smallest</l><block s="reportMonadic"><l><option>10^</option></l><l>308</l></block></custom-block><block s="doForEach"><l>item</l><block var="list"/><script><block s="doIf"><block s="reportLessThan"><block var="item"/><block var="smallest"/></block><script><block s="doSetVar"><l>smallest</l><block var="item"/></block></script></block></script></block><block s="doReport"><block var="smallest"/></block></script></block-definition><block-definition s="Follow pose %&apos;pose&apos; and adjust y by %&apos;adjustment&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">0</input></inputs><script><custom-block s="let %upvar be %s"><l>confidence</l><custom-block s="pose property %txt of %l using stage coordinates %b"><block s="reportJoinWords"><list><l>confidence there is a </l><block s="reportGet"><l><option>name</option></l></block></list></block><block var="pose"/><l><bool>true</bool></l></custom-block></custom-block><block s="setEffect"><l><option>ghost</option></l><block s="reportDifference"><l>100</l><block var="confidence"/></block><comment w="152.85714285714286" collapsed="false">The fainter I look the less confident we are about the pose.</comment></block><block s="setScale"><block s="reportProduct"><custom-block s="distance between the eyes in %l"><block var="pose"/></custom-block><l>.75</l></block></block><block s="doIfElse"><block s="reportGreaterThan"><block var="confidence"/><block var="confidence threshold"/></block><script><block s="doGotoObject"><custom-block s="pose property %txt of %l using stage coordinates %b"><block s="reportJoinWords"><list><l>location of </l><block s="reportGet"><l><option>name</option></l></block></list></block><block var="pose"/><l><bool>true</bool></l></custom-block></block><block s="changeYPosition"><block var="adjustment"/></block></script><script><block s="gotoXY"><l>0</l><block s="reportProduct"><block s="reportAttributeOf"><l><option>bottom</option></l><l>Stage</l></block><l>2</l></block><comment w="214.2857142857144" collapsed="true">Not sure where it is so put it off screen.</comment></block></script></block></script></block-definition><block-definition s="distance between the eyes in %&apos;pose&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><custom-block s="let %upvar be %s"><l>right eye</l><custom-block s="pose property %s of %txt %txt from %l using stage coordinates %b"><l>location</l><l>right</l><l>eye</l><block var="pose"/><l><bool>true</bool></l></custom-block></custom-block><custom-block s="let %upvar be %s"><l>left eye</l><custom-block s="pose property %s of %txt %txt from %l using stage coordinates %b"><l>location</l><l>left</l><l>eye</l><block var="pose"/><l><bool>true</bool></l></custom-block></custom-block><block s="doIf"><block s="reportOr"><block s="reportLessThan"><custom-block s="pose property %s of %txt %txt from %l using stage coordinates %b"><l>confidence</l><l>left</l><l>eye</l><block var="pose"/><l><bool>true</bool></l></custom-block><l>50</l></block><block s="reportLessThan"><custom-block s="pose property %s of %txt %txt from %l using stage coordinates %b"><l>confidence</l><l>right</l><l>eye</l><block var="pose"/><l><bool>true</bool></l></custom-block><l>50</l></block></block><script><block s="doReport"><l>40</l></block></script><comment w="180.71428571428572" collapsed="false">Not sure if both eyes can be seen&#xD;so just guess how far apart they are.</comment></block><block s="doReport"><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="right eye"/></block><block s="reportListItem"><l>1</l><block var="left eye"/></block></block></block></block></script></block-definition><block-definition s="costume from camera %&apos;mirrored&apos; mirrored" type="reporter" category="looks"><comment x="0" y="0" w="207.14285714285717" collapsed="true">Reports a costume using the camera.</comment><header></header><code></code><translations></translations><inputs><input type="%b"></input></inputs><script><custom-block s="let %upvar be %s"><l>result</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><custom-block s="Create custoume from camera %b and pass it to %cmdRing"><block var="mirrored"/><block s="reifyScript"><script><block s="doSetVar"><l>result</l><block var="costume"/></block></script><list><l>costume</l></list></block></custom-block><block s="doWaitUntil"><block s="reportIsA"><block var="result"/><l><option>costume</option></l></block></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="Create custoume from camera %&apos;mirrored&apos; and pass it to %&apos;process costume&apos;" type="command" category="looks"><comment x="0" y="0" w="304" collapsed="false">Creates a costume from the video camera and passes it the &apos;process costume&apos; blocks.</comment><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%cmdRing"></input></inputs><script><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>costume_from_camera_version_2</l><list><block var="mirrored"/><block var="process costume"/></list></custom-block></script></block-definition><block-definition s="pose property %&apos;location or confidence&apos; of %&apos;left or right&apos; %&apos;body part&apos; from %&apos;pose&apos; using stage coordinates %&apos;stage coordinates&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="227.14285714285717" collapsed="false">This reports either the confidence that the body part is correctly identified as a number between 0 and 100 or the location of a body part as two numbers. If &apos;stage coordinates&apos; is true then the location matches the stage coordinates, otherwise it is between 0 and 100.</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>location&#xD;confidence</options></input><input type="%txt"><options>left&#xD;right&#xD;the&#xD;a</options></input><input type="%txt"><options>eye&#xD;ear&#xD;shoulder&#xD;elbow&#xD;wrist&#xD;hip&#xD;knee&#xD;ankle&#xD;nose&#xD;person</options></input><input type="%l"></input><input type="%b">true</input></inputs><script><block s="doIf"><block s="reportEquals"><block var="body part"/><l>person</l></block><script><block s="doReport"><custom-block s="pose property %txt of %l using stage coordinates %b"><l>confidence it is a person</l><block var="pose"/><l/></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><block var="body part"/><l>nose</l></block><script><block s="doIf"><block s="reportEquals"><block var="location or confidence"/><l>location</l></block><script><block s="doReport"><custom-block s="pose property %txt of %l using stage coordinates %b"><l>location of nose</l><block var="pose"/><block var="stage coordinates"/></custom-block></block></script></block><block s="doReport"><custom-block s="pose property %txt of %l using stage coordinates %b"><l>confidence there is a nose</l><block var="pose"/><block var="stage coordinates"/></custom-block></block></script><comment w="278.4285724285714" collapsed="true">Only the nose has no left or right versions.</comment></block><block s="doDeclareVariables"><list><l>property number</l></list><comment w="209.2857142857143" collapsed="false">Property numbers range from 0 to 34 to identify different information in a pose.</comment></block><block s="doSetVar"><l>property number</l><block s="reportProduct"><custom-block s="index of %s in %l"><block var="body part"/><block s="reportNewList"><list><l>eye</l><l>ear</l><l>shoulder</l><l>elbow</l><l>wrist</l><l>hip</l><l>knee</l><l>ankle</l></list></block></custom-block><l>4</l></block></block><block s="doIf"><block s="reportEquals"><block var="left or right"/><l>right</l></block><script><block s="doChangeVar"><l>property number</l><l>2</l></block></script></block><block s="doIf"><block s="reportEquals"><block var="location or confidence"/><l>confidence</l></block><script><block s="doChangeVar"><l>property number</l><l>-1</l></block></script></block><block s="doReport"><custom-block s="extract pose property %n from %l using stage coordinates %b"><block var="property number"/><block var="pose"/><block var="stage coordinates"/></custom-block></block></script></block-definition><block-definition s="extract pose property %&apos;property number&apos; from %&apos;pose&apos; using stage coordinates %&apos;stage coordinates&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input><input type="%b">true</input></inputs><script><block s="doIf"><block s="reportEquals"><block var="property number"/><l>0</l><comment w="239.2857142857143" collapsed="false">Confidence that there is a person at all.</comment></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="pose"/></block></block></block></script></block><block s="doDeclareVariables"><list><l>body part</l></list></block><block s="doSetVar"><l>body part</l><block s="reportListItem"><block s="reportRound"><block s="reportQuotient"><block var="property number"/><l>2</l></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="pose"/></block></block></block></block><block s="doIf"><block s="reportEquals"><block s="reportModulus"><block var="property number"/><l>2</l></block><l>1</l><comment w="162.14285714285717" collapsed="true">Confidence score</comment></block><script><block s="doReport"><block s="reportRound"><block s="reportProduct"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="body part"/></block></block><l>100</l></block></block></block></script></block><custom-block s="let %upvar be %s"><l>x</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block var="body part"/></block></block></block></block></custom-block><custom-block s="let %upvar be %s"><l>y</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block var="body part"/></block></block></block></block></custom-block><block s="doIf"><block var="stage coordinates"/><script><block s="doReport"><block s="reportNewList"><list><block s="reportRound"><block s="reportDifference"><block var="x"/><block s="reportAttributeOf"><l><option>right</option></l><l>Stage</l></block></block></block><block s="reportRound"><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block var="y"/></block></block></list></block></block></script></block><block s="doReport"><block s="reportNewList"><list><block s="reportRound"><block s="reportProduct"><block s="reportQuotient"><block var="x"/><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><l>100</l></block></block><block s="reportRound"><block s="reportProduct"><block s="reportQuotient"><block var="y"/><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block><l>100</l></block></block></list></block><comment w="206.42857142857144" collapsed="false">Coordinates adjusted to go from 0 to 100. </comment></block></script></block-definition><block-definition s="Open support panel %&apos;source&apos;" type="command" category="sensing"><comment x="0" y="0" w="170.71428571428572" collapsed="false">Open an interface page for different machine learning models.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">training using camera<options>training using camera&#xD;training using microphone&#xD;posenet&#xD;tensorflow.js</options></input></inputs><script><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>display_support_window</l><list><block var="source"/></list></custom-block></script></block-definition><block-definition s="index of %&apos;x&apos; in %&apos;list&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="list"/></custom-block><script><block s="doReport"><l>-9999999999</l></block></script></block><block s="doIf"><block s="reportEquals"><block var="x"/><block s="reportListItem"><l>1</l><block var="list"/></block></block><script><block s="doReport"><l>1</l></block></script></block><block s="doReport"><block s="reportSum"><custom-block s="index of %s in %l"><block var="x"/><block s="reportCDR"><block var="list"/></block></custom-block><l>1</l></block></block></script></block-definition><block-definition s="poses of costume %&apos;costume&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="312.14285714285717" collapsed="false">Reports a list of poses. Use &apos;pose property&apos; to get the locations of body parts and the confidences that the locations are correct.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="get the %txt of %l"><l>pose</l><l/></custom-block></autolambda><list></list></block><custom-block s="segmentations and poses of costume %s %br with options %l"><block var="costume"/><block s="reportNewList"><list><l>create poses</l><block s="reportBoolean"><l><bool>true</bool></l></block></list></block></custom-block></block></block></script></block-definition><block-definition s="segmentations and poses of costume %&apos;costume&apos; $nl with options %&apos;options&apos; $nl process response %&apos;process segmentations and poses&apos; $nl and if there is an error %&apos;process error&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input><input type="%cmdRing"></input><input type="%cmdRing"></input></inputs><script><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>segmentations_and_poses</l><list><block var="costume"/><block var="options"/><block var="process segmentations and poses"/><block var="process error"/></list></custom-block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations>de:ist _ leer?&#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="segmentations and poses of costume %&apos;costume&apos; $nl with options %&apos;options&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><custom-block s="let %upvar be %s"><l>response</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><custom-block s="segmentations and poses of costume %s %br with options %l %br process response %cmdRing %br and if there is an error %cmdRing"><block var="costume"/><block var="options"/><block s="reifyScript"><script><block s="doSetVar"><l>response</l><l></l></block></script><list></list></block><block s="reifyScript"><script><block s="bubble"><l></l></block></script><list></list></block></custom-block><block s="doWaitUntil"><block s="reportNot"><block s="reportEquals"><block var="response"/><block s="reportBoolean"><l><bool>false</bool></l></block></block></block></block><block s="doReport"><block var="response"/></block></script></block-definition><block-definition s="get the %&apos;key&apos; of %&apos;table&apos;" type="reporter" category="variables"><comment x="0" y="0" w="192.85714285714286" collapsed="false">Reports the value of the &apos;key&apos; in a table that is a list of pairs of keys and values.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportListItem"><l>1</l><l/></block><block var="key"/></block></autolambda><list></list></block><block var="table"/></block></block></block></script></block-definition><block-definition s="pose property %&apos;property name&apos; of %&apos;pose&apos; using stage coordinates %&apos;stage coordinates&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="235.00000000000003" collapsed="false">This reports either the confidence that the body part is correctly identified as a number between 0 and 100 or the location of a body part as two numbers. If &apos;stage coordinates&apos; is true then the location matches the stage coordinates, otherwise it is between 0 and 100.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true"><options>confidence it is a person&#xD;confidence there is a nose&#xD;location of nose&#xD;confidence there is a left eye&#xD;location of left eye&#xD;confidence there is a right eye&#xD;location of right eye&#xD;confidence there is a left ear&#xD;location of left ear&#xD;confidence there is a right ear&#xD;location of right ear&#xD;confidence there is a left shoulder&#xD;location of leff shoulder&#xD;confidence there is a right shoulder&#xD;location of right shoulder&#xD;confidence there is a left elbow&#xD;location of left elbow&#xD;confidence there is a right elbow&#xD;location of right elbow&#xD;confidence there is a left wrist&#xD;location of left wrist&#xD;confidence there is a right wrist&#xD;location of right wrist&#xD;confidence there is a left hip&#xD;location of left hip&#xD;confidence there is a right hip&#xD;location of right hip&#xD;confidence there is a left knee&#xD;location of left knee&#xD;confidence there is a right knee&#xD;location of right knee&#xD;confidence there is a left ankle&#xD;location of left ankle&#xD;confidence there is a right ankle&#xD;location of right ankle</options></input><input type="%l"></input><input type="%b">true</input></inputs><script><block s="doReport"><custom-block s="extract pose property %n from %l using stage coordinates %b"><custom-block s="property number of %txt"><block var="property name"/></custom-block><block var="pose"/><block var="stage coordinates"/></custom-block></block></script></block-definition><block-definition s="property number of %&apos;property&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>property_name</l></list><l>return [&#xD;"confidence it is a person",&#xD;"confidence there is a nose",&#xD;"location of nose",&#xD;"confidence there is a left eye",&#xD;"location of left eye",&#xD;"confidence there is a right eye",&#xD;"location of right eye",&#xD;"confidence there is a left ear",&#xD;"location of left ear",&#xD;"confidence there is a right ear",&#xD;"location of right ear",&#xD;"confidence there is a left shoulder",&#xD;"location of leff shoulder",&#xD;"confidence there is a right shoulder",&#xD;"location of right shoulder",&#xD;"confidence there is a left elbow",&#xD;"location of left elbow",&#xD;"confidence there is a right elbow",&#xD;"location of right elbow",&#xD;"confidence there is a left wrist",&#xD;"location of left wrist",&#xD;"confidence there is a right wrist",&#xD;"location of right wrist",&#xD;"confidence there is a left hip",&#xD;"location of left hip",&#xD;"confidence there is a right hip",&#xD;"location of right hip",&#xD;"confidence there is a left knee",&#xD;"location of left knee",&#xD;"confidence there is a right knee",&#xD;"location of right knee",&#xD;"confidence there is a left ankle",&#xD;"location of left ankle",&#xD;"confidence there is a right ankle",&#xD;"location of right ankle"&#xD;].indexOf(property_name)</l></block><list><block var="property"/></list></block></block></script></block-definition><block-definition s="Speak %&apos;message&apos; $nl using the MARY text-to-speech service $nl with voice %&apos;voice number&apos; $nl with volume %&apos;volume&apos; $nl when finished do %&apos;do when finished&apos; with the message $nl wait %&apos;wait&apos; before doing the next command" type="command" category="sound"><comment x="0" y="0" w="375" collapsed="false">Says message using &apos;voice number&apos;. &apos;Volume&apos; is between 0 and 1. If provided will run the blocks in &apos;do when finished&apos; when speech has completed. Will wait until the speaking is finished if &apos;wait&apos; is true.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%n"></input><input type="%n"></input><input type="%cmdRing"></input><input type="%b"></input></inputs><script><block s="doDeclareVariables"><list><l>finished</l></list></block><block s="doSetVar"><l>finished</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>speak_using_mary_tts</l><list><block var="message"/><block var="volume"/><block var="voice number"/><block s="reifyScript"><script><block s="doSetVar"><l>finished</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doRun"><block var="do when finished"/><list><l></l></list></block></script><list></list></block></list></custom-block><block s="doIf"><block var="wait"/><script><block s="doWaitUntil"><block var="finished"/></block></script></block></script></block-definition><block-definition s="Open help page" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>open_help_page</l><list><l></l></list></custom-block></script></block-definition><block-definition s="voice that matches %&apos;parts of name&apos;" type="reporter" category="sound"><comment x="0" y="0" w="482.85714285714295" collapsed="false">Reports the first voice number that matches all the arguments. If nothing matches tries to find a voice that matches the first argument.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><custom-block s="wait until voices load (if any)"></custom-block><block s="doReport"><custom-block s="call eCraft2Learn reporter %txt with %mult%s"><l>get_voice_number_matching</l><list><block var="parts of name"/></list></custom-block></block></script></block-definition><block-definition s="Speak %&apos;message&apos; $nl with pitch %&apos;pitch&apos; $nl with rate %&apos;rate&apos; $nl with voice %&apos;voice&apos; $nl with volume %&apos;volume&apos; $nl in language %&apos;language&apos; $nl when finished do %&apos;what to do when finished&apos; $nl wait %&apos;wait&apos; before doing the next command" type="command" category="sound"><comment x="0" y="0" w="280" collapsed="false">Speaks &apos;message&apos;. Optionally you can provide the pitch (a positive number), rate (a number between .1 and 2), voice (depends upon what voices are accessible from the browser - see &apos;get voices&apos;), volume (a positive number), and language code or name. And a script to run when finished, This command will wait until it is finished if wait is true.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%txt"></input><input type="%cmdRing"></input><input type="%b">false</input></inputs><script><custom-block s="wait until voices load (if any)"></custom-block><block s="doDeclareVariables"><list><l>finished</l></list></block><block s="doSetVar"><l>finished</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>speak</l><list><block var="message"/><block var="pitch"/><block var="rate"/><block var="voice"/><block var="volume"/><block var="language"/><block s="reifyScript"><script><block s="doSetVar"><l>finished</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doRun"><block var="what to do when finished"/><list><block var="response"/></list></block></script><list><l>response</l></list></block></list></custom-block><block s="doIf"><block var="wait"/><script><block s="doWaitUntil"><block var="finished"/></block></script></block></script></block-definition><block-definition s="voices loaded (if there are any)" type="reporter" category="sound"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>voices loaded</l></list></block><block s="doSetVar"><l>voices loaded</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="check for voices %cmdRing if no voices otherwise do %cmdRing"><block s="reifyScript"><script><block s="doSetVar"><l>voices loaded</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>voices loaded</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></custom-block><block s="doWaitUntil"><block var="voices loaded"/></block><block s="doReport"><block var="voices loaded"/></block></script></block-definition><block-definition s="check for voices %&apos;do if no voices&apos; if no voices otherwise do %&apos;do if voices&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%cmdRing"></input><input type="%cmdRing"></input></inputs><script><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>check_for_voices</l><list><block var="do if no voices"/><block var="do if voices"/></list></custom-block></script></block-definition><block-definition s="wait until voices load (if any)" type="command" category="sound"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWaitUntil"><custom-block s="voices loaded (if there are any)"></custom-block></block></script></block-definition><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing"><header></header><code></code><translations>pt:o valor da configuração _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;User&#xD;Presentation mode&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support&#xD;Visible palette</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    ide = stage.parentThatIsA(IDE_Morph),&#xD;    world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        return ide.projectNotes;&#xD;    case &apos;Project name&apos;:&#xD;        return ide.projectName;&#xD;    case &apos;User&apos;:&#xD;        return ide.cloud.username;&#xD;    case &apos;Presentation mode&apos;:&#xD;        return ide.isAppMode;&#xD;    case &apos;Language&apos;:&#xD;        return SnapTranslator.language;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        return SyntaxElementMorph.prototype.scale;&#xD;    case &apos;Stage size&apos;:&#xD;        return new List([StageMorph.prototype.dimensions.x,&#xD;                                   StageMorph.prototype.dimensions.y]);&#xD;    case &apos;Stage scale&apos;:&#xD;       return stage.scale;&#xD;    case &apos;Retina display support&apos;:&#xD;        return isRetinaEnabled();&#xD;    case &apos;Long form input dialog&apos;:&#xD;        return InputSlotDialogMorph.prototype.isLaunchingExpanded;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        return BlockLabelPlaceHolderMorph.prototype.plainLabel;&#xD;    case &apos;Input sliders&apos;:&#xD;        return MorphicPreferences.useSliderForInput;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        return ArgMorph.prototype.executeOnSliderEdit;&#xD;    case &apos;Clicking sound&apos;:&#xD;        return !!BlockMorph.prototype.snapSound;&#xD;    case &apos;Turbo mode&apos;:&#xD;        return stage.isFastTracked;&#xD;    case &apos;Flat design&apos;:&#xD;        return MorphicPreferences.isFlat;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        return world.keyboardReceiver instanceof ScriptFocusMorph;&#xD;    case &apos;Visible stepping&apos;:&#xD;        return Process.prototype.enableSingleStepping;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        return stage.isThreadSafe;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        return StageMorph.prototype.frameRate &gt; 0;&#xD;    case &apos;Flat line ends&apos;:&#xD;        return SpriteMorph.prototype.useFlatLineEnds;&#xD;    case &apos;Codification support&apos;:&#xD;        return StageMorph.prototype.enableCodeMapping;&#xD;    case &apos;Inheritance support&apos;:&#xD;        return StageMorph.prototype.enableInheritance;&#xD;    default: return which;&#xD;    case &apos;Visible palette&apos;:&#xD;        return ide.currentCategory;&#xD;}</l></block><list><block var="which"/></list></block></block></script></block-definition><block-definition s="Speak %&apos;message&apos; then %&apos;to do when finished speaking&apos;" type="command" category="sound"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%cmdRing"></input></inputs><script><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>speak_using_browser_voices_or_mary_tts</l><list><block var="message"/><block var="to do when finished speaking"/></list></custom-block></script></block-definition><block-definition s="Speak %&apos;message&apos;" type="command" category="sound"><comment x="0" y="0" w="331" collapsed="false">Use the browser&apos;s default voice or Mary TTS to speak the &apos;message&apos;.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>speak_using_browser_voices_or_mary_tts</l><list><block var="message"/><l></l></list></custom-block></script></block-definition><block-definition s="set default language to %&apos;language&apos;" type="command" category="sensing"><comment x="0" y="0" w="275.7142857142857" collapsed="false">Language to use for speech input and output only if no language or voice is specified. Should be lower case language code, then a hypen, then upper case dialect code. if no hypen is given then dialect code should be the same as the language code. E.g.as with  fr-FR or id-ID.&#xD;Visit Wikipedia IETF language tag for more information.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><custom-block s="run eCraft2Learn command %txt with %mult%s"><l>set_default_language</l><list><block var="language"/></list></custom-block></script></block-definition><block-definition s="call eCraft2Learn reporter %&apos;reporter name&apos; with %&apos;inputs&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>function_name</l><l>parameters</l><l>no_warning</l></list><l>if (typeof ecraft2learn === &apos;object&apos;) {&#xD;    return ecraft2learn.run(function_name, parameters);&#xD;}&#xD;if (!no_warning) {&#xD;    alert("Any eCraft2Learn command must be run before the " + function_name + " reporter.");&#xD;}&#xD;return 0;</l></block><list><block var="reporter name"/><block var="inputs"/></list></block></block></script></block-definition><block-definition s="run eCraft2Learn command %&apos;command name&apos; with %&apos;inputs&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%mult%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>function_name</l><l>parameters</l></list><l>if (typeof ecraft2learn === &apos;object&apos;) {&#xD;    ecraft2learn.run(function_name, parameters);&#xD;} else {&#xD;   var script = document.createElement("script");&#xD;   script.type = "text/javascript";&#xD;   script.addEventListener(&apos;error&apos;, function () {&#xD;          alert("Unable to load https://ecraft2learn.github.io/ai/ecraft2learn.js. Check your network connection.");&#xD;   });&#xD;   script.src = "https://ecraft2learn.github.io/ai/ecraft2learn.js";&#xD;   script.addEventListener(&apos;load&apos;, function () {&#xD;          ecraft2learn.run(function_name, parameters);&#xD;   });&#xD;   document.head.appendChild(script);&#xD;}&#xD;</l></block><list><block var="command name"/><block var="inputs"/></list></block></script></block-definition><block-definition s="let %&apos;var&apos; be %&apos;value&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>var</l><block var="value"/></block></script></block-definition><block-definition s="Speak %&apos;message&apos; and wait until finished" type="command" category="sound"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><custom-block s="let %upvar be %s"><l>finished</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><custom-block s="Speak %txt then %cmdRing"><block var="message"/><block s="reifyScript"><script><block s="doSetVar"><l>finished</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></custom-block><block s="doWaitUntil"><block var="finished"/></block></script></block-definition></blocks><variables><variable name="confidence threshold"><l>50</l></variable><variable name="pose"><list id="1280"><item><list struct="atomic" id="1281">score,0.4951639798545169</list></item><item><list id="1282"><item><l>keypoints</l></item><item><list id="1283"><item><list id="1284"><item><list struct="atomic" id="1285">score,0.9971795082092285</list></item><item><list struct="atomic" id="1286">part,nose</list></item><item><list id="1287"><item><l>position</l></item><item><list id="1288"><item><list struct="atomic" id="1289">x,201.94491085052493</list></item><item><list struct="atomic" id="1290">y,203.53854919812693</list></item></list></item></list></item></list></item><item><list id="1291"><item><list struct="atomic" id="1292">score,0.9905113577842712</list></item><item><list struct="atomic" id="1293">part,leftEye</list></item><item><list id="1294"><item><l>position</l></item><item><list id="1295"><item><list struct="atomic" id="1296">x,219.9539476013184</list></item><item><list struct="atomic" id="1297">y,183.40695375241106</list></item></list></item></list></item></list></item><item><list id="1298"><item><list struct="atomic" id="1299">score,0.9989625215530396</list></item><item><list struct="atomic" id="1300">part,rightEye</list></item><item><list id="1301"><item><l>position</l></item><item><list id="1302"><item><list struct="atomic" id="1303">x,179.12119354248048</list></item><item><list struct="atomic" id="1304">y,182.05792776546122</list></item></list></item></list></item></list></item><item><list id="1305"><item><list struct="atomic" id="1306">score,0.8017976880073547</list></item><item><list struct="atomic" id="1307">part,leftEar</list></item><item><list id="1308"><item><l>position</l></item><item><list id="1309"><item><list struct="atomic" id="1310">x,239.74338317871096</list></item><item><list struct="atomic" id="1311">y,190.67048398604302</list></item></list></item></list></item></list></item><item><list id="1312"><item><list struct="atomic" id="1313">score,0.9905363917350769</list></item><item><list struct="atomic" id="1314">part,rightEar</list></item><item><list id="1315"><item><l>position</l></item><item><list id="1316"><item><list struct="atomic" id="1317">x,144.8780877685547</list></item><item><list struct="atomic" id="1318">y,191.2533500623999</list></item></list></item></list></item></list></item><item><list id="1319"><item><list struct="atomic" id="1320">score,0.9941909909248352</list></item><item><list struct="atomic" id="1321">part,leftShoulder</list></item><item><list id="1322"><item><l>position</l></item><item><list id="1323"><item><list struct="atomic" id="1324">x,272.86192476272583</list></item><item><list struct="atomic" id="1325">y,292.47411858221017</list></item></list></item></list></item></list></item><item><list id="1326"><item><list struct="atomic" id="1327">score,0.998615026473999</list></item><item><list struct="atomic" id="1328">part,rightShoulder</list></item><item><list id="1329"><item><l>position</l></item><item><list id="1330"><item><list struct="atomic" id="1331">x,81.22584747314454</list></item><item><list struct="atomic" id="1332">y,283.02033418453993</list></item></list></item></list></item></list></item><item><list id="1333"><item><list struct="atomic" id="1334">score,0.6627267599105835</list></item><item><list struct="atomic" id="1335">part,leftElbow</list></item><item><list id="1336"><item><l>position</l></item><item><list id="1337"><item><list struct="atomic" id="1338">x,327.59291748046877</list></item><item><list struct="atomic" id="1339">y,389.04568500400325</list></item></list></item></list></item></list></item><item><list id="1340"><item><list struct="atomic" id="1341">score,0.7136573195457458</list></item><item><list struct="atomic" id="1342">part,rightElbow</list></item><item><list id="1343"><item><l>position</l></item><item><list id="1344"><item><list struct="atomic" id="1345">x,29.815192565917975</list></item><item><list struct="atomic" id="1346">y,390.9265776450589</list></item></list></item></list></item></list></item><item><list id="1347"><item><list struct="atomic" id="1348">score,0.03175642341375351</list></item><item><list struct="atomic" id="1349">part,leftWrist</list></item><item><list id="1350"><item><l>position</l></item><item><list id="1351"><item><list struct="atomic" id="1352">x,288.71770675659184</list></item><item><list struct="atomic" id="1353">y,409.85939452366796</list></item></list></item></list></item></list></item><item><list id="1354"><item><list struct="atomic" id="1355">score,0.12569627165794373</list></item><item><list struct="atomic" id="1356">part,rightWrist</list></item><item><list id="1357"><item><l>position</l></item><item><list id="1358"><item><list struct="atomic" id="1359">x,55.86678134918213</list></item><item><list struct="atomic" id="1360">y,405.36766668284156</list></item></list></item></list></item></list></item><item><list id="1361"><item><list struct="atomic" id="1362">score,0.015273145399987698</list></item><item><list struct="atomic" id="1363">part,leftHip</list></item><item><list id="1364"><item><l>position</l></item><item><list id="1365"><item><list struct="atomic" id="1366">x,266.7977342987061</list></item><item><list struct="atomic" id="1367">y,402.31733570928156</list></item></list></item></list></item></list></item><item><list id="1368"><item><list struct="atomic" id="1369">score,0.07542089372873306</list></item><item><list struct="atomic" id="1370">part,rightHip</list></item><item><list id="1371"><item><l>position</l></item><item><list id="1372"><item><list struct="atomic" id="1373">x,107.19598419189454</list></item><item><list struct="atomic" id="1374">y,401.75297707504365</list></item></list></item></list></item></list></item><item><list id="1375"><item><list struct="atomic" id="1376">score,0.004885857459157705</list></item><item><list struct="atomic" id="1377">part,leftKnee</list></item><item><list id="1378"><item><l>position</l></item><item><list id="1379"><item><list struct="atomic" id="1380">x,288.81858062744146</list></item><item><list struct="atomic" id="1381">y,389.5082814945197</list></item></list></item></list></item></list></item><item><list id="1382"><item><list struct="atomic" id="1383">score,0.014529559761285782</list></item><item><list struct="atomic" id="1384">part,rightKnee</list></item><item><list id="1385"><item><l>position</l></item><item><list id="1386"><item><list struct="atomic" id="1387">x,56.39195678710938</list></item><item><list struct="atomic" id="1388">y,391.6806146372919</list></item></list></item></list></item></list></item><item><list id="1389"><item><list struct="atomic" id="1390">score,0.0012249653227627277</list></item><item><list struct="atomic" id="1391">part,leftAnkle</list></item><item><list id="1392"><item><l>position</l></item><item><list id="1393"><item><list struct="atomic" id="1394">x,283.43437622070314</list></item><item><list struct="atomic" id="1395">y,390.82518228092545</list></item></list></item></list></item></list></item><item><list id="1396"><item><list struct="atomic" id="1397">score,0.0008229766390286386</list></item><item><list struct="atomic" id="1398">part,rightAnkle</list></item><item><list id="1399"><item><l>position</l></item><item><list id="1400"><item><list struct="atomic" id="1401">x,61.13269733428956</list></item><item><list struct="atomic" id="1402">y,394.3139321463448</list></item></list></item></list></item></list></item></list></item></list></item></list></variable><variable name="left wrist to nose"><l>999</l></variable><variable name="left wrist to left eye"><l>999</l></variable><variable name="left wrist to right eye"><l>999</l></variable><variable name="right wrist to left eye"><l>358</l></variable><variable name="right wrist to right eye"><l>363</l></variable><variable name="right wrist to nose"><l>338</l></variable><variable name="shortest distance between a wrist and an eye or nose"><l>360</l></variable><variable name="distance threshold"><l>100</l></variable></variables></project><media name="dont touch your face go girl version 4" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>