// Do not edit this file; automatically generated by build.py. 'use strict'; Blockly.Blocks.AIYBoard={};Blockly.Blocks.AIYBoard.HUE="#6844d1";Blockly.Blocks.AIYBoard_from={init:function(){this.setColour(Blockly.Blocks.AIYBoard.HUE);this.appendValueInput("INPUT").appendField(Blockly.Msg.AIYBOARD_FROM);this.setPreviousStatement(!0);this.setNextStatement(!0)}}; Blockly.Blocks.AIYBoard_import={init:function(){this.setColour(Blockly.Blocks.AIYBoard.HUE);this.appendDummyInput().appendField(Blockly.Msg.AIYBOARD_IMPORT).appendField(new Blockly.FieldDropdown([["Board","Board"],["Led","Led"]]),"BOARD");this.setOutput(!0)}};Blockly.Blocks.AIYBoard_Board={init:function(){this.setColour(Blockly.Blocks.AIYBoard.HUE);this.appendDummyInput().appendField(Blockly.Msg.AIYBOARD_AIY_BOARD);this.setOutput(!0)}}; Blockly.Blocks.AIYBoard_LED_state={init:function(){this.setColour(Blockly.Blocks.AIYBoard.HUE);this.appendValueInput("INPUT").appendField(Blockly.Msg.AIYBOARD_LED_STATE);this.setInputsInline(!0);this.setOutput(!0)}};Blockly.Blocks.AIYBoard_LED_status={init:function(){this.setColour(Blockly.Blocks.AIYBoard.HUE);this.appendValueInput("INPUT").appendField(Blockly.Msg.AIYBOARD_LED_STATUS);this.setInputsInline(!0);this.setOutput(!0)}}; Blockly.Blocks.AIYBoard_LED_setting={init:function(){this.setColour(Blockly.Blocks.AIYBoard.HUE);this.appendDummyInput().appendField("LED").appendField(new Blockly.FieldDropdown([["BEACON_DARK","BEACON_DARK"],["ON","ON"],["PULSE_QUICK","PULSE_QUICK"]]),"SETTING");this.setOutput(!0)}};Blockly.Blocks.AIYBoard_board={init:function(){this.setColour(Blockly.Blocks.AIYBoard.HUE);this.appendDummyInput().appendField("Board");this.setOutput(!0)}}; Blockly.Blocks.AIYBoard_button={init:function(){this.setColour(Blockly.Blocks.AIYBoard.HUE);this.appendDummyInput().appendField("Button");this.setOutput(!0)}};Blockly.Blocks.AIYBoard_button_press={init:function(){this.setColour(Blockly.Blocks.AIYBoard.HUE);this.appendDummyInput().appendField("On Button Press");this.appendStatementInput("STACK");this.setPreviousStatement(!0);this.setNextStatement(!0)}}; Blockly.Blocks.AIYBoard_board_led_status={init:function(){this.setColour(Blockly.Blocks.AIYBoard.HUE);this.appendValueInput("INPUT").appendField("Board led status");this.setPreviousStatement(!0);this.setNextStatement(!0)}};Blockly.Blocks.AIYBoard_board_led_state={init:function(){this.setColour(Blockly.Blocks.AIYBoard.HUE);this.appendValueInput("INPUT").appendField("Board led state");this.setPreviousStatement(!0);this.setNextStatement(!0)}};Blockly.Blocks.camera={};Blockly.Blocks.camera.HUE="#ff6381";Blockly.Blocks.camera_import={init:function(){this.setColour(Blockly.Blocks.camera.HUE);this.appendDummyInput().appendField(Blockly.Msg.CAMERA_IMPORT);this.setPreviousStatement(!0);this.setNextStatement(!0)}}; Blockly.Blocks.camera_use={init:function(){this.setColour(Blockly.Blocks.camera.HUE);this.appendDummyInput().appendField(Blockly.Msg.CAMERA_USE_AS).appendField(new Blockly.FieldTextInput("camera"),"CAMERA");this.appendDummyInput().appendField(Blockly.Msg.CAMERA_SENSOR_MODE).appendField(new Blockly.FieldNumber("4"),"SENSOR");this.appendDummyInput().appendField(Blockly.Msg.CAMERA_RESOLUTION).appendField(new Blockly.FieldNumber("1640"),"X").appendField(",").appendField(new Blockly.FieldNumber("1232"), "Y");this.appendDummyInput().appendField(Blockly.Msg.CAMERA_FRAME_RATE).appendField(new Blockly.FieldNumber("20"),"FPS").appendField(Blockly.Msg.CAMERA_FPS);this.appendStatementInput("STACK").appendField(Blockly.Msg.CAMERA_DO);this.setPreviousStatement(!0);this.setNextStatement(!0)}}; Blockly.Blocks.camera_enable={init:function(){this.setColour(Blockly.Blocks.camera.HUE);this.appendDummyInput().appendField(new Blockly.FieldDropdown([["Enable","start"],["Disable","stop"]]),"MODE").appendField(Blockly.Msg.CAMERA_CAMERA).appendField(new Blockly.FieldTextInput("camera"),"CAMERA");this.setPreviousStatement(!0);this.setNextStatement(!0)}}; Blockly.Blocks.camera_set_bounding={init:function(){this.setColour(Blockly.Blocks.camera.HUE);this.appendDummyInput().appendField(Blockly.Msg.CAMERA_SET_BOUNDING).appendField(new Blockly.FieldTextInput("x"),"X").appendField(new Blockly.FieldTextInput("y"),"Y").appendField(new Blockly.FieldTextInput("width"),"WIDTH").appendField(new Blockly.FieldTextInput("height"),"HEIGHT");this.setPreviousStatement(!0);this.setNextStatement(!0)}};Blockly.Blocks.class_creation={init:function(){this.appendDummyInput().appendField("Create class").appendField(new Blockly.FieldVariable("new class"),"CLASS");this.appendDummyInput().appendField("Inherits from").appendField(new Blockly.FieldVariable("j"),"NAME").appendField(",").appendField(new Blockly.FieldVariable("k"),"NAME");this.appendStatementInput("BODY").setCheck(null);this.setPreviousStatement(!0,null);this.setNextStatement(!0,null);this.setColour(230);this.setTooltip("");this.setHelpUrl("http://www.example.com/")}};Blockly.Blocks.colour={};Blockly.Blocks.colour.HUE=20;Blockly.Blocks.colour_picker={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_colour",name:"COLOUR",colour:"#ff0000"}],output:"Colour",colour:Blockly.Blocks.colour.HUE,helpUrl:Blockly.Msg.COLOUR_PICKER_HELPURL});var a=this;this.setTooltip(function(){var b=a.getParent();return b&&b.getInputsInline()&&b.tooltip||Blockly.Msg.COLOUR_PICKER_TOOLTIP})}}; Blockly.Blocks.colour_random={init:function(){this.jsonInit({message0:Blockly.Msg.COLOUR_RANDOM_TITLE,output:"Colour",colour:Blockly.Blocks.colour.HUE,tooltip:Blockly.Msg.COLOUR_RANDOM_TOOLTIP,helpUrl:Blockly.Msg.COLOUR_RANDOM_HELPURL})}}; Blockly.Blocks.colour_rgb={init:function(){this.setHelpUrl(Blockly.Msg.COLOUR_RGB_HELPURL);this.setColour(Blockly.Blocks.colour.HUE);this.appendValueInput("RED").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_RGB_TITLE).appendField(Blockly.Msg.COLOUR_RGB_RED);this.appendValueInput("GREEN").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_RGB_GREEN);this.appendValueInput("BLUE").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_RGB_BLUE); this.setOutput(!0,"Colour");this.setTooltip(Blockly.Msg.COLOUR_RGB_TOOLTIP)}}; Blockly.Blocks.colour_blend={init:function(){this.setHelpUrl(Blockly.Msg.COLOUR_BLEND_HELPURL);this.setColour(Blockly.Blocks.colour.HUE);this.appendValueInput("COLOUR1").setCheck("Colour").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_BLEND_TITLE).appendField(Blockly.Msg.COLOUR_BLEND_COLOUR1);this.appendValueInput("COLOUR2").setCheck("Colour").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_BLEND_COLOUR2);this.appendValueInput("RATIO").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_BLEND_RATIO); this.setOutput(!0,"Colour");this.setTooltip(Blockly.Msg.COLOUR_BLEND_TOOLTIP)}};Blockly.Blocks.comment_single={init:function(){this.appendDummyInput().appendField("Comment:").appendField(new Blockly.FieldTextInput("will be ignored"),"BODY");this.setInputsInline(!0);this.setPreviousStatement(!0,null);this.setNextStatement(!0,null);this.setColour(60);this.setTooltip("This is a comment, which will be ignored when you execute your code.");this.setHelpUrl("")}}; Blockly.Blocks.string_multiline={init:function(){this.appendDummyInput().appendField("Multiline String:");this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Blockly.FieldTextArea(""),"TEXT").appendField(this.newQuote_(!1));this.setColour(Blockly.Blocks.texts.HUE);this.setOutput(!0,"String")},newQuote_:function(a){return new Blockly.FieldImage(a==this.RTL?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC",12,12,'"')}};Blockly.Blocks.list_comprehension={init:function(){this.appendValueInput("body").setCheck(null).appendField("[");this.appendValueInput("var").setCheck(null).appendField("for");this.appendValueInput("list").setCheck(null).appendField("in");this.appendDummyInput().appendField("]");this.setInputsInline(!0);this.setOutput(!0,null);this.setTooltip("");this.setHelpUrl("http://www.example.com/")}};Blockly.Blocks.corgis={};var WEATHER_HUE=70,QUAKES_HUE=60,STOCKS_HUE=65,CRIME_HUE=55,BOOKS_HUE=50,CITIES=[["Blacksburg, VA","Blacksburg, VA"],["Seattle, WA","Seattle, WA"],["Miami, FL","Miami, FL"],["San Jose, CA","San Jose, CA"],["New York, NY","New York, NY"]];Blockly.Blocks.weather_temperature_get={init:function(){this.setColour(WEATHER_HUE);this.appendDummyInput().appendField("get a set of temperatures");this.setInputsInline(!1);this.setOutput(!0,"Array");this.setTooltip("Returns a set of temperature (number)")}}; Blockly.Blocks.weather_temperature={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(WEATHER_HUE);this.appendDummyInput().appendField("get temperature in").appendField(new Blockly.FieldDropdown(CITIES),"CITY");this.setInputsInline(!1);this.setOutput(!0,"Number");this.setTooltip("Returns a single temperature (number)")}}; Blockly.Blocks.weather_forecasts={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(WEATHER_HUE);this.appendDummyInput().appendField("get forecasted temperatures in").appendField(new Blockly.FieldDropdown(CITIES),"CITY");this.setInputsInline(!1);this.setOutput(!0,"Array");this.setTooltip("Returns a list of forecasted temperatures (list of number)")}}; Blockly.Blocks.weather_highs_lows={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(WEATHER_HUE);this.appendDummyInput().appendField("get highs and lows in").appendField(new Blockly.FieldDropdown(CITIES),"CITY");this.setInputsInline(!1);this.setOutput(!0,"dict");this.setTooltip("Returns a list of forecasted temperature highs and lows (dict of lists of numbers)")}}; Blockly.Blocks.weather_report_forecasts={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(WEATHER_HUE);this.appendDummyInput().appendField("get forecasted weather in").appendField(new Blockly.FieldDropdown(CITIES),"CITY");this.setInputsInline(!1);this.setOutput(!0,"Array");this.setTooltip("Returns a list of forecasted weather reports (list of dicts)")}}; Blockly.Blocks.weather_report={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(WEATHER_HUE);this.appendDummyInput().appendField("get weather in").appendField(new Blockly.FieldDropdown(CITIES),"CITY");this.setInputsInline(!1);this.setOutput(!0,"dict");this.setTooltip("Returns a weather report (dictionary)")}}; Blockly.Blocks.weather_all_forecasts={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(WEATHER_HUE);this.appendDummyInput().appendField("get all forecasted temperatures");this.setInputsInline(!1);this.setOutput(!0,"dict");this.setTooltip("Returns a list of dictionaries of forecasts and cities")}};var COMPANIES=[["Facebook","FB"],["Apple","AAPL"],["Microsoft","MSFT"],["Google","GOOG"]]; Blockly.Blocks.stocks_current={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(STOCKS_HUE);this.appendDummyInput().appendField("get current stock of").appendField(new Blockly.FieldDropdown(COMPANIES),"TICKER");this.setInputsInline(!1);this.setOutput(!0,"Number");this.setTooltip("Returns a single stock change value (number)")}}; Blockly.Blocks.stocks_past={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(STOCKS_HUE);this.appendDummyInput().appendField("get past stock changes of").appendField(new Blockly.FieldDropdown(COMPANIES),"TICKER");this.setInputsInline(!1);this.setOutput(!0,"Array");this.setTooltip("Returns a list of the previous stock values")}};var EARTHQUAKES=[["magnitude","magnitude"],["depth","depth"]]; Blockly.Blocks.earthquake_get={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(QUAKES_HUE);this.appendDummyInput().appendField("get recent earthquakes'").appendField(new Blockly.FieldDropdown(EARTHQUAKES),"PROPERTY");this.setInputsInline(!1);this.setOutput(!0,"Array");this.setTooltip("Returns a property of an earthquake")}}; Blockly.Blocks.earthquake_both={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(QUAKES_HUE);this.appendDummyInput().appendField("get earthquakes magnitude and depth'");this.setInputsInline(!1);this.setOutput(!0,"Array");this.setTooltip("Returns magnitude and depth of multiple earthquakes")}}; Blockly.Blocks.earthquake_all={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(QUAKES_HUE);this.appendDummyInput().appendField("get complete earthquakes report'");this.setInputsInline(!1);this.setOutput(!0,"Array");this.setTooltip("Returns all properties of multiple earthquakes")}};for(var YEARS=[],i=1960;2012>=i;i+=5)YEARS.push([""+i,""+i]); var STATES=[["Alaska","alaska"],["California","california"],["Delaware","delaware"],["Florida","florida"],["Maryland","maryland"],["Nevada","nevada"],["New Jersey","new jersey"],["New York","new york"],["Pennsylvania","pennsylvania"],["Texas","texas"],["Virginia","virginia"]]; Blockly.Blocks.crime_state={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(CRIME_HUE);this.appendDummyInput().appendField("get").appendField(new Blockly.FieldDropdown([["property","property"],["violent","violent"],["both kinds","both"]]),"TYPE").appendField("crime rates in").appendField(new Blockly.FieldDropdown(STATES),"STATE");this.setInputsInline(!1);this.setOutput(!0,"Array");this.setTooltip("Returns all of the crime rates in the those states since 1960")}}; Blockly.Blocks.crime_year={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(CRIME_HUE);this.appendDummyInput().appendField("get crime rates in").appendField(new Blockly.FieldDropdown(YEARS),"YEAR");this.setInputsInline(!1);this.setOutput(!0,"Array");this.setTooltip("Returns all of the crime rates reports for the given year by state")}}; Blockly.Blocks.crime_all={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(CRIME_HUE);this.appendDummyInput().appendField("get all crime reports");this.setInputsInline(!1);this.setOutput(!0,"dict");this.setTooltip("Returns all of the crime rates reports")}};Blockly.Blocks.books_get={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(BOOKS_HUE);this.appendDummyInput().appendField("get books");this.setInputsInline(!1);this.setOutput(!0,"Array");this.setTooltip("Returns a list of books (list of dict)")}};Blockly.Blocks.decorator={init:function(){this.appendValueInput("BODY").setCheck(null).appendField("@");this.setPreviousStatement(!0,null);this.setNextStatement(!0,null);this.setColour(230);this.setTooltip("");this.setHelpUrl("")}};Blockly.Blocks.dicts_create_with={init:function(){console.log("init");this.setInputsInline(!1);this.setColour(Blockly.Blocks.dicts.HUE);this.itemCount_=1;this.updateShape_();this.setOutput(!0,"dict");this.setTooltip(Blockly.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(a){a=document.createElement("mutation");a.setAttribute("items",this.itemCount_);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute("items"),10);this.updateShape_()},fixEmpty_:function(){0","LT"],[">=","LTE"],["<","GT"],["<=","GTE"]],b=[["==","EQ"],["!=","NEQ"],["<","LT"],["<=","LTE"],[">","GT"],[">=","GTE"]];a=this.RTL?a:b;this.setHelpUrl(Blockly.Msg.LOGIC_COMPARE_HELPURL);this.setColour(Blockly.Blocks.logic.HUE);this.setOutput(!0,"Boolean");this.appendValueInput("A");this.appendValueInput("B").appendField(new Blockly.FieldDropdown(a),"OP");this.setInputsInline(!0);var c=this;this.setTooltip(function(){var a= c.getFieldValue("OP");return{EQ:Blockly.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Blockly.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[a]});this.prevBlocks_=[null,null]},onchange:function(a){var b=this.getInputTargetBlock("A"),c=this.getInputTargetBlock("B");if(b&&c&&!b.outputConnection.checkType_(c.outputConnection)){Blockly.Events.setGroup(a.group);for(a=0;a< this.prevBlocks_.length;a++){var e=this.prevBlocks_[a];if(e===b||e===c)e.unplug(),e.bumpNeighbours_()}Blockly.Events.setGroup(!1)}this.prevBlocks_[0]=b;this.prevBlocks_[1]=c}};Blockly.Blocks.logic_operation={init:function(){var a=[[Blockly.Msg.LOGIC_OPERATION_AND,"AND"],[Blockly.Msg.LOGIC_OPERATION_OR,"OR"]];this.setHelpUrl(Blockly.Msg.LOGIC_OPERATION_HELPURL);this.setColour(Blockly.Blocks.logic.HUE);this.setOutput(!0,"Boolean");this.appendValueInput("A").setCheck("Boolean");this.appendValueInput("B").setCheck("Boolean").appendField(new Blockly.FieldDropdown(a),"OP");this.setInputsInline(!0);var b=this;this.setTooltip(function(){var a=b.getFieldValue("OP");return{AND:Blockly.Msg.LOGIC_OPERATION_TOOLTIP_AND, OR:Blockly.Msg.LOGIC_OPERATION_TOOLTIP_OR}[a]})}};Blockly.Blocks.logic_negate={init:function(){this.jsonInit({message0:Blockly.Msg.LOGIC_NEGATE_TITLE,args0:[{type:"input_value",name:"BOOL",check:"Boolean"}],output:"Boolean",colour:Blockly.Blocks.logic.HUE,tooltip:Blockly.Msg.LOGIC_NEGATE_TOOLTIP,helpUrl:Blockly.Msg.LOGIC_NEGATE_HELPURL})}}; Blockly.Blocks.logic_boolean={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_dropdown",name:"BOOL",options:[[Blockly.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Blockly.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]]}],output:"Boolean",colour:Blockly.Blocks.logic.HUE,tooltip:Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP,helpUrl:Blockly.Msg.LOGIC_BOOLEAN_HELPURL})}}; Blockly.Blocks.logic_null={init:function(){this.jsonInit({message0:Blockly.Msg.LOGIC_NULL,output:null,colour:Blockly.Blocks.logic.HUE,tooltip:Blockly.Msg.LOGIC_NULL_TOOLTIP,helpUrl:Blockly.Msg.LOGIC_NULL_HELPURL})}}; Blockly.Blocks.logic_ternary={init:function(){this.setHelpUrl(Blockly.Msg.LOGIC_TERNARY_HELPURL);this.setColour(Blockly.Blocks.logic.HUE);this.appendValueInput("IF").setCheck("Boolean").appendField(Blockly.Msg.LOGIC_TERNARY_CONDITION);this.appendValueInput("THEN").appendField(Blockly.Msg.LOGIC_TERNARY_IF_TRUE);this.appendValueInput("ELSE").appendField(Blockly.Msg.LOGIC_TERNARY_IF_FALSE);this.setOutput(!0);this.setTooltip(Blockly.Msg.LOGIC_TERNARY_TOOLTIP);this.prevParentConnection_=null},onchange:function(a){var b= this.getInputTargetBlock("THEN"),c=this.getInputTargetBlock("ELSE"),e=this.outputConnection.targetConnection;if((b||c)&&e)for(var d=0;2>d;d++){var f=1==d?b:c;f&&!f.outputConnection.checkType_(e)&&(Blockly.Events.setGroup(a.group),e===this.prevParentConnection_?(this.unplug(),e.getSourceBlock().bumpNeighbours_()):(f.unplug(),f.bumpNeighbours_()),Blockly.Events.setGroup(!1))}this.prevParentConnection_=e}}; Blockly.Blocks.logic_isIn={init:function(){this.setColour(Blockly.Blocks.logic.HUE);this.setOutput(!0,"Boolean");this.appendValueInput("ITEM");this.appendValueInput("LIST").setCheck(["Array","String"]).appendField(new Blockly.FieldDropdown([["is in","IN"],["is not in","NOTIN"]]),"OP");this.setInputsInline(!0)}};Blockly.Blocks.logic_none={init:function(){this.appendDummyInput().appendField("None");this.setColour(Blockly.Blocks.logic.HUE);this.setOutput(!0)}};Blockly.Blocks.loops={};Blockly.Blocks.loops.HUE=260;Blockly.Blocks.controls_repeat_ext={init:function(){this.jsonInit({message0:Blockly.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES",check:"Number"}],previousStatement:null,nextStatement:null,colour:Blockly.Blocks.loops.HUE,tooltip:Blockly.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Blockly.Msg.CONTROLS_REPEAT_HELPURL});this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO)}}; Blockly.Blocks.controls_repeat={init:function(){this.jsonInit({message0:Blockly.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"field_number",name:"TIMES",value:10,min:0,precision:1}],previousStatement:null,nextStatement:null,colour:Blockly.Blocks.loops.HUE,tooltip:Blockly.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Blockly.Msg.CONTROLS_REPEAT_HELPURL});this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO)}}; Blockly.Blocks.controls_whileUntil={init:function(){var a=[[Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];this.setHelpUrl(Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL);this.setColour(Blockly.Blocks.loops.HUE);this.appendValueInput("BOOL").setCheck("Boolean").appendField(new Blockly.FieldDropdown(a),"MODE");this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_WHILEUNTIL_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0); var b=this;this.setTooltip(function(){var a=b.getFieldValue("MODE");return{WHILE:Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[a]})}}; Blockly.Blocks.controls_while={init:function(){this.setHelpUrl(Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL);this.setColour(Blockly.Blocks.loops.HUE);this.appendValueInput("BOOL").setCheck("Boolean").appendField(Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE);this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_WHILEUNTIL_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE)}}; Blockly.Blocks.controls_for={init:function(){this.jsonInit({message0:Blockly.Msg.CONTROLS_FOR_TITLE,args0:[{type:"field_variable",name:"VAR",variable:null},{type:"input_value",name:"FROM",check:"Number",align:"RIGHT"},{type:"input_value",name:"TO",check:"Number",align:"RIGHT"},{type:"input_value",name:"BY",check:"Number",align:"RIGHT"}],inputsInline:!0,previousStatement:null,nextStatement:null,colour:Blockly.Blocks.loops.HUE,helpUrl:Blockly.Msg.CONTROLS_FOR_HELPURL});this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_FOR_INPUT_DO); var a=this;this.setTooltip(function(){return Blockly.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",a.getFieldValue("VAR"))})},customContextMenu:function(a){if(!this.isCollapsed()){var b={enabled:!0},c=this.getFieldValue("VAR");b.text=Blockly.Msg.VARIABLES_SET_CREATE_GET.replace("%1",c);c=goog.dom.createDom("field",null,c);c.setAttribute("name","VAR");c=goog.dom.createDom("block",null,c);c.setAttribute("type","variables_get");b.callback=Blockly.ContextMenu.callbackFactory(this,c);a.push(b)}}}; Blockly.Blocks.controls_forEach={init:function(){this.jsonInit({message0:Blockly.Msg.CONTROLS_FOREACH_TITLE,args0:[{type:"field_variable",name:"VAR",variable:null},{type:"input_value",name:"LIST",check:"Array"}],previousStatement:null,nextStatement:null,colour:Blockly.Blocks.loops.HUE,helpUrl:Blockly.Msg.CONTROLS_FOREACH_HELPURL});this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_FOREACH_INPUT_DO);var a=this;this.setTooltip(function(){return Blockly.Msg.CONTROLS_FOREACH_TOOLTIP.replace("%1", a.getFieldValue("VAR"))})},customContextMenu:Blockly.Blocks.controls_for.customContextMenu};Blockly.Blocks.controls_pass={init:function(){this.setHelpUrl("");this.setColour(Blockly.Blocks.loops.HUE);this.appendDummyInput().appendField("do nothing");this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip("This block does absolutely nothing.")}}; Blockly.Blocks.controls_flow_statements={init:function(){var a=[[Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];this.setHelpUrl(Blockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL);this.setColour(Blockly.Blocks.loops.HUE);this.appendDummyInput().appendField(new Blockly.FieldDropdown(a),"FLOW");this.setPreviousStatement(!0);var b=this;this.setTooltip(function(){var a=b.getFieldValue("FLOW");return{BREAK:Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK, CONTINUE:Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[a]})},onchange:function(a){if(!this.workspace.isDragging()){a=!1;var b=this;do{if(-1!=this.LOOP_TYPES.indexOf(b.type)){a=!0;break}b=b.getSurroundParent()}while(b);a?(this.setWarningText(null),this.isInFlyout||this.setDisabled(!1)):(this.setWarningText(Blockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING),this.isInFlyout||this.getInheritedDisabled()||this.setDisabled(!0))}},LOOP_TYPES:"controls_repeat controls_repeat_ext controls_forEach controls_for controls_whileUntil controls_while".split(" ")}; Blockly.Blocks.loop_forEach={init:function(){this.setColour(Blockly.Blocks.loops.HUE);this.appendValueInput("ITEM").appendField(Blockly.Msg.LOOP_FOREACH_ITEM);this.appendValueInput("LIST").appendField(Blockly.Msg.LOOP_FOREACH_LIST);this.setOutput(!0);this.setInputsInline(!0)}};Blockly.Blocks.math={};var DATA_HUE=100,LOGIC_HUE=230,VARIABLE_HUE=240;Blockly.Blocks.math.HUE=230;Blockly.Blocks.math_number={init:function(){this.setHelpUrl(Blockly.Msg.MATH_NUMBER_HELPURL);this.setColour(Blockly.Blocks.math.HUE);this.appendDummyInput().appendField(new Blockly.FieldNumber("0"),"NUM");this.setOutput(!0,"Number");var a=this;this.setTooltip(function(){var b=a.getParent();return b&&b.getInputsInline()&&b.tooltip||Blockly.Msg.MATH_NUMBER_TOOLTIP})}}; Blockly.Blocks.math_arithmetic={init:function(){this.jsonInit({message0:"%1 %2 %3",args0:[{type:"input_value",name:"A",check:["Number","String"]},{type:"field_dropdown",name:"OP",options:[[Blockly.Msg.MATH_ADDITION_SYMBOL,"ADD"],[Blockly.Msg.MATH_SUBTRACTION_SYMBOL,"MINUS"],[Blockly.Msg.MATH_MULTIPLICATION_SYMBOL,"MULTIPLY"],[Blockly.Msg.MATH_DIVISION_SYMBOL,"DIVIDE"],[Blockly.Msg.MATH_POWER_SYMBOL,"POWER"],["%","MODULO"]]},{type:"input_value",name:"B",check:["Number","String"]}],inputsInline:!0, output:"Number",colour:Blockly.Blocks.math.HUE,helpUrl:Blockly.Msg.MATH_ARITHMETIC_HELPURL});var a=this;this.setTooltip(function(){var b=a.getFieldValue("OP");return{ADD:Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_POWER,MODULO:"Computes the remainder of division."}[b]})}}; Blockly.Blocks.math_single={init:function(){this.jsonInit({message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[[Blockly.Msg.MATH_SINGLE_OP_ROOT,"ROOT"],[Blockly.Msg.MATH_SINGLE_OP_ABSOLUTE,"ABS"],["-","NEG"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",colour:Blockly.Blocks.math.HUE,helpUrl:Blockly.Msg.MATH_SINGLE_HELPURL});var a=this;this.setTooltip(function(){var b=a.getFieldValue("OP");return{ROOT:Blockly.Msg.MATH_SINGLE_TOOLTIP_ROOT, ABS:Blockly.Msg.MATH_SINGLE_TOOLTIP_ABS,NEG:Blockly.Msg.MATH_SINGLE_TOOLTIP_NEG,LN:Blockly.Msg.MATH_SINGLE_TOOLTIP_LN,LOG10:Blockly.Msg.MATH_SINGLE_TOOLTIP_LOG10,EXP:Blockly.Msg.MATH_SINGLE_TOOLTIP_EXP,POW10:Blockly.Msg.MATH_SINGLE_TOOLTIP_POW10}[b]})}}; Blockly.Blocks.math_trig={init:function(){this.jsonInit({message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[[Blockly.Msg.MATH_TRIG_SIN,"SIN"],[Blockly.Msg.MATH_TRIG_COS,"COS"],[Blockly.Msg.MATH_TRIG_TAN,"TAN"],[Blockly.Msg.MATH_TRIG_ASIN,"ASIN"],[Blockly.Msg.MATH_TRIG_ACOS,"ACOS"],[Blockly.Msg.MATH_TRIG_ATAN,"ATAN"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",colour:Blockly.Blocks.math.HUE,helpUrl:Blockly.Msg.MATH_TRIG_HELPURL});var a=this;this.setTooltip(function(){var b= a.getFieldValue("OP");return{SIN:Blockly.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Blockly.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Blockly.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Blockly.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Blockly.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Blockly.Msg.MATH_TRIG_TOOLTIP_ATAN}[b]})}}; Blockly.Blocks.math_constant={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_dropdown",name:"CONSTANT",options:[["\u03c0","PI"],["e","E"],["\u03c6","GOLDEN_RATIO"],["sqrt(2)","SQRT2"],["sqrt(\u00bd)","SQRT1_2"],["\u221e","INFINITY"]]}],output:"Number",colour:Blockly.Blocks.math.HUE,tooltip:Blockly.Msg.MATH_CONSTANT_TOOLTIP,helpUrl:Blockly.Msg.MATH_CONSTANT_HELPURL})}}; Blockly.Blocks.math_number_property={init:function(){var a=[[Blockly.Msg.MATH_IS_EVEN,"EVEN"],[Blockly.Msg.MATH_IS_ODD,"ODD"],[Blockly.Msg.MATH_IS_PRIME,"PRIME"],[Blockly.Msg.MATH_IS_WHOLE,"WHOLE"],[Blockly.Msg.MATH_IS_POSITIVE,"POSITIVE"],[Blockly.Msg.MATH_IS_NEGATIVE,"NEGATIVE"],[Blockly.Msg.MATH_IS_DIVISIBLE_BY,"DIVISIBLE_BY"]];this.setColour(Blockly.Blocks.math.HUE);this.appendValueInput("NUMBER_TO_CHECK").setCheck("Number");a=new Blockly.FieldDropdown(a,function(a){this.sourceBlock_.updateShape_("DIVISIBLE_BY"== a)});this.appendDummyInput().appendField(a,"PROPERTY");this.setInputsInline(!0);this.setOutput(!0,"Boolean");this.setTooltip(Blockly.Msg.MATH_IS_TOOLTIP)},mutationToDom:function(){var a=document.createElement("mutation"),b="DIVISIBLE_BY"==this.getFieldValue("PROPERTY");a.setAttribute("divisor_input",b);return a},domToMutation:function(a){a="true"==a.getAttribute("divisor_input");this.updateShape_(a)},updateShape_:function(a){var b=this.getInput("DIVISOR");a?b||this.appendValueInput("DIVISOR").setCheck("Number"): b&&this.removeInput("DIVISOR")}};Blockly.Blocks.math_change={init:function(){this.jsonInit({message0:"increase %1 by %2",args0:[{type:"field_variable",name:"VAR",variable:Blockly.Msg.MATH_CHANGE_TITLE_ITEM},{type:"input_value",name:"DELTA",check:"Number"}],previousStatement:null,nextStatement:null,colour:VARIABLE_HUE,helpUrl:Blockly.Msg.MATH_CHANGE_HELPURL});var a=this;this.setTooltip(function(){return Blockly.Msg.MATH_CHANGE_TOOLTIP.replace("%1",a.getFieldValue("VAR"))})}}; Blockly.Blocks.math_round={init:function(){this.jsonInit({message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[[Blockly.Msg.MATH_ROUND_OPERATOR_ROUND,"ROUND"],[Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDUP,"ROUNDUP"],[Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN,"ROUNDDOWN"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",colour:Blockly.Blocks.math.HUE,tooltip:Blockly.Msg.MATH_ROUND_TOOLTIP,helpUrl:Blockly.Msg.MATH_ROUND_HELPURL})}}; Blockly.Blocks.math_on_list={init:function(){var a=[[Blockly.Msg.MATH_ONLIST_OPERATOR_SUM,"SUM"],[Blockly.Msg.MATH_ONLIST_OPERATOR_MIN,"MIN"],[Blockly.Msg.MATH_ONLIST_OPERATOR_MAX,"MAX"],[Blockly.Msg.MATH_ONLIST_OPERATOR_AVERAGE,"AVERAGE"],[Blockly.Msg.MATH_ONLIST_OPERATOR_MEDIAN,"MEDIAN"],[Blockly.Msg.MATH_ONLIST_OPERATOR_MODE,"MODE"],[Blockly.Msg.MATH_ONLIST_OPERATOR_STD_DEV,"STD_DEV"],[Blockly.Msg.MATH_ONLIST_OPERATOR_RANDOM,"RANDOM"]],b=this;this.setHelpUrl(Blockly.Msg.MATH_ONLIST_HELPURL);this.setColour(DATA_HUE); this.setOutput(!0,"Number");a=new Blockly.FieldDropdown(a,function(a){b.updateType_(a)});this.appendValueInput("LIST").setCheck("Array").appendField(a,"OP");this.setTooltip(function(){var a=b.getFieldValue("OP");return{SUM:Blockly.Msg.MATH_ONLIST_TOOLTIP_SUM,MIN:Blockly.Msg.MATH_ONLIST_TOOLTIP_MIN,MAX:Blockly.Msg.MATH_ONLIST_TOOLTIP_MAX,AVERAGE:Blockly.Msg.MATH_ONLIST_TOOLTIP_AVERAGE,MEDIAN:Blockly.Msg.MATH_ONLIST_TOOLTIP_MEDIAN,MODE:Blockly.Msg.MATH_ONLIST_TOOLTIP_MODE,STD_DEV:Blockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV, RANDOM:Blockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM}[a]})},updateType_:function(a){"MODE"==a?this.outputConnection.setCheck("Array"):this.outputConnection.setCheck("Number")},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("op",this.getFieldValue("OP"));return a},domToMutation:function(a){this.updateType_(a.getAttribute("op"))}}; Blockly.Blocks.math_modulo={init:function(){this.jsonInit({message0:Blockly.Msg.MATH_MODULO_TITLE,args0:[{type:"input_value",name:"DIVIDEND",check:"Number"},{type:"input_value",name:"DIVISOR",check:"Number"}],inputsInline:!0,output:"Number",colour:Blockly.Blocks.math.HUE,tooltip:Blockly.Msg.MATH_MODULO_TOOLTIP,helpUrl:Blockly.Msg.MATH_MODULO_HELPURL})}}; Blockly.Blocks.math_constrain={init:function(){this.jsonInit({message0:Blockly.Msg.MATH_CONSTRAIN_TITLE,args0:[{type:"input_value",name:"VALUE",check:"Number"},{type:"input_value",name:"LOW",check:"Number"},{type:"input_value",name:"HIGH",check:"Number"}],inputsInline:!0,output:"Number",colour:Blockly.Blocks.math.HUE,tooltip:Blockly.Msg.MATH_CONSTRAIN_TOOLTIP,helpUrl:Blockly.Msg.MATH_CONSTRAIN_HELPURL})}}; Blockly.Blocks.math_random_int={init:function(){this.jsonInit({message0:Blockly.Msg.MATH_RANDOM_INT_TITLE,args0:[{type:"input_value",name:"FROM",check:"Number"},{type:"input_value",name:"TO",check:"Number"}],inputsInline:!0,output:"Number",colour:Blockly.Blocks.math.HUE,tooltip:Blockly.Msg.MATH_RANDOM_INT_TOOLTIP,helpUrl:Blockly.Msg.MATH_RANDOM_INT_HELPURL})}}; Blockly.Blocks.math_random_float={init:function(){this.jsonInit({message0:Blockly.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM,output:"Number",colour:Blockly.Blocks.math.HUE,tooltip:Blockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP,helpUrl:Blockly.Msg.MATH_RANDOM_FLOAT_HELPURL})}};Blockly.Blocks.math_sum_values={init:function(){this.setColour(Blockly.Blocks.math.HUE);this.appendDummyInput().appendField(Blockly.Msg.MATH_SUM);this.appendValueInput("SUM1");this.appendValueInput("SUM2");this.setOutput(!0,"Number");this.setInputsInline(!0)}}; Blockly.Blocks.math_sum_common={init:function(){this.setColour(Blockly.Blocks.math.HUE);this.appendValueInput("SUM1").appendField(Blockly.Msg.MATH_SUM);this.setOutput(!0,"Number");this.setInputsInline(!0)}};var DAYS=[["Monday","MON"],["Tuesday","TUE"],["Wednesday","WED"],["Thursday","THU"],["Friday","FRI"],["Saturday","SAT"],["Sunday","SUN"]],DAYS_MAP={mon:'parking.Day("MON")',tue:'parking.Day("TUE")',wed:'parking.Day("WED")',thu:'parking.Day("THU")',fri:'parking.Day("FRI")',sat:'parking.Day("SAT")',sun:'parking.Day("SUN")',tod:"parking.today()"}; Blockly.Blocks.datetime_day={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_dropdown",name:"DAY",options:[["Today","TODAY"]].concat(DAYS)}],output:"DatetimeDay",colour:DATA_HUE,tooltip:"Returns a day of the week",helpUrl:""})}};var HOURS=[["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"]],MINUTES=[["00","00"],["30","30"]],MERIDIANS=[["am","AM"],["pm","PM"]]; Blockly.Blocks.datetime_time={init:function(){this.setColour(DATA_HUE);var a=new Blockly.FieldDropdown([["Now","NOW"]].concat(HOURS),function(a){this.sourceBlock_.updateShape_("NOW"==a)});this.appendDummyInput().appendField(a,"HOUR");this.setInputsInline(!0);this.setOutput(!0,"DatetimeTime");this.setTooltip("Returns a time of day")},mutationToDom:function(){var a=document.createElement("mutation"),b="NOW"==this.getFieldValue("HOUR").toUpperCase();a.setAttribute("isnow",b);return a},domToMutation:function(a){a= "true"==a.getAttribute("isnow");this.updateShape_(a)},updateShape_:function(a){var b=this.getInput("EXTENDED");a?b&&this.removeInput("EXTENDED"):b||(a=new Blockly.FieldDropdown(MINUTES),b=new Blockly.FieldDropdown(MERIDIANS),this.appendDummyInput("EXTENDED").appendField(":").appendField(a,"MINUTE").appendField(b,"MERIDIAN"))}}; var HOURS_MAP={1:"parking.one()",2:"parking.two()",3:"parking.three()",4:"parking.four()",5:"parking.five()",6:"parking.six()",7:"parking.seven()",8:"parking.eight()",9:"parking.nine()",10:"parking.ten()",11:"parking.eleven()",12:"parking.twelve()",NOW:"parking.now()"},MINUTES_MAP={"00":"parking.exactly()",30:"parking.half()"},MERIDIANS_MAP={AM:"parking.am()",PM:"parking.pm()"},convertDate=function(a){a=a.slice(0,3).toLowerCase();switch(a){case "mon":return"Monday";case "tue":return"Tuesday";case "wed":return"Wednesday"; case "thu":return"Thursday";case "fri":return"Friday";case "sat":return"Saturday";case "sun":return"Sunday";default:return a}},convertMinute=function(a){return 10>a?"0"+a:""+a},equalityOperators=[["==","IS"],["<","BEFORE"],[">","AFTER"],["<=","BEFORE_EQUAL"],["=>","AFTER_EQUAL"],["!=","IS_NOT"]],equalityOperatorsConversions={IS:"parking.equal",BEFORE:"parking.before",AFTER:"parking.after",BEFORE_EQUAL:"parking.before_equal",AFTER_EQUAL:"parking.after_equal",IS_NOT:"parking.not_equal"}; Blockly.Blocks.datetime_check_day={init:function(){this.setColour(Blockly.Blocks.logic.HUE);this.setOutput(!0,"Boolean");this.appendValueInput("LEFT").setCheck("DatetimeDay").appendField(new Blockly.FieldDropdown(DAYS),"VALUE").appendField(new Blockly.FieldDropdown(equalityOperators),"OP");this.setInputsInline(!1)}}; Blockly.Blocks.datetime_check_time={init:function(){this.setColour(Blockly.Blocks.logic.HUE);this.setOutput(!0,"Boolean");this.appendValueInput("LEFT").setCheck("DatetimeTime").appendField(new Blockly.FieldDropdown(HOURS),"HOURS").appendField(":").appendField(new Blockly.FieldDropdown(MINUTES),"MINUTES").appendField(new Blockly.FieldDropdown(MERIDIANS),"MERIDIANS").appendField(new Blockly.FieldDropdown(equalityOperators),"OP")}};Blockly.Blocks.Platform={};Blockly.Blocks.Platform.HUE="#79bc53";Blockly.Blocks.Platform_import={init:function(){this.setColour(Blockly.Blocks.Platform.HUE);this.appendDummyInput().appendField(Blockly.Msg.PLATFORM_IMPORT);this.setPreviousStatement(!0);this.setNextStatement(!0)}};Blockly.Blocks.plot={};Blockly.Blocks.plot.HUE=20;Blockly.Blocks.plot_show={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(Blockly.Blocks.plot.HUE);this.appendDummyInput().appendField("show plot canvas");this.setInputsInline(!1);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setOutput(!1);this.setTooltip("Makes the canvas appear")}}; Blockly.Blocks.plot_scatter={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(Blockly.Blocks.plot.HUE);this.setPreviousStatement(!0);this.setNextStatement(!0);this.appendValueInput("x_values").appendField("plot scatter ").setCheck("Array");this.appendValueInput("y_values").appendField("vs. ").setCheck("Array");this.setInputsInline(!1);this.setOutput(!1);this.setTooltip("Plots onto the canvas")}}; var OPEN_QUOTE="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAYAAACALL/6AAAA0UlEQVQY023QP0oDURSF8e8MImhlUIiCjWKhrUUK3YCIVkq6bMAF2LkCa8ENWLoNS1sLEQKprMQ/GBDks3kDM+Oc8nfPfTxuANQTYBeYAvdJLL4FnAFfwF2ST9Rz27kp5YH/kwrYp50LdaXHAU4rYNYzWAdeenx7AbgF5sAhcARsAkkyVQ+ACbAKjIGqta4+l78udXxc/LiJG+qvet0pV+q7+tHE+iJzdbGz8FhmOzVcqj/qq7rcKI7Ut1Leq70C1oCrJMMk343HB8ADMEzyVOMff72l48gwfqkAAAAASUVORK5CYII=",CLOSED_QUOTE="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAYAAACALL/6AAAAvklEQVQY022PoapCQRRF97lBVDRYhBcEQcP1BwS/QLAqr7xitZn0HzRr8Rts+htmQdCqSbQIwmMZPMIw3lVmZu0zG44UAFSBLdBVBDAFZqFo8eYKtANfBC7AE5h8ZNOHd1FrDnh4VgmDO3ADkujDHPgHfkLZ84bfaLjg/hD6RFLq9z6wBDr+rvuZB1bAEDABY76pA2mGHyWSjvqmIemc4WsCLKOp4nssIj8wD8qS/iSVJK3N7OTeJPV9n72ZbV7iDuSc2BaQBQAAAABJRU5ErkJggg=="; Blockly.Blocks.plot_title={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(Blockly.Blocks.plot.HUE);this.appendDummyInput().appendField("make plot's title").appendField(this.newQuote_(!0)).appendField(new Blockly.FieldTextInput("title"),"TEXT").appendField(this.newQuote_(!1));this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setOutput(!1);this.setTooltip("Sets the plot's title")},newQuote_:function(a){return new Blockly.FieldImage(a==this.RTL? OPEN_QUOTE:CLOSED_QUOTE,12,12,'"')}}; Blockly.Blocks.plot_xlabel={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(Blockly.Blocks.plot.HUE);this.appendDummyInput().appendField("make plot's x-axis label").appendField(this.newQuote_(!0)).appendField(new Blockly.FieldTextInput("title"),"TEXT").appendField(this.newQuote_(!1));this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setOutput(!1);this.setTooltip("Sets the plot's x-axis title (horizontal axis)")},newQuote_:function(a){return new Blockly.FieldImage(a== this.RTL?OPEN_QUOTE:CLOSED_QUOTE,12,12,'"')}}; Blockly.Blocks.plot_ylabel={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(Blockly.Blocks.plot.HUE);this.appendDummyInput().appendField("make plot's y-axis label").appendField(this.newQuote_(!0)).appendField(new Blockly.FieldTextInput("title"),"TEXT").appendField(this.newQuote_(!1));this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setOutput(!1);this.setTooltip("Sets the plot's y-axis title (vertical axis)")},newQuote_:function(a){return new Blockly.FieldImage(a== this.RTL?OPEN_QUOTE:CLOSED_QUOTE,12,12,'"')}};Blockly.Blocks.plot_line={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(Blockly.Blocks.plot.HUE);this.setPreviousStatement(!0);this.setNextStatement(!0);this.appendValueInput("y_values").appendField("plot line ").setCheck("Array");this.setInputsInline(!1);this.setOutput(!1);this.setTooltip("Plots onto the canvas")}}; Blockly.Blocks.plot_hist={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(Blockly.Blocks.plot.HUE);this.setPreviousStatement(!0);this.setNextStatement(!0);this.appendValueInput("values").appendField("plot histogram ").setCheck("Array");this.setInputsInline(!1);this.setOutput(!1);this.setTooltip("Plots a histogram onto the canvas")}}; Blockly.Blocks.plot_lineXY={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(Blockly.Blocks.plot.HUE);this.setPreviousStatement(!0);this.setNextStatement(!0);this.appendValueInput("x_values").appendField("plot Xs:").setCheck("Array");this.appendValueInput("y_values").appendField("vs. Ys:").setCheck("Array");this.setInputsInline(!1);this.setOutput(!1);this.setTooltip("Plots onto the canvas")}};Blockly.Blocks.plot_legend={init:function(){this.setHelpUrl("http://www.example.com/");this.setColour(Blockly.Blocks.plot.HUE);this.appendDummyInput().appendField("make legend");this.setInputsInline(!1);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setOutput(!1);this.setTooltip("Makes the legend appear")}};Blockly.Blocks.procedures={};Blockly.Blocks.procedures.HUE=340; Blockly.Blocks.procedures_defnoreturn={init:function(){var a=new Blockly.FieldTextInput(Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE,Blockly.Procedures.rename);a.setSpellcheck(!1);this.setPreviousStatement(!0);this.setNextStatement(!0);this.appendDummyInput().appendField(Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(a,"NAME").appendField("","PARAMS");this.setMutator(new Blockly.Mutator(["procedures_mutatorarg"]));this.setColour(Blockly.Blocks.procedures.HUE);this.setTooltip(Blockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP); this.setHelpUrl(Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL);this.arguments_=[];this.setStatements_(!0);this.statementConnection_=null},setStatements_:function(a){this.hasStatements_!==a&&(a?(this.appendStatementInput("STACK").appendField(Blockly.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=a)},updateParams_:function(){for(var a=!1,b={},c=0;ca?this.setWarningText(Blockly.Msg.BASIC_LIGHT_WARNING,"light"):this.setWarningText(null,"light")},getBlockType:function(){return Blockly.Types.NUMBER}};Blockly.Blocks.basic101_dropdown_analog_light={init:function(){this.appendDummyInput().appendField(new Blockly.FieldDropdown([["3","3"],["5","5"],["6","6"]]),"SELECTPIN");this.setOutput(!0,Blockly.Types.NUMBER.output);this.setColour(Blockly.Blocks.io.HUE)},getBlockType:function(){return Blockly.Types.NUMBER}}; Blockly.Blocks.digital_light={init:function(){this.interpolate_(Blockly.Msg.BASIC_SETDIGITALLED,[{type:"input_value",name:"PINSNUM",check:Blockly.Types.NUMBER.checkList}]);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setColour(Blockly.Blocks.basic101.hue);this.setTooltip("");this.setHelpUrl("")}}; Blockly.Blocks.basic101_dropdown_digital_light={init:function(){this.appendDummyInput().appendField(new Blockly.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"]]),"SELECTPIN");this.setOutput(!0,Blockly.Types.NUMBER.output);this.setColour(Blockly.Blocks.io.HUE)},getBlockType:function(){return Blockly.Types.NUMBER}}; Blockly.Blocks.nolight={init:function(){this.interpolate_(Blockly.Msg.BASIC_NOLCD,[{type:"input_value",name:"PINSNUM",check:Blockly.Types.NUMBER.checkList}]);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setColour(Blockly.Blocks.basic101.hue);this.setTooltip();this.setHelpUrl("")}}; Blockly.Blocks.basic101_dropdown_nolight={init:function(){this.appendDummyInput().appendField(new Blockly.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"]]),"SELECTPIN");this.setOutput(!0,Blockly.Types.NUMBER.output);this.setColour(Blockly.Blocks.io.HUE)},getBlockType:function(){return Blockly.Types.NUMBER}}; Blockly.Blocks.tone={init:function(){this.interpolate_(Blockly.Msg.BASIC_SETTONE,[{type:"input_value",name:"PINSNUM",check:Blockly.Types.NUMBER.checkList},{type:"input_value",name:"FREQUENCY",check:Blockly.Types.NUMBER.checkList}]);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setColour(Blockly.Blocks.basic101.hue);this.setTooltip(Blockly.Msg.BASIC_TONE_TIP);this.setHelpUrl("https://www.arduino.cc/en/Reference/tone")},onchange:function(){var a=Blockly.Python.valueToCode(this, "FREQUENCY",Blockly.Python.ORDER_ATOMIC);31>a||65535a||65535a||255this.getFieldValue("month")&&this.setFieldValue("1","month");31this.getFieldValue("day")&& this.setFieldValue("1","day");24this.getFieldValue("hour")&&this.setFieldValue("1","hour");60this.getFieldValue("minute")&&this.setFieldValue("1","minute");60this.getFieldValue("second")&&this.setFieldValue("1","second")}}; Blockly.Blocks.RTC_getDate={init:function(){this.appendDummyInput().appendField(Blockly.Msg.RTC_GETDATE).appendField(new Blockly.FieldDropdown([[Blockly.Msg.RTC_YEAR,"year"],[Blockly.Msg.RTC_MONTH,"month"],[Blockly.Msg.RTC_DAY,"day"]]),"date_detail");this.setColour(340);this.setOutput(!0,Blockly.Types.TEXT.output);this.setTooltip("");this.setHelpUrl("")},getBlockType:function(){return Blockly.Types.TEXT}}; Blockly.Blocks.RTC_getTime={init:function(){this.appendDummyInput().appendField(Blockly.Msg.RTC_GETTIME).appendField(new Blockly.FieldDropdown([[Blockly.Msg.RTC_HOUR,"hour"],[Blockly.Msg.RTC_MINUTE,"minute"],[Blockly.Msg.RTC_SECOND,"second"]]),"time_detail");this.setColour(340);this.setOutput(!0,Blockly.Types.TEXT.output);this.setTooltip("");this.setHelpUrl("")},getBlockType:function(){return Blockly.Types.TEXT}}; Blockly.Blocks.RTC_getWeek={init:function(){this.appendDummyInput().appendField(Blockly.Msg.RTC_GETWEEK);this.setColour(340);this.setOutput(!0,Blockly.Types.TEXT.output);this.setTooltip("");this.setHelpUrl("")},getBlockType:function(){return Blockly.Types.TEXT}}; Blockly.Blocks.PulseSensor_setup={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/sensors-heart_beat.png",50,40,"0"));this.appendDummyInput().appendField(Blockly.Msg.PULSESENSOR_SETUP);this.appendDummyInput().appendField(Blockly.Msg.PULSESENSOR_SETUP_1).appendField(new Blockly.FieldDropdown(Blockly.Python.Boards.selected.analogPins),"PIN");this.setColour(360);this.setTooltip("");this.setHelpUrl("")}}; Blockly.Blocks.PulseSensor_getBPM={init:function(){this.appendDummyInput().appendField(Blockly.Msg.PULSESENSOR_GETBPM);this.setOutput(!0,Blockly.Types.NUMBER.output);this.setColour(360);this.setTooltip("");this.setHelpUrl("")},getBlockType:function(){return Blockly.Types.NUMBER}}; Blockly.Blocks.PulseSensor_Heart_Beats={init:function(){this.appendDummyInput().appendField(Blockly.Msg.PULSESENSOR_HEARTBEAT_WHEN);this.setOutput(!0,Blockly.Types.BOOLEAN.output);this.setColour(360);this.setTooltip("");this.setHelpUrl("")},getBlockType:function(){return Blockly.Types.BOOLEAN}}; Blockly.Blocks.PulseSensor_Heart_noBeats={init:function(){this.appendDummyInput().appendField(Blockly.Msg.PULSESENSOR_HEARTBEAT_WHENNO);this.setOutput(!0,Blockly.Types.BOOLEAN.output);this.setColour(360);this.setTooltip("");this.setHelpUrl("")},getBlockType:function(){return Blockly.Types.BOOLEANs}}; Blockly.Blocks.PulseSensor_print={init:function(){this.appendDummyInput().appendField(Blockly.Msg.PULSESENSOR_HEARTBEAT_PRINT);this.setPreviousStatement(!0,null);this.setNextStatement(!0,null);this.setColour(360);this.setTooltip("");this.setHelpUrl("")}}; Blockly.Blocks.Encoder_Setup={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/sensors-encoder.png",50,40,"0"));this.appendDummyInput().appendField(Blockly.Msg.ENCODER_SETUP);this.appendDummyInput().appendField(Blockly.Msg.ENCODER_SETUP_1).appendField(new Blockly.FieldDropdown([["2","2"],["3","3"]]),"PIN");this.setColour(260);this.setTooltip("");this.setHelpUrl("")}}; Blockly.Blocks.Encoder_getRotationSpeed={init:function(){this.appendDummyInput().appendField(Blockly.Msg.ENCODER_GETROTATIONSPEED);this.setOutput(!0);this.setColour(260);this.setTooltip("");this.setHelpUrl("")},getBlockType:function(){return Blockly.Types.identifyNumber("1")}}; Blockly.Blocks.RFID_Setup={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/sensors-rfid.png",50,40,"0"));this.appendDummyInput().appendField(Blockly.Msg.RFID_SETUP);this.setColour(230);this.setTooltip("");this.setHelpUrl("")}};Blockly.Blocks.RFID_ReadID={init:function(){this.appendDummyInput().appendField(Blockly.Msg.RFID_READID);this.setOutput(!0,Blockly.Types.TEXT.output);this.setColour(230);this.setTooltip("");this.setHelpUrl("")},getBlockType:function(){return Blockly.Types.TEXT}}; Blockly.Blocks.GPS_setup={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/gps_header.png",50,40,"0"));this.appendDummyInput().appendField(Blockly.Msg.GPS_SETUP);this.setColour(210);this.setTooltip("");this.setHelpUrl("")}};Blockly.Blocks.GPS_getLatitude={init:function(){this.appendDummyInput().appendField(Blockly.Msg.GPS_LATITUDE);this.setOutput(!0,Blockly.Types.TEXT.output);this.setColour(210);this.setTooltip("");this.setHelpUrl("")},getBlockType:function(){return Blockly.Types.TEXT}}; Blockly.Blocks.GPS_getLongitude={init:function(){this.appendDummyInput().appendField(Blockly.Msg.GPS_LONGITUDE);this.setOutput(!0,Blockly.Types.TEXT.output);this.setColour(210);this.setTooltip("");this.setHelpUrl("")},getBlockType:function(){return Blockly.Types.TEXT}}; Blockly.Blocks.water_temp_sensor_setup={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/water-temp-sensor-setup.png",70,60,"*"));this.appendDummyInput().appendField(Blockly.Msg.WATERTEMP_SETUP_BLOCKNAME);this.appendDummyInput().appendField(Blockly.Msg.WATERTEMP_SETUP_SENSORTYPE).appendField(new Blockly.FieldDropdown([["DS18S20","water_temp_sensor_setup_"]]),"water_temp_sensor_setup_dropdown").appendField(Blockly.Msg.WATERTEMP_SETUP_SETUP);this.appendDummyInput().appendField(Blockly.Msg.WATERTEMP_SETUP_ATTACHED_PIN).appendField(new Blockly.FieldNumber(3, 0,13,1),"water_temp_sensor_setup_pin");this.setColour(0);this.setTooltip("");this.setHelpUrl("")}};Blockly.Blocks.water_temp_sensor_get_value={init:function(){this.appendDummyInput().appendField(Blockly.Msg.WATERTEMP_GET_TEMP);this.setOutput(!0,Blockly.Types.DECIMAL.output);this.setColour(0);this.setTooltip("");this.setHelpUrl("")},getBlockType:function(){return Blockly.Types.DECIMAL}}; Blockly.Blocks.thirdparty_co2_sensor_setup={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/third-party_co2_header.png",180,50,{alt:"*",flipRtl:"FALSE"}));this.appendDummyInput().appendField(Blockly.Msg.CO2SENSOR_SETUP);this.appendDummyInput().appendField(Blockly.Msg.CO2SENSOR_SETUP_SDA).appendField(new Blockly.FieldDropdown([["D2","D2"]]),"thirdparty_co2_sensor_setup_sdapin").appendField(Blockly.Msg.CO2SENSOR_SETUP_SCL).appendField(new Blockly.FieldDropdown([["D3", "D3"]]),"thirdparty_co2_sensor_setup_sclpin");this.setColour(330);this.setTooltip("");this.setHelpUrl("https://help.cocorobo.cn/")}};Blockly.Blocks.thirdparty_co2_sensor_get_co2={init:function(){this.appendDummyInput().appendField(Blockly.Msg.CO2SENSOR_GET_CO2);this.setOutput(!0,null);this.setColour(330);this.setTooltip("");this.setHelpUrl("https://help.cocorobo.cn/")}}; Blockly.Blocks.thirdparty_co2_sensor_get_tvoc={init:function(){this.appendDummyInput().appendField(Blockly.Msg.CO2SENSOR_GET_TVOC);this.setOutput(!0,null);this.setColour(330);this.setTooltip("");this.setHelpUrl("https://help.cocorobo.cn/")}}; Blockly.Blocks.thirdparty_nrf24l01_setup={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/third-party_nrf-sensor.png",130,50,{alt:"*",flipRtl:"FALSE"}));this.appendDummyInput().appendField(Blockly.Msg.NRFMODULE_SETUP_TITLE);this.appendDummyInput().appendField(Blockly.Msg.NRFMODULE_SETUP_CE_TEXT).appendField(new Blockly.FieldDropdown([["D7","d7"]]),"thirdparty_nrf24l01_setup_dropdown_cepin").appendField(Blockly.Msg.NRFMODULE_SETUP_CSN_TEXT).appendField(new Blockly.FieldDropdown([["D5", "d5"]]),"thirdparty_nrf24l01_setup_dropdown_csnpin");this.appendDummyInput().appendField(Blockly.Msg.NRFMODULE_SETUP_SET_ADDRESS).appendField(new Blockly.FieldTextInput("00001"),"thirdparty_nrf24l01_setup_addr");this.setColour(230);this.setTooltip("");this.setHelpUrl("")}}; Blockly.Blocks.thirdparty_nrf24l01_send_data={init:function(){this.appendDummyInput().appendField(Blockly.Msg.NRFMODULE_SEND_DATA_TITLE);this.appendDummyInput().appendField(Blockly.Msg.NRFMODULE_SEND_DATA_DATA_TEXT).appendField(new Blockly.FieldTextInput("Hello World"),"thirdparty_nrf24l01_send_data_data");this.setPreviousStatement(!0,null);this.setNextStatement(!0,null);this.setColour(230);this.setTooltip("");this.setHelpUrl("")}}; Blockly.Blocks.thirdparty_nrf24l01_receive_data={init:function(){this.appendDummyInput().appendField(Blockly.Msg.NRFMODULE_RECEIVING_DATA_TEXT);this.setPreviousStatement(!0,null);this.setNextStatement(!0,null);this.setColour(230);this.setTooltip("");this.setHelpUrl("")}};Blockly.Blocks.thirdparty_nrf24l01_data_received={init:function(){this.appendDummyInput().appendField(Blockly.Msg.NRFMODULE_GET_RECEIVED_DATA);this.setOutput(!0,null);this.setColour(230);this.setTooltip("");this.setHelpUrl("")}};Blockly.Blocks.time={};Blockly.Blocks.time.HUE=50;Blockly.Blocks.time_delay={init:function(){this.setHelpUrl("http://arduino.cc/en/Reference/Delay");this.setColour(Blockly.Blocks.time.HUE);this.appendValueInput("DELAY_TIME_MILI").setCheck(Blockly.Types.NUMBER.checkList).appendField(Blockly.Msg.ARD_TIME_DELAY);this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_MS);this.setInputsInline(!0);this.setPreviousStatement(!0,null);this.setNextStatement(!0,null);this.setTooltip(Blockly.Msg.ARD_TIME_DELAY_TIP)}}; Blockly.Blocks.time_delaymicros={init:function(){this.setHelpUrl("http://arduino.cc/en/Reference/DelayMicroseconds");this.setColour(Blockly.Blocks.time.HUE);this.appendValueInput("DELAY_TIME_MICRO").setCheck(Blockly.Types.NUMBER.checkList).appendField(Blockly.Msg.ARD_TIME_DELAY);this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_DELAY_MICROS);this.setInputsInline(!0);this.setPreviousStatement(!0,null);this.setNextStatement(!0,null);this.setTooltip(Blockly.Msg.ARD_TIME_DELAY_MICRO_TIP)}}; Blockly.Blocks.time_millis={init:function(){this.setHelpUrl("http://arduino.cc/en/Reference/Millis");this.setColour(Blockly.Blocks.time.HUE);this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_MILLIS);this.setOutput(!0,Blockly.Types.LARGE_NUMBER.output);this.setTooltip(Blockly.Msg.ARD_TIME_MILLIS_TIP)},getBlockType:function(){return Blockly.Types.LARGE_NUMBER}}; Blockly.Blocks.time_micros={init:function(){this.setHelpUrl("http://arduino.cc/en/Reference/Micros");this.setColour(Blockly.Blocks.time.HUE);this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_MICROS);this.setOutput(!0,Blockly.Types.LARGE_NUMBER.output);this.setTooltip(Blockly.Msg.ARD_TIME_MICROS_TIP)},getBlockType:function(){return Blockly.Types.LARGE_NUMBER}}; Blockly.Blocks.infinite_loop={init:function(){this.setHelpUrl("");this.setColour(Blockly.Blocks.time.HUE);this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_INF);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setTooltip(Blockly.Msg.ARD_TIME_INF_TIP)}}; Blockly.Blocks.time_chrono_setup={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/stopwatch-header.png",40,40,"0"));this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_CHRONO_SETUP);this.setHelpUrl("");this.setColour("#eeaf3c");this.setTooltip(Blockly.Msg.ARD_TIME_INF_TIP)}}; Blockly.Blocks.time_chrono_reset={init:function(){this.setHelpUrl("");this.setColour("#eeaf3c");this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_CHRONO_RESET);this.setPreviousStatement(!0,null);this.setNextStatement(!0,null);this.setTooltip("")}};Blockly.Blocks.time_chrono_elapsed={init:function(){this.setHelpUrl("");this.setColour("#eeaf3c");this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_CHRONO_ELAPSED);this.setOutput(!0);this.setTooltip("")}}; Blockly.Blocks.time_chrono_timeCheck={init:function(){this.setHelpUrl("");this.setColour("#eeaf3c");this.appendValueInput("TIME").appendField(Blockly.Msg.ARD_TIME_CHRONO_CHECK);this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_CHRONO_CHECK1);this.setInputsInline(!0);this.setOutput(!0);this.setTooltip("")}}; Blockly.Blocks.time_everySecond={init:function(){this.setColour(Blockly.Blocks.time.HUE);this.appendValueInput("TIME").appendField(Blockly.Msg.ARD_TIME_EVERY);this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_SECOND);this.appendStatementInput("STACK").appendField(Blockly.Msg.ARD_TIME_DO);this.setPreviousStatement(!0);this.setNextStatement(!0)}}; Blockly.Blocks.time_everyMilliSecond={init:function(){this.setColour(Blockly.Blocks.time.HUE);this.appendValueInput("TIME").appendField(Blockly.Msg.ARD_TIME_EVERY_MS);this.appendDummyInput().appendField(Blockly.Msg.ARD_TIME_SECOND_MS);this.appendStatementInput("STACK").appendField(Blockly.Msg.ARD_TIME_DO_MS);this.setPreviousStatement(!0);this.setNextStatement(!0)}};Blockly.Blocks.touch={};Blockly.Blocks.servo.HUE=225;Blockly.Blocks.touch_setup={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/main-touch.png",50,40,"15"));this.appendDummyInput().appendField(Blockly.Msg.TOUCH_SETUP);this.setColour(Blockly.Blocks.servo.HUE);this.setTooltip("");this.setHelpUrl("")}}; Blockly.Blocks.touch_keyboardset={init:function(){this.appendDummyInput("CASE0").appendField(Blockly.Msg.TOUCH_SWITCH);this.appendDummyInput().setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.TOUCH_CASE).appendField(new Blockly.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]]),"keyboard0");this.appendStatementInput("DO0").setCheck(null).appendField(Blockly.Msg.TOUCH_DO);this.setPreviousStatement(!0,null); this.setNextStatement(!0,null);this.setColour(Blockly.Blocks.servo.HUE);this.setTooltip("");this.setHelpUrl("");this.setMutator(new Blockly.Mutator(["mod_touch_case"]));this.defaultCount_=this.caseCount_=0;this.updateShape_()},getTouchMatchInstance:function(){return!0},mutationToDom:function(){if(!this.caseCount_)return null;var a=document.createElement("mutation");this.caseCount_&&a.setAttribute("case",this.caseCount_);return a},domToMutation:function(a){this.caseCount_=parseInt(a.getAttribute("case"), 10)||0;this.updateShape_()},decompose:function(a){var b=a.newBlock("mod_touch_statement");b.initSvg();for(var c=b.nextConnection,e=1;e<=this.caseCount_;e++){var d=a.newBlock("mod_touch_case");d.initSvg();c.connect(d.previousConnection);c=d.nextConnection}return b},compose:function(a){var b=a.nextConnection.targetBlock();this.caseCount_=0;var c=[null];for(a=[null];b;){switch(b.type){case "mod_touch_case":this.caseCount_++;c.push(b.valueConnection_);a.push(b.statementConnection_);break;default:throw"Unknown block type."; }b=b.nextConnection&&b.nextConnection.targetBlock()}this.updateShape_();for(b=1;b<=this.caseCount_;b++)Blockly.Mutator.reconnect(a[b],this,"DO"+b)},saveConnections:function(a){a=a.nextConnection.targetBlock();for(var b=1;a;){switch(a.type){case "mod_touch_case":this.getInput("CASE"+b);this.getFieldValue("keyboard"+b);var c=this.getInput("DO"+b);a.statementConnection_=c&&c.connection.targetConnection;b++;break;default:throw"Unknown block type.";}a=a.nextConnection&&a.nextConnection.targetBlock()}}, updateShape_:function(){for(var a=1;a<=this.caseCount_;a++)this.getInput("CASE"+a)||(this.appendDummyInput("CASE"+a).setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.TOUCH_CASE).appendField(new Blockly.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]]),"keyboard"+a),this.appendStatementInput("DO"+a).appendField(Blockly.Msg.TOUCH_DO).setCheck(null));for(;this.getInput("CASE"+a);)this.removeInput("CASE"+a), this.removeInput("DO"+a),a++}}; Blockly.Blocks.touch_keyboardset_loose={init:function(){this.appendDummyInput().appendField(Blockly.Msg.TOUCH_THEN_LOOSE_SWITCH);this.appendDummyInput("CASE0").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.TOUCH_CASE).appendField(new Blockly.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]]),"keyboard0");this.appendStatementInput("DO0").setCheck(null).appendField(Blockly.Msg.TOUCH_DO);this.setPreviousStatement(!0, null);this.setNextStatement(!0,null);this.setColour(Blockly.Blocks.servo.HUE);this.setTooltip("");this.setHelpUrl("");this.setMutator(new Blockly.Mutator(["mod_touch_case"]));this.defaultCount_=this.caseCount_=0;this.updateShape_()},getLooseMatchInstance:function(){return!0},mutationToDom:function(){if(!this.caseCount_)return null;var a=document.createElement("mutation");this.caseCount_&&a.setAttribute("case",this.caseCount_);return a},domToMutation:function(a){this.caseCount_=parseInt(a.getAttribute("case"), 10)||0;this.updateShape_()},decompose:function(a){var b=a.newBlock("mod_touch_statement");b.initSvg();for(var c=b.nextConnection,e=1;e<=this.caseCount_;e++){var d=a.newBlock("mod_touch_case");d.initSvg();c.connect(d.previousConnection);c=d.nextConnection}return b},compose:function(a){var b=a.nextConnection.targetBlock();this.caseCount_=0;for(a=[null];b;){switch(b.type){case "mod_touch_case":this.caseCount_++;a.push(b.statementConnection_);break;default:throw"Unknown block type.";}b=b.nextConnection&& b.nextConnection.targetBlock()}this.updateShape_();for(b=1;b<=this.caseCount_;b++)Blockly.Mutator.reconnect(a[b],this,"DO"+b)},saveConnections:function(a){a=a.nextConnection.targetBlock();for(var b=1;a;){switch(a.type){case "mod_touch_case":this.getInput("CASE"+b);this.getFieldValue("keyboard"+b);var c=this.getInput("DO"+b);a.statementConnection_=c&&c.connection.targetConnection;b++;break;default:throw"Unknown block type.";}a=a.nextConnection&&a.nextConnection.targetBlock()}},updateShape_:function(){for(var a= 1;a<=this.caseCount_;a++)this.getInput("CASE"+a)||(this.appendDummyInput("CASE"+a).setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.TOUCH_CASE).appendField(new Blockly.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]]),"keyboard"+a),this.appendStatementInput("DO"+a).appendField(Blockly.Msg.TOUCH_DO).setCheck(null));for(;this.getInput("CASE"+a);)this.removeInput("CASE"+a),this.removeInput("DO"+a),a++}}; Blockly.Blocks.mod_touch_statement={init:function(){this.setColour(Blockly.Blocks.servo.HUE);this.appendDummyInput().setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.TOUCH_SWITCH);this.setNextStatement(!0);this.contextMenu=!1}};Blockly.Blocks.mod_touch_case={init:function(){this.setColour(Blockly.Blocks.servo.HUE);this.appendDummyInput().setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.TOUCH_CASE);this.setPreviousStatement(!0);this.setNextStatement(!0);this.contextMenu=!1}}; Blockly.Blocks.touch_setup_1={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/main-touch.png",50,40,"15"));this.appendDummyInput().appendField(Blockly.Msg.TOUCH_SETUP);this.setColour(Blockly.Blocks.servo.HUE);this.setTooltip("");this.setHelpUrl("")}}; Blockly.Blocks.touch_each={init:function(){this.appendDummyInput().appendField(Blockly.Msg.TOUCH_AT).appendField(new Blockly.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]]),"keyboard");this.appendStatementInput("DO0").appendField(Blockly.Msg.TOUCH_DO);this.appendDummyInput().appendField(Blockly.Msg.TOUCH_LOOSE);this.appendStatementInput("DO1").appendField(Blockly.Msg.TOUCH_DO);this.setPreviousStatement(!0); this.setNextStatement(!0);this.setColour(Blockly.Blocks.servo.HUE)}};Blockly.Blocks.variables.HUE=20; Blockly.Blocks.variables_set_type={init:function(){this.setHelpUrl("http://arduino.cc/en/Reference/HomePage");this.appendValueInput("VARIABLE_SETTYPE_INPUT");this.appendDummyInput().appendField(Blockly.Msg.ARD_VAR_AS).appendField(new Blockly.FieldDropdown(Blockly.Types.getValidTypeArray()),"VARIABLE_SETTYPE_TYPE");this.setInputsInline(!0);this.setOutput(!0);this.setTooltip(Blockly.Msg.ARD_VAR_AS_TIP);this.setColour(30)},getBlockType:function(){var a=this.getFieldValue("VARIABLE_SETTYPE_TYPE");return Blockly.Types[a]}};Blockly.Blocks.webpage={};Blockly.Blocks.webpage.HUE="#f28821"; Blockly.Blocks.webpage_label={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/label_header-image.png",50,50,"*"));this.appendDummyInput().appendField(Blockly.Msg.WEBPAGE_LABLE_TITLE);this.appendValueInput("ADD0").appendField(Blockly.Msg.WEBPAGE_LABLE).appendField(new Blockly.FieldTextInput("label0"),"LABLE0");this.setPreviousStatement(!0,null);this.setNextStatement(!0,null);this.setColour(Blockly.Blocks.webpage.HUE);this.setTooltip("");this.setHelpUrl(""); this.itemCount_=1;this.setMutator(new Blockly.Mutator(["webpage_create_with_item"]))},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("items",this.itemCount_);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute("items"),10);this.updateShape_()},decompose:function(a){var b=a.newBlock("webpage_create_with_container");b.initSvg();for(var c=b.getInput("STACK").connection,e=0;ea?this.setWarningText(Blockly.Msg.WIFINETWORK_PW_WARN,"network_pw"):this.setWarningText(null,"network_pw"):0==a&&0==a&&this.setFieldValue("cocorobo","PW")}}; Blockly.Blocks.wifiNetwork_getLocalIp={init:function(){this.appendDummyInput().appendField(Blockly.Msg.WIFINETWORK_GETLOCALIP);this.setColour(Blockly.Blocks.wifinetwork.HUE);this.setOutput(!0,Blockly.Types.TEXT.output);this.setTooltip("");this.setHelpUrl("")}}; Blockly.Blocks.wifiNetwork_isConnected={init:function(){this.appendDummyInput().appendField(Blockly.Msg.WIFINETWORK_ISCONNECTED);this.setColour(Blockly.Blocks.wifinetwork.HUE);this.setOutput(!0,Blockly.Types.BOOLEAN.output);this.setTooltip("");this.setHelpUrl("")}};Blockly.Blocks.wifiNetwork_getStationNum={init:function(){this.appendDummyInput().appendField(Blockly.Msg.WIFINETWORK_GETSTATIONNUM);this.setColour(Blockly.Blocks.wifinetwork.HUE);this.setOutput(!0);this.setTooltip("");this.setHelpUrl("")}};Blockly.Blocks.wifiserver={};Blockly.Blocks.wifiserver.HUE="#293278";Blockly.Blocks.wifiServer_setup={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/wifi_server.png",40,40,"15"));this.appendDummyInput().appendField(Blockly.Msg.WIFISERVER_SETUP);this.setColour(Blockly.Blocks.wifiserver.HUE);this.setTooltip("");this.setHelpUrl("")}}; Blockly.Blocks.wifiServer_setRootPage={init:function(){this.appendDummyInput().appendField(Blockly.Msg.WIFISERVER_SETROUTER);this.appendDummyInput().appendField(Blockly.Msg.WIFISERVER_SETROOTPAGE);this.appendStatementInput("STATEMENT0");this.setColour(Blockly.Blocks.wifiserver.HUE);this.setTooltip("");this.setHelpUrl("")}}; Blockly.Blocks.wifiServer_setRouter={init:function(){this.appendDummyInput().appendField(Blockly.Msg.WIFISERVER_SETROUTER);this.appendDummyInput("ADD0").appendField(Blockly.Msg.WIFISERVER_SETROUTER_SET).appendField(new Blockly.FieldTextInput("/"),"URL0");this.appendStatementInput("STATEMENT0").appendField(Blockly.Msg.WIFISERVER_SETROUTER_WITH);this.itemCount_=1;this.setMutator(new Blockly.Mutator(["ServerRouter_create_with_item"]));this.setColour(Blockly.Blocks.wifiserver.HUE);this.setPreviousStatement(!0); this.setNextStatement(!0);this.setTooltip("");this.setHelpUrl("")},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("items",this.itemCount_);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute("items"),10);this.updateShape_()},decompose:function(a){var b=a.newBlock("ServerRouter_create_with_container");b.initSvg();for(var c=b.getInput("STACK").connection,e=0;ea;a++)this.getInput("data"+a)||this.appendValueInput("data"+a).appendField(" "+Blockly.Msg.WIFIEASYMODE_IFTTT_SENDDATA+a);this.onChange();this.setColour(Blockly.Blocks.wifiwebservices.HUE);this.setPreviousStatement(!0,null);this.setNextStatement(!0,null); this.setTooltip("");this.setHelpUrl("")},getType:function(){switch(this.getFieldValue("TYPE")){case "Action":return 1;case "Trigger":return 2;default:return 0}},onChange:function(){if(1==this.getType())for(var a=0;3>a;a++)this.getInput("data"+a)||this.appendValueInput("data"+a).appendField(" "+Blockly.Msg.WIFIEASYMODE_IFTTT_SENDDATA+a);else if(2==this.getType()){a=0;for(var b;this.getInput("data"+a);)(b=this.getInputTargetBlock("data"+a))&&b.dispose(!0,!0),this.removeInput("data"+a),a++}}}; Blockly.Blocks.wifiServices_thingspeak={init:function(){this.appendDummyInput().appendField(new Blockly.FieldImage("./../blockly/media/blockly-easymode_thingspeak.png",180,40,"0"));this.appendDummyInput().appendField(" "+Blockly.Msg.WIFIEASYMODE_THINGSPEAK_APIKEY);this.appendDummyInput().appendField(" ").appendField(new Blockly.FieldTextInput("bAssF9YJ_7oZP1k4et_IUx"),"API_KEY");this.appendDummyInput().appendField(" "+Blockly.Msg.WIFIEASYMODE_THINGSPEAK_SENDDATA);this.itemCount_=1;this.updateShape_(); this.setMutator(new Blockly.Mutator(["thingspeakEM_create_with_item"]));this.setColour(Blockly.Blocks.wifiwebservices.HUE);this.setPreviousStatement(!0,null);this.setNextStatement(!0,null);this.setTooltip("");this.setHelpUrl("")},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("items",this.itemCount_);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute("items"),10);this.updateShape_()},decompose:function(a){var b=a.newBlock("thingspeakEM_create_with_container"); b.initSvg();for(var c=b.getInput("STACK").connection,e=0;e