<snapdata remixID="9368387"><project name="Geo Joc - Plantilla" app="Snap! 5.4, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAACJUlEQVR4Xu3SwQkAIAADMd1/6AoucZ90gcKRu23HFIgKXACj8m5/AQBBSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt/5A4Lj3qhsHKpPAAAAAElFTkSuQmCC</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="false" 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><watcher s="xPosition" style="normal" x="12.008506944445344" y="301.41353151065977" color="74,108,212" hidden="true"/><watcher s="yPosition" style="normal" x="12.008506944445344" y="326.63139849569455" color="74,108,212" hidden="true"/><watcher var="monuments" style="normal" x="10.958333333333258" y="10.958333333333336" color="243,118,29" hidden="true"/><watcher var="monument" style="normal" x="17.533333333333303" y="21.91666885833333" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="$globe show current location" type="command" category="other"><header></header><code></code><translations>de:$globe zeige aktuellen Standort&#xD;pt:mostra a localização corrente do dispositivo no $globe&#xD;ca:$globe centra a la meva ubicació&#xD;</translations><inputs></inputs><script><custom-block s="set $globe to lon: %n lat: %n"><custom-block s="$globe current longitude"></custom-block><custom-block s="$globe current latitude"></custom-block></custom-block></script></block-definition><block-definition s="$globe zoom" type="reporter" category="other"><header></header><code></code><translations>de:$globe Zoom&#xD;pt:o zoom do $globe&#xD;ca:$globe zoom&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>stage</l></list><l>return stage.worldMap.zoom;</l></block><list><block s="reportGet"><l><option>stage</option></l></block></list></block></block></script></block-definition><block-definition s="set $globe zoom to %&apos;n&apos;" type="command" category="other"><header></header><code></code><translations>de:setze $globe Zoom auf _&#xD;pt:altera o zoom do $globe para _&#xD;ca:$globe fixa el zoom a _&#xD;</translations><inputs><input type="%n">10</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>stage</l><l>n</l></list><l>stage.worldMap.setZoom(n)</l></block><list><block s="reportGet"><l><option>stage</option></l></block><block var="n"/></list></block><custom-block s="update $globe"></custom-block></script></block-definition><block-definition s="$globe longitude of x %&apos;x&apos;" type="reporter" category="other"><header></header><code></code><translations>de:$globe Längengrad von x _&#xD;pt:a longitude no $globe da coordenada x _&#xD;ca:$globe longitud per a x _&#xD;</translations><inputs><input type="%n">0</input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>stage</l><l>x</l></list><l>return stage.worldMap.lonFromSnapX(x)</l></block><list><block s="reportGet"><l><option>stage</option></l></block><block var="x"/></list></block></block></script></block-definition><block-definition s="$globe latitude of y %&apos;y&apos;" type="reporter" category="other"><header></header><code></code><translations>de:$globe Breitengrad von y _&#xD;pt:a latitude no $globe da coordenada y _&#xD;ca:$globe latitud per a y _&#xD;</translations><inputs><input type="%n">0</input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>stage</l><l>y</l></list><l>return stage.worldMap.latFromSnapY(y)</l></block><list><block s="reportGet"><l><option>stage</option></l></block><block var="y"/></list></block></block></script></block-definition><block-definition s="set $globe to lon: %&apos;lon&apos; lat: %&apos;lat&apos;" type="command" category="other"><header></header><code></code><translations>de:setze $globe auf Länge: _ Breite: _&#xD;pt:altera a posição no $globe para (longitude: _ , latitude: _ )&#xD;ca:$globe centra a longitud: _ latitud: _&#xD;</translations><inputs><input type="%n">-122.257852</input><input type="%n">37.872099</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>stage</l><l>lat</l><l>lon</l></list><l>stage.worldMap.setView(lon, lat);</l></block><list><block s="reportGet"><l><option>stage</option></l></block><block var="lat"/><block var="lon"/></list></block><custom-block s="update $globe"></custom-block></script></block-definition><block-definition s="y of $globe latitude %&apos;lat&apos;" type="reporter" category="other"><header></header><code></code><translations>de:y von $globe Breitengrad _&#xD;pt:a coordenada y da latitude _ no $globe&#xD;ca:$globe y per a latitud _&#xD;</translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>stage</l><l>lat</l></list><l>return stage.worldMap.snapYfromLat(lat)</l></block><list><block s="reportGet"><l><option>stage</option></l></block><block var="lat"/></list></block></block></script></block-definition><block-definition s="x of $globe longitude %&apos;lng&apos;" type="reporter" category="other"><header></header><code></code><translations>de:x von $globe Längengrad _&#xD;pt:a coordenada x da longidude _ no $globe&#xD;ca:$globe x per a longitud _&#xD;</translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>stage</l><l>lng</l></list><l>return stage.worldMap.snapXfromLon(lng)</l></block><list><block s="reportGet"><l><option>stage</option></l></block><block var="lng"/></list></block></block></script></block-definition><block-definition s="change $globe by x: %&apos;x&apos; y: %&apos;y&apos; pixels" type="command" category="other"><header></header><code></code><translations>de:ändere $globe um x: _ y: _ Pixel&#xD;pt:desloca a posição do mapa de (x: _ , y: _ )&#xD;ca:$globe canvia la ubicació en x: _ y: _ píxels&#xD;</translations><inputs><input type="%n">10</input><input type="%n">10</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>stage</l><l>x</l><l>y</l></list><l>stage.worldMap.panBy(x, y)</l></block><list><block s="reportGet"><l><option>stage</option></l></block><block var="x"/><block var="y"/></list></block><custom-block s="update $globe"></custom-block></script></block-definition><block-definition s="$globe distance in km to %&apos;target&apos;" type="reporter" category="other"><header></header><code></code><translations>de:$globe Entfernung in km zu _&#xD;pt:a tua distância em km a _ no $globo&#xD;ca:$globe distància en km fins a _&#xD;</translations><inputs><input type="%s" readonly="true"><options>§_objectsMenu</options></input></inputs><script><block s="doDeclareVariables"><list><l>trg</l></list></block><block s="doSetVar"><l>trg</l><block s="reportObject"><block var="target"/></block></block><block s="doIf"><block s="reportNot"><block s="reportAnd"><block s="reportIsA"><block s="reportGet"><l><option>self</option></l></block><l><option>sprite</option></l></block><block s="reportIsA"><block var="trg"/><l><option>sprite</option></l></block></block></block><script><block s="doReport"><l>-1</l></block></script></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>stage</l><l>lat1</l><l>lng1</l><l>lat2</l><l>lng2</l></list><l>return stage.worldMap.distanceInKm(lat1, lng1, lat2, lng2)</l></block><list><block s="reportGet"><l><option>stage</option></l></block><custom-block s="$globe latitude of y %n"><block s="yPosition"></block></custom-block><custom-block s="$globe longitude of x %n"><block s="xPosition"></block></custom-block><custom-block s="$globe latitude of y %n"><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></custom-block><custom-block s="$globe longitude of x %n"><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></custom-block></list></block></block></script></block-definition><block-definition s="$globe current location" type="reporter" category="other"><header></header><code></code><translations>de:$globe aktuelle Position&#xD;pt:a localização corrente do dispositivo no $globe&#xD;ca:$globe ubicació actual&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var crd = new List(),&#xD;    myself = this,&#xD;    options = {&#xD;      enableHighAccuracy: true,&#xD;      timeout: 5000,&#xD;      maximumAge: 0&#xD;    };&#xD;&#xD;function success(pos) {&#xD;  crd = new List([&#xD;    pos.coords.latitude,&#xD;    pos.coords.longitude&#xD;  ]);&#xD;}&#xD;&#xD;function error(err) {&#xD;  crd = new List([37.872099, -122.257852]);&#xD;  myself.inform(&apos;Warning:\nGeolocation failed.&apos;);&#xD;}&#xD;&#xD;navigator.geolocation.getCurrentPosition(&#xD;  success,&#xD;  error,&#xD;  options&#xD;);&#xD;&#xD;return function () {return crd; }</l></block><list></list></block></block><block s="doWaitUntil"><block s="reportEquals"><block s="reportListLength"><block s="evaluate"><block var="test"/><list></list></block></block><l>2</l></block></block><block s="doReport"><block s="evaluate"><block var="test"/><list></list></block></block></script></block-definition><block-definition s="$globe current latitude" type="reporter" category="other"><header></header><code></code><translations>de:$globe aktueller Breitengrad&#xD;pt:a latitude corrente do dispositivo no $globe&#xD;ca:$globe latitud actual&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><custom-block s="$globe current location"></custom-block></block></block></script></block-definition><block-definition s="$globe current longitude" type="reporter" category="other"><header></header><code></code><translations>de:$globe aktueller Längengrad&#xD;pt:a longitude corrente do dispositivo no $globe&#xD;ca:$globe longitud actual&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="$globe current location"></custom-block></block></block></script></block-definition><block-definition s="update $globe" type="command" category="other"><header></header><code></code><translations>de:aktualisiere $globe&#xD;pt:actualiza o $globe&#xD;ca:$globe força refresc&#xD;</translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>stage</l></list><l>stage.worldMap.extent = stage.dimensions;&#xD;stage.worldMap.render()</l></block><list><block s="reportGet"><l><option>stage</option></l></block></list></block><block s="doTellTo"><block s="reportGet"><l><option>stage</option></l></block><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="$globe as costume"></custom-block></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="$globe as costume" type="reporter" category="other"><header></header><code></code><translations>de:$globe als Kostüm&#xD;pt:a parte visível do $globe na forma de traje&#xD;ca:$globe vestit del mapa actual&#xD;</translations><inputs></inputs><script><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list><l>stage</l></list><l>return !stage.worldMap.loading</l></block><list><block s="reportGet"><l><option>stage</option></l></block></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>stage</l></list><l>return new Costume(stage.worldMap.canvas, &apos;map&apos;)</l></block><list><block s="reportGet"><l><option>stage</option></l></block></list></block></block></script></block-definition><block-definition s="set $globe style to %&apos;name&apos;" type="command" category="other"><header></header><code></code><translations>de:setze $globe Stil auf _&#xD;pt:altera o estilo do $globe para _&#xD;ca:$globe fixa l&apos;estil de mapa a _&#xD;</translations><inputs><input type="%s" readonly="true">Wikimedia<options>OpenStreetMap&#xD;Wikimedia&#xD;Watercolor&#xD;Toner&#xD;Terrain&#xD;Topographic&#xD;Satellite&#xD;Streets&#xD;Shading&#xD;Mapbox (experimental)</options></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>stage</l><l>name</l></list><l>stage.worldMap.setHost(name)</l></block><list><block s="reportGet"><l><option>stage</option></l></block><block var="name"/></list></block><custom-block s="update $globe"></custom-block></script></block-definition><block-definition s="imatge wikipedia de %&apos;monument&apos; mida %&apos;size&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="value at key %s of %l"><l>source</l><custom-block s="value at key %s of %l"><l>thumbnail</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><custom-block s="value at key %s of %l"><l>pages</l><custom-block s="value at key %s of %l"><l>query</l><custom-block s="listify %mlt"><block s="reportURL"><block s="reportJoinWords"><list><l>https://corsproxy.citilab.eu/en.wikipedia.org/w/api.php?action=query&amp;prop=pageimages&amp;format=json&amp;titles=</l><block var="monument"/><l>&amp;pithumbsize=</l><block var="size"/></list></block></block></custom-block></custom-block></custom-block></block></block></custom-block></custom-block></block></script></block-definition><block-definition s="costume from url: %&apos;url&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>costume</l></list></block><block s="doRun"><block s="reportJSFunction"><list><l>src</l><l>context</l></list><l>img = new Image();&#xD;img.onload = function () {&#xD;var canvas = newCanvas(new Point(img.width, img.height), true);&#xD;  canvas.getContext(&apos;2d&apos;).drawImage(img, 0, 0);&#xD;  context.setVarNamed(&#xD;    &apos;costume&apos;,&#xD;    new Costume(&#xD;      canvas,&#xD;      src.substring(&#xD;        src.lastIndexOf(&apos;/&apos;) + 1,&#xD;        src.length - 4&#xD;      )&#xD;    )&#xD;  );&#xD;};&#xD;img.src = src;</l></block><list><block var="url"/></list></block><block s="doWaitUntil"><block s="reportNot"><block s="reportEquals"><block var="costume"/><l>0</l></block></block></block><block s="doReport"><block var="costume"/></block></script></block-definition><block-definition s="%&apos;method&apos; url: %&apos;url&apos; send: %&apos;payload&apos; headers: %&apos;headers&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">GET<options>GET&#xD;POST&#xD;PUT&#xD;DELETE&#xD;PATCH</options></input><input type="%s">http://snap.berkeley.edu</input><input type="%s"></input><input type="%mult%l" readonly="true"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>method</l><l>url</l><l>data</l><l>headers</l><l>proc</l></list><l>var response, i, header;&#xD;if (!proc.httpRequest) {&#xD;  proc.httpRequest = new XMLHttpRequest();&#xD;  proc.httpRequest.open(method, url, true);&#xD;  proc.assertType(headers, &apos;list&apos;);&#xD;  for (i = 1; i &lt;= headers.length(); i += 1) {&#xD;    header = headers.at(i);&#xD;    proc.assertType(header, &apos;list&apos;);&#xD;    proc.httpRequest.setRequestHeader(&#xD;      header.at(1),&#xD;      header.at(2)&#xD;    );&#xD;  }&#xD;  proc.httpRequest.send(data || null);&#xD;} else if (proc.httpRequest.readyState === 4) {&#xD;  response = proc.httpRequest.responseText;&#xD;  proc.httpRequest = null;&#xD;  return response;&#xD;}&#xD;proc.pushContext(&apos;doYield&apos;);&#xD;proc.pushContext();</l></block><list><block var="method"/><block var="url"/><block var="payload"/><block var="headers"/></list></block></block></script></block-definition><block-definition s="key: %&apos;key&apos; value: %&apos;value&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="key"/><block var="value"/></list></block></block></script></block-definition><block-definition s="stringify %&apos;blah&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>blah</l></list><l>return blah.asJSON()</l></block><list><block s="reportNewList"><list><block var="blah"/></list></block></list></block></block></script></block-definition><block-definition s="obtenir dades de Firebase" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>url</l><l>bucket</l></list></block><block s="doSetVar"><l>url</l><l>https://edutec-citilab.firebaseio.com/</l></block><block s="doSetVar"><l>bucket</l><l>Dades</l></block><block s="doReport"><block s="reportTextSplit"><custom-block s="%s url: %s send: %s headers: %mult%l"><l>GET</l><block s="reportJoinWords"><list><block var="url"/><block var="bucket"/><l>.json</l></list></block><l></l><list><custom-block s="key: %s value: %s"><l>Accept</l><l>application/json</l></custom-block></list></custom-block><l><option>json</option></l></block></block></script></block-definition><block-definition s="obtenir %&apos;tag&apos; de Firebase" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>url</l><l>bucket</l></list></block><block s="doSetVar"><l>url</l><l>https://edutec-citilab.firebaseio.com/</l></block><block s="doSetVar"><l>bucket</l><l>Dades</l></block><block s="doReport"><block s="reportTextSplit"><custom-block s="%s url: %s send: %s headers: %mult%l"><l>GET</l><block s="reportJoinWords"><list><block var="url"/><block var="bucket"/><l>/</l><block var="tag"/><l>.json</l></list></block><l></l><list><custom-block s="key: %s value: %s"><l>Accept</l><l>application/json</l></custom-block></list></custom-block><l><option>json</option></l></block></block></script></block-definition><block-definition s="guardar %&apos;tag&apos; amb %&apos;value&apos; a Firebase" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>url</l><l>bucket</l></list></block><block s="doSetVar"><l>url</l><l>https://edutec-citilab.firebaseio.com/</l></block><block s="doSetVar"><l>bucket</l><l>Dades</l></block><block s="doReport"><block s="reportTextSplit"><custom-block s="%s url: %s send: %s headers: %mult%l"><l>PATCH</l><block s="reportJoinWords"><list><block var="url"/><block var="bucket"/><l>.json</l></list></block><custom-block s="stringify %s"><block s="reportNewList"><list><block var="tag"/><block var="value"/></list></block></custom-block><list><custom-block s="key: %s value: %s"><l>Accept</l><l>application/json</l></custom-block></list></custom-block><l><option>json</option></l></block></block></script></block-definition><block-definition s="esborrar %&apos;tag&apos; de Firebase" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>url</l><l>bucket</l></list></block><block s="doSetVar"><l>url</l><l>https://edutec-citilab.firebaseio.com/</l></block><block s="doSetVar"><l>bucket</l><l>Data</l></block><block s="doReport"><block s="reportTextSplit"><custom-block s="%s url: %s send: %s headers: %mult%l"><l>DELETE</l><block s="reportJoinWords"><list><block var="url"/><block var="bucket"/><l>/</l><block var="tag"/><l>.json</l></list></block><l></l><list><custom-block s="key: %s value: %s"><l>Accept</l><l>application/json</l></custom-block></list></custom-block><l><option>json</option></l></block></block></script></block-definition><block-definition s="listify %&apos;jsonString&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:os dados JSON _ em formato de lista&#xD;</translations><inputs><input type="%mlt"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>jsonString</l></list><l>return listify(JSON.parse(jsonString));&#xD;&#xD;function listify(jsonObject) {&#xD;  if (jsonObject instanceof Array) {&#xD;    return new List(jsonObject.map(function(eachElement) { return listify(eachElement)}));&#xD;  } else if (jsonObject instanceof Object) {&#xD;    return new List(Object.keys(jsonObject).map(function(eachKey) { return new List([eachKey,listify(jsonObject[eachKey])])} ))&#xD;  } else {&#xD;    return jsonObject&#xD;  }&#xD;}</l></block><list><block var="jsonString"/></list></block></block></script></block-definition><block-definition s="value at key %&apos;key&apos; of %&apos;lst&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:o valor com chave _ em _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>each item</l><block var="lst"/><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="each item"/></block><block var="key"/></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="each item"/></block></block></script></block></script></block></script></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="url imatge de %&apos;monument&apos; mida %&apos;size&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s">100</input></inputs><script><block s="doReport"><custom-block s="value at key %s of %l"><l>source</l><custom-block s="value at key %s of %l"><l>thumbnail</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><custom-block s="value at key %s of %l"><l>pages</l><custom-block s="value at key %s of %l"><l>query</l><custom-block s="listify %mlt"><block s="reportURL"><block s="reportJoinWords"><list><l>https://corsproxy.citilab.eu/en.wikipedia.org/w/api.php?action=query&amp;prop=pageimages&amp;format=json&amp;titles=</l><block var="monument"/><l>&amp;pithumbsize=</l><block var="size"/></list></block></block></custom-block></custom-block></custom-block></block></block></custom-block></custom-block></block></script></block-definition><block-definition s="vestit desde url %&apos;url&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>costume</l></list></block><block s="doRun"><block s="reportJSFunction"><list><l>src</l><l>context</l></list><l>img = new Image();&#xD;img.crossOrigin = "";&#xD;img.onload = function () {&#xD;var canvas = newCanvas(new Point(img.width, img.height), true);&#xD;  canvas.getContext(&apos;2d&apos;).drawImage(img, 0, 0);&#xD;  context.setVarNamed(&#xD;    &apos;costume&apos;,&#xD;    new Costume(&#xD;      canvas,&#xD;      src.substring(&#xD;        src.lastIndexOf(&apos;/&apos;) + 1,&#xD;        src.length - 4&#xD;      )&#xD;    )&#xD;  );&#xD;};&#xD;img.src = src;</l></block><list><block var="url"/></list></block><block s="doWaitUntil"><block s="reportNot"><block s="reportEquals"><block var="costume"/><l>0</l></block></block></block><block s="doReport"><block var="costume"/></block></script></block-definition><block-definition s="coordenades de %&apos;monument&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>coordenades</l></list></block><block s="doSetVar"><l>coordenades</l><block s="reportListItem"><l>1</l><custom-block s="value at key %s of %l"><l>coordinates</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><custom-block s="value at key %s of %l"><l>pages</l><custom-block s="value at key %s of %l"><l>query</l><custom-block s="listify %mlt"><block s="reportURL"><l>https://corsproxy.citilab.eu/en.wikipedia.org/w/api.php?action=query&amp;format=json&amp;prop=coordinates&amp;titles=Sagrada Família</l></block></custom-block></custom-block></custom-block></block></block></custom-block></block></block><block s="doReport"><block s="reportNewList"><list><custom-block s="value at key %s of %l"><l>lon</l><block var="coordenades"/></custom-block><custom-block s="value at key %s of %l"><l>lat</l><block var="coordenades"/></custom-block></list></block></block></script></block-definition></blocks><variables><variable name="monuments"><list id="756"><item><list id="757"><item><l>La Pedrera</l></item><item><list struct="atomic" id="758">2.1597727,41.3953845,Any que va acabar la seva construcció?,1912</list></item></list></item><item><list id="759"><item><l>Sagrada Família</l></item><item><list struct="atomic" id="760">2.1721671,41.4036339,Qui la va dissenyar?,Antoni Gaudí</list></item></list></item></list></variable><variable name="monument"><list id="761"><item><l>Sagrada Família</l></item><item><list struct="atomic" id="762">2.1721671,41.4036339,Qui la va dissenyar?,Antoni Gaudí</list></item></list></variable></variables></project><media name="Geo Joc - Plantilla" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>